node-crawler:一个轻量级爬虫工具

Git | Official Website

npm package

build status Dependency Status Gitter

这就是node-crawler

node-crawler 是一个轻量级的node.js爬虫工具,兼顾了高效与便利性,支持分布式爬虫系统,支持硬编码,支持http前级代理。

node-crawler 完全由nodejs写成,天生支持非阻塞异步IO,为爬虫的流水线作业机制提供了极大便利。同时支持对 DOM 的快速选择,对于抓取网页的特定部分的任务可以说是杀手级功能,无需再手写正则表达式,提高爬虫开发效率。

特点

  • DOM 元素快速解析 & 符合jQuery语法的选择器功能(默认使用Cheerio,支持更换为 JSDOM 等其它DOM解析器)
  • 支持连接池模式,并发数和重连数均可配置
  • 支持请求队列的优先权(即不同URL的请求能有不同的优先级)
  • 支持延时功能(某些服务器对每分钟内连接数有限制)
  • 支持 forceUTF8 模式以应对复杂的编码问题,当然你也可以自己为不同的连接设置编码
  • 支持4.x及更高版本的Nodejs

快速上手

高级功能

参数详细介绍

  • 回调设置
  • 调度参数
  • 重试控制
  • DOM选项
  • 编码设置
  • 缓存设置
  • 其它

Crawler类捕获事件

  • Event: 'schedule'
  • Event: 'limiterChange'
  • Event: 'request'
  • Event: 'drain'