持续进行中。。。
目标:
- 动态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
/**
*
* Licensed
* Under an Attribution, Share Alike License
*
* Copyright 2008-2014 Tjatse [ thisnamemeansnothing[at]gmail.com ]
*
**/