判断一个爬虫软件做的好与坏主要从以下几个方面进行评价。
1、灵活性。
能适应各种场景(只需要做最小的改动)。
2、低消费、高性能。
采集速度,要达到每秒至少大于100个页面;在稳定性方面,运行一次至少要抓取1亿网页才能允许崩溃。
3、健壮性。
(1)能够容忍坏的HTML、奇怪的服务器行为和配置。此时一般采取的措施为:忽略该页面甚至整个服务器。
(2)在没有丢失数据或者丢失数据不是很多时,必须能够容忍系统崩溃和网络中断。所以系统的状态和主要结构应当定期的同步到磁盘,即系统快照。这样在崩溃后重新启动后,系统抓取的重复链接数有限。
4、礼仪和速度控制
(1)遵循robot协议,礼仪爬行
(2)要考虑到对方服务器的压力,不要对对方服务器访问过于频繁,导致其压力过大。基于这种情况,要进行爬行速度控制。
5、可管理性和可配置性。
实现组件化,并能够对爬行进行监视。
6、可扩展性
(1)在增加low-cost后,性能能够线性增长。
(2)系统容易扩展,与其他组件易融合。
一个优异的的爬虫架构应该具备的几点,布布扣,bubuko.com
原文:http://blog.csdn.net/zhangzeguang88/article/details/23032999