1

是否可以使用 PHP cURL、HTML DOM 解析器或任何其他方法提取远程 HTML 页面的一部分,并将其打印到另一个页面上,保留原始格式样式、图像、选项卡功能?例如,如何从http://ru.yahoo.com/提取中心列的内容(带有制表符和格式,保留原始文本的外观) ?

据我了解,脚本应该处理外部 CSS,以便返回的内容与原始内容具有相同的外观。如果可能的话,什么是最合适的方式?如果是的话,一个例子将不胜感激。我查看了几个示例,但没有找到适合我的案例的任何解决方案。

4

1 回答 1

2

好吧,如果我必须快速完成(阅读:非常脏),我会这样做,我认为:

  1. 使用标准 PHP 从远程服务器拉取 HTML
  2. 使用您从其他站点窃取的 HTML,并在底部添加您自己的 HTML。
  3. 还添加您自己的 CSS 以隐藏您不希望显示的其他网站的 html,并设置您自己的 html 样式。

小提琴直到它看起来足够好。但是:我认为由于相同的域策略,这会破坏外部 JS 文件的加载。

一个不错的方法是:

  1. 使用标准 PHP 从远程服务器拉取 HTML
  2. 使用一些 PHP HTML 解析器解析 HTML 并删除所有外部 CSS 和 JS 文件并拉取这些文件。
  3. 使用 XPath 提取您需要的部分。
  4. 使用您自己的 HTML、您需要的部分、新下载的 CSS 和 JS 文件的新链接创建一个新的 HTML 文档。还可以添加您自己的 CSS 和 JS 来设置结果样式。

您知道:RSS 就是为此而发明的,如果他们不提供 RSS 提要,他们很可能不希望您获取内容并将其发布在您自己的网站上。:P

于 2012-04-15T21:00:11.613 回答