如何获取任何源文件的内容

时间:2012-10-18 08:03:17

标签: php parsing curl

示例:当网址为http://www.google.com

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

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

例如:view-source:http://www.google.com

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

所以我需要帮助,

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

3 个答案:

答案 0 :(得分:2)

Chrome浏览器中的

file_get_contentsview-source应该返回相同的内容 - 页面的 HTML 代码。如果您正试图获取HTML背后的代码(PHP,.net等等) - 您不能。

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

答案 1 :(得分:2)

你写道: “例如:view-source:http://www.google.com

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

问题在于:view-source:是Chrome的一项功能 - 不是有效的网址。这就是内容无法加载的原因。 php函数需要一个有效的URL:http://www.google.com,它可以从中加载源。

答案 2 :(得分: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/