最近要到某网站上抓取一些数据,我到该网站上看了一下,发现我要抓取的数据是通过ajax异步加载的,有什么办法可以抓取到吗?我打算使用node.js或者php
回复内容:
最近要到某网站上抓取一些数据,我到该网站上看了一下,发现我要抓取的数据是通过ajax异步加载的,有什么办法可以抓取到吗?我打算使用node.js或者php
开发者工具里扫一眼请求的详情,看看需不需要验证(有些网站很二逼的,随便你请求)。如果有任何验证机制,那么你就别费这个心了,爬虫的干活吧。
题主搜一搜headless browser,前端测试框架什么的。
其实有很多方案,selenium,phantomjs,casperjs,qtwebkit等等等等
我们采用的是casperjs。把每个ajax请求完成后保存网页,放入队列,这样的话后面的分析程序就只要分析html就好了。
casperjs这货和nodejs一起使用的时候时不时会有点小问题(我遇到的问题都不大,很好解决),如果不想麻烦,npm安装spookyjs,据说就可以把casperjs作为node的模块来使用了。
当然,请求不复杂,无需验证的话,直接观察请求就可以了。