我必须使用 php curl抓取此页面。在这种情况下,当用户向下滚动时,会使用 ajax 加载更多项目。我可以调用 ajax 脚本调用的 URL 吗?如果是这样,那么我如何找出 URL 呢?我知道一点 ajax,但是那里的代码对我来说有点复杂。这里是相关的js代码pastebin
或者,有人可以建议另一种抓取该页面的方法吗?PS:我这样做是有充分理由的。
编辑:我想通了。实时 http 标头。问题可以关闭。被遗忘。
您可以为此使用FireBug。切换到控制台选项卡,然后使页面发出 AJAX 请求。
这是滚动到页面底部后应该看到的内容:http ://www.flipkart.com/computers/components/ram-20214?_l=m56QC%20tQahyMi46nTirnSA--&_r=11FxOYiYfpMxmANj4kGJzg--&_pop=flyout&response-type= json&inf-开始=20
标记似乎始终保持不变:_l=m56QC%20tQahyMi46nTirnSA--
和_r=11FxOYiYfpMxmANj4kGJzg--
,_pop
-parameter 也是如此:_pop=flyout
所以让我们看看其他参数:
这是主页:
//no additional parameters...
这是第一次“重新加载”:
&response-type=json&inf-start=20
这是第二次“重新加载”:
&response-type=json&inf-start=40
因此,显然您只需附加&response-type=json&inf-start=$offset
到初始 URI 即可获得 JSON 格式的结果。您还可以看到 FireBug 中的内容,这应该可以很容易地使用它们。
这是一个屏幕截图: