文件获取内容参数

时间:2013-09-27 16:14:12

标签: php file-get-contents

我正在制作一个PHP爬虫来探​​索名为alza.cz的电子商店。我希望链接到该电子商店中的所有产品。我在地址:http://www.alza.cz/notebooky/18842920.htm。,但这只显示前21项。要获得所有项目,我必须去处理:http://www.alza.cz/notebooky/18842920.htm#f&pg=1/10000

Crawler使用file_get_contents获取页面的HTML,然后使用DOM进行解析。问题是,看起来file_get_contents在#之后忽略了那个部分(只返回前21个而不是全部)。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

file_get_contents会忽略网址的#xxxxx部分(fragment identifier),并且不会将其包含在请求的网址中。这是用户代理在客户端使用的东西 - 很可能,该网站有一些Javascript,它将使用AJAX加载新的结果页面。

您可以看到该网页是否服从Google AJAX Crawling Specification,但根据您的示例,它看起来不像。如果您看到像#!foo=bar这样的“哈希爆炸”片段标识符,那就是一个好兆头。

因此,您需要在Firebugsimilar中观察AJAX请求,并自行复制相同的请求。

相关问题