欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

网页上通过ajax异步加载的数据有什么办法抓取到吗?

程序员文章站 2022-04-02 15:46:51
...
最近要到某网站上抓取一些数据,我到该网站上看了一下,发现我要抓取的数据是通过ajax异步加载的,有什么办法可以抓取到吗?我打算使用node.js或者php

回复内容:

最近要到某网站上抓取一些数据,我到该网站上看了一下,发现我要抓取的数据是通过ajax异步加载的,有什么办法可以抓取到吗?我打算使用node.js或者php

开发者工具里扫一眼请求的详情,看看需不需要验证(有些网站很二逼的,随便你请求)。如果有任何验证机制,那么你就别费这个心了,爬虫的干活吧。

题主搜一搜headless browser,前端测试框架什么的。

其实有很多方案,selenium,phantomjs,casperjs,qtwebkit等等等等

我们采用的是casperjs。把每个ajax请求完成后保存网页,放入队列,这样的话后面的分析程序就只要分析html就好了。

casperjs这货和nodejs一起使用的时候时不时会有点小问题(我遇到的问题都不大,很好解决),如果不想麻烦,npm安装spookyjs,据说就可以把casperjs作为node的模块来使用了。

当然,请求不复杂,无需验证的话,直接观察请求就可以了。