从一个页面获取html内容并将其添加到我的网站

时间:2012-04-08 21:12:46

标签: html url

我已经加入了expedia,我正在使用他们的API系统。他们启动网站的要求之一是在我的网页上添加条款和协议,他们会向我们提供此页面:http://travel.ian.com/index.jsp?pageName=userAgreement&locale=en_US&cid=xxx。我不想去其他网站,因为更新,我无法复制和粘贴信息。我也不想使用iframe。有没有人对如何做到这一点有任何想法?以下是在其网站上使用此网站的网页:http://www.helloweekends.com/terms.htm。有谁知道他们是怎么做到的?任何帮助将不胜感激!

3 个答案:

答案 0 :(得分:1)

由于它来自另一个域,由于same origin policy,因此无法使用JavaScript。此外,依赖JavaScript进行更新对于禁用JavaScript的用户来说会很麻烦,因为他们看不到这些条款。由于您不想使用iframe或复制内容,我猜您最好的方法是使用您选择的服务器端语言来抓取其页面,然后将其显示在您的页面上。

如果依靠他们的标记,刮痧可能有点棘手。如果他们更改了标记,您的脚本可能会中断,从而停止更新这些条款。

有关于如何抓取网站的各种教程。以下是一些PHP示例:

  1. Web scrape with PHP
  2. PHP Screen Scraping Tutorial
  3. 注意请确保它们允许您在实施页面之前抓取页面,这样您就不会违反其规则。

答案 1 :(得分:0)

你知道他们的API是否与JSON有关吗? JSONP调用可以为您获取值,但它会使您的页面依赖于javascript,以便用户查看更新的页面。

另一种选择是使用任何其他服务器端语言的PHP来获取url的内容,处理它并返回所需的块。

答案 2 :(得分:0)

我会建议load() function offered by jQuery。它进行简单的AJAX调用来检索文件,甚至可以使用选择器来抓取部分页面。例如,将HTML页面的内容加载到div:

$('#div_id').load('my_file.html');

或者只是加载页面的一部分:

$('#div_id').load('my_file.html #main_text_id');