本文重点在于集中记录 node 爬虫框架有哪些,项目地址,文档地址等等,并不是每个项目都去实操过,感兴趣的同学可自行去实践。
apify
-
提供范式化的爬虫api
-
基于puppeteer 和cheerio的扩展爬虫
-
爬虫内部状态监控
-
内置代理池
-
本地数据存储
-
丰富的工具函数,如:Apify.utils.log(日志分级),Apify.utils.puppeteer(puppteer常用的工具函数)
apify 解决了NodeJS爬虫服务中的很多痛点,使用apify编写爬虫程序,能很大程度上的减少代码量,开发者能够专注于编写目标页面的爬取逻辑。除了以上介绍的优点外,apify 仍然存在一些不足,如不支持动态 requestQueue,手动切换代理。不过目前所支持的功能,已经可以满足大部分业务常景了。
文档地址:https://docs.apify.com/sdk/js/docs/next/guides
Tai-Spider
大家可能听说过基于Python的爬虫框架Scrapy,Tai-Spider就是Scrapy基于Node的同人作品。
文档地址:http://doc.wx-rdc.top/#/books/quick-start
Node-crawler
一个灵活的 Node.js 爬虫库,它提供了各种选项和配置来处理复杂的 Web 爬取任务。
特点
- Server-side DOM & automatic jQuery insertion with Cheerio (default) or JSDOM
- Configurable pool size and retries,
- Control rate limit
- Priority queue of requests
- forceUTF8 mode to let crawler deal for you with charset detection and conversion
- Compatible with 4.x or newer version
Superagent
Crawl-pet
入门参考:https://www.qyyshop.com/info/344922.html
项目地址:https://github.com/awesome-archive/Crawl-pet
Nightmare
一个用于 Node.js 的高级 Web 自动化和爬虫库。 它提供了一个高级的 API 来模拟用户交互,自动化表单提交和网站导航。
文档地址:https://github.com/segmentio/nightmare
GitHub 项目地址:https://github.com/segmentio/nightmare