提取HTML页面的一部分

时间:2012-04-15 20:48:44

标签: php css html-parsing

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

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

1 个答案:

答案 0 :(得分:2)

好吧,如果我必须快速做(读:非常脏)我会这样做,我想:

  1. 使用标准PHP
  2. 从远程服务器中提取HTML
  3. 使用 stole 从其他网站获取的HTML,并在底部添加您自己的HTML。
  4. 还要添加自己的CSS来隐藏您不希望看到的其他网站的html并设置自己的html样式。
  5. 小提琴直到看起来还不错。但是:我认为这会破坏外部JS文件的加载,因为域策略相同。

    一个很好的方法是:

    1. 使用标准PHP
    2. 从远程服务器中提取HTML
    3. 使用一些PHP HTML解析器解析HTML并删除所有外部CSS和JS文件并同时提取这些文件。
    4. 使用XPath提取所需的部分。
    5. 使用您自己的HTML,您需要的部件,新下载的CSS和JS文件的新链接创建一个新的HTML文档。还要添加自己的CSS和JS来设置结果样式。
    6. 你知道:RSS是为此而发明的,如果他们不提供RSS提要,他们很可能不希望你获取内容并将其发布在你自己的网站上。 :P