-6

示例:当 url 为http://www.google.com

我知道,如何获取内容以及如何通过file_get_contentsorcurl方法解析它。

所以,我的问题是:如何获取内容并解析该网页的源文件。

例如:查看源:http ://www.google.com

当我尝试解析上述源文件时,我发现最初没有加载文件内容进行解析。

所以我需要帮助,

如何加载view-source:http://www.google.com页面内容。

4

3 回答 3

2

file_get_contents并且view-source在 chrome 浏览器中应该返回相同的东西 - 页面的HTML代码。如果您试图获取该 HTML 背后的代码(PHP、.net 等...) - 您不能。

view-source正在向您显示与or返回的代码完全相同的内容,并且它仅是 Chrome 浏览器中的一项功能 - 它不是有效的 URL 地址方案。cUrlfile_get_contents

于 2012-10-18T08:13:22.130 回答
2

您写道:“例如:查看源代码:http ://www.google.com

当我试图解析上面的源文件时,我发现文件内容没有被加载”

这就是问题所在:view-source:是 chrome 的一个特性——不是一个有效的 url。这就是内容不被加载的原因。php 函数需要一个有效的 url:http ://www.google.com ,它可以从中加载源代码。

于 2012-10-18T08:13:25.547 回答
2

您通过 file_get_contents("http://www.google.com"); 获取网页内容 不是 file_get_contents("view-source: http://www.google.com ");

然后你解析它:

$html = file_get_contents("http://www.google.com");
$doc = new DOMDocument();
$doc->loadHTML($html);

如果 php DOM API 无法解析,你可以试试 PHP Simple HTML DOM Parser。http://simplehtmldom.sourceforge.net/

于 2012-10-18T08:19:49.617 回答