通过axios请求页面抓取数据
这个是最常见的方法
但是这个方法只能用于服务端渲染的页面,如果页面上的数据是根据接口来的,或者页面经过处理,不准通过get方式抓取,那么就得用下面phantomjs
来抓取了
通过phantomjs抓取数据
phantomjs是一个模拟浏览器打开的库,这样就可以避免我们上面提到的问题,直接抓取浏览器访问后的数据
cheerio是一个类似jq
的库,可以让我们在抓取后的content
上进行方便的dom
操作,bluebird,是一个延时库
但是这个库有个不好的地方,就是如果页面太多了,就会crash
,所以我们用下面的框架
通过node-crawler抓取数据
node-crawler,是一个nodejs的爬虫框架,可以方便的解决第一和第二存在的问题
|
|
node-crawler
有一个比较好的概念就是队列,这样可以让页面一个个访问,暂时简单介绍到这里