如何编辑'formdata'来抓取Ajax动态页面?

时间:2016-02-14 16:06:21

标签: python ajax scrapy web-crawler webpage

感谢有人回答这个问题: scrapy can't crawl all links in a page

我现在已经成功抓取了Ajax网页。但是,由于我只是使用formdata={'start':'0','num':'60','numChildren':'0','ipf':'1','xhr':'1'}模拟了一个请求,因此只能抓取该页面中的120个链接(总共540个)。

我检查了'网络',它显示我似乎需要更多编辑formdata:

[network] 1

我知道还有很多其他方法可以抓取ajax页面,但在互联网上探索各种答案之后仍然没有明确的想法。

在我的情况下,有人可以提供编辑formdata的方法吗?或提供更简单的解决方案?

1 个答案:

答案 0 :(得分:1)

您可以使用类似的内容来更改formdata。如果您还需要更改num,则可以根据需要编辑循环。

for i in range(0,10): 
    yield FormRequest(url="https://play.google.com/store/apps/category/GAME/collection/topselling_new_free?authuser=0", method="POST", formdata={'start':str(i+60),'num':'60','numChildren':'0','ipf':'1','xhr':'1'}, callback=self.data_parse)