0

我必须使用 php curl抓取此页面。在这种情况下,当用户向下滚动时,会使用 ajax 加载更多项目。我可以调用 ajax 脚本调用的 URL 吗?如果是这样,那么我如何找出 URL 呢?我知道一点 ajax,但是那里的代码对我来说有点复杂。这里是相关的js代码pastebin

或者,有人可以建议另一种抓取该页面的方法吗?PS:我这样做是有充分理由的。

编辑:我想通了。实时 http 标头。问题可以关闭。被遗忘。

4

1 回答 1

3

您可以为此使用FireBug。切换到控制台选项卡,然后使页面发出 AJAX 请求。

这是滚动到页面底部后应该看到的内容:http ://www.flipkart.com/computers/components/ram-20214?_l=m56QC%20tQahyMi46nTirnSA--&_r=11FxOYiYfpMxmANj4kGJzg--&_pop=flyout&response-type= json&inf-开始=20

如果您进一步滚动:http ://www.flipkart.com/computers/components/ram-20214?_l=m56QC%20tQahyMi46nTirnSA--&_r=11FxOYiYfpMxmANj4kGJzg--&_pop=flyout&response-type=json&inf-start=40

标记似乎始终保持不变:_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 中的内容,这应该可以很容易地使用它们。

这是一个屏幕截图:

在此处输入图像描述

于 2012-05-01T13:37:48.403 回答