18

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

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

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

4

2 回答 2

36

首先,scrapy 文档可在https://scrapy.readthedocs.org/en/latest/获得。

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

  • 打开浏览器开发者工具,网络选项卡
  • 转到目标站点
  • 单击提交按钮并查看XHR发送到服务器的请求
  • XHR在你的蜘蛛中模拟这个请求

另见:

希望有帮助。

于 2013-05-06T09:39:57.863 回答
4

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

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

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

复制整个请求标头和表单数据以加载到上述变量中​​,您就可以开始了

于 2017-03-23T08:31:26.463 回答