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

回复内容:

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

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

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

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

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

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

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

09-15 03:52