python - 如何编辑 'formdata'来爬取Ajax动态页面?

标签 python ajax scrapy web-crawler html

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

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

我检查了“网络”,它显示我似乎需要更多编辑表单数据:

[network ] 1

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

有人可以提供在我的情况下编辑 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)

关于python - 如何编辑 'formdata'来爬取Ajax动态页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35393883/

相关文章:

python /Django : sending emails in the background

javascript - 使用命名空间解析 XML JQuery Ajax 响应

html - 如何使用 XPath 选择非空段落?

python - Scrapy 管道中的批量/批量 SQL 插入 [PostgreSQL]

python - 在python中,我可以访问类范围内的方法(但不能访问函数范围内的方法)

python - mpz 变量的算术结果是什么?

jquery - Ajax请求 'overlapping'

javascript - 使用 jQuery 解析 XML

python - 在 Scrapy 所需的 Python 2.7 上安装 Zope Interface 4.0.3 时出错

python - 为什么我不能在 IPython 笔记本中导入 OpenCV (cv2)?