使用python刮擦ajax页面

时间:2013-05-05 23:38:58

标签: python ajax web-scraping screen-scraping scrapy

我已经看过this question about scraping ajax了,但是那里没有提到python。我考虑使用scrapy,我相信他们有一些关于该主题的文档,但正如您所看到的那样,网站已关闭。所以我不知道该怎么做。我想做以下事情:

我只有一个网址,example.com通过点击提交从一个页面到另一个页面,网址不会改变,因为他们使用ajax来显示内容。我想刮掉每个页面的内容,怎么做?

让我们说我只想刮掉数字,除了scrapy之外还有什么可以做的吗?如果没有,你会给我一个关于如何做的片段,只是因为他们的网站已关闭,所以我无法访问文档。

2 个答案:

答案 0 :(得分:33)

首先,https://scrapy.readthedocs.org/en/latest/提供了scrapy文档。

谈论在网络抓取时处理ajax。基本上,这个想法很简单:

  • 打开浏览器开发者工具,网络标签
  • 转到目标网站
  • 点击“提交”按钮,查看XHR request到服务器的内容
  • 在您的蜘蛛
  • 中模拟此XHR请求

另见:

希望有所帮助。

答案 1 :(得分:3)

我发现答案非常有用,但我想让它更简单。

response = requests.post(request_url, data=payload, headers=request_headers)

request.post需要三个参数url,data和headers。可以在XHR请求中找到这三个属性的值。

复制整个请求标题和表单数据以加载到上面的变量中,你很高兴