我必须使用php curl来抓取this page。在此用户向下滚动时,使用ajax加载更多项目。我可以调用ajax脚本正在调用的URL吗?如果是这样,那么我如何计算出URL?我知道一点ajax,但代码对我来说有点复杂。 以下是相关的js代码pastebin
或者有人可以建议另一种方法来抓取该页面吗? PS:我这样做是为了正当理由。
编辑:我明白了。实时HTTP标头。问题可以关闭。被遗忘了。
答案 0 :(得分:3)
您可以使用FireBug。切换到Console-Tab,然后使页面发出AJAX请求。
这是滚动到页面底部后应该看到的内容:http://www.flipkart.com/computers/components/ram-20214?_l=m56QC%20tQahyMi46nTirnSA--&_r=11FxOYiYfpMxmANj4kGJzg--&_pop=flyout&response-type=json&inf-start=20
令牌似乎总是保持不变:_l=m56QC%20tQahyMi46nTirnSA--
和_r=11FxOYiYfpMxmANj4kGJzg--
,_pop
- 参数也是如此:_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中查看内容,这样可以很容易地使用它们。
以下是截图: