持续进行中。。。

目标:

  • 动态User-Agent模拟浏览器
  • 支持Proxy设置,避免被服务器端拒绝 
  • 支持多核模式,发挥多核CPU性能
  • 支持核内并发模式
  • 自动解码非英文站点,避免乱码出现
  • 自动队列管理,持续化PUSH
  • 自动抓取文章标题和正文 
  • 性能优化
  • 测试用例,自动化测试

我的测试环境:

  • 9 台安装 ElasticSearch 1.3.2 的 centos,48G内存,8核
  • 3 台 Node.js v0.11.14 的 centos,16G内存,8核,用作爬虫
  • 3 台 NSQD 服务器, 用作爬虫解耦后的数据订阅和发送,与爬虫共用, 其中 1 台部署 NSQ Lookupd
  • 国内主要门户的站点管理,使用Kue,链接,正文之间的传递采用NSQ

结果:

  • 日均数据 50W 左右

 

开源地址:https://github.com/Tjatse/spider2