-
242024年4月
-
302024年3月
-
292024年2月
-
312024年1月
-
312023年12月
-
302023年11月
-
312023年10月
-
302023年9月
-
312023年8月
-
352023年7月
-
312023年6月
-
312023年5月
-
302023年4月
-
312023年3月
-
282023年2月
-
312023年1月
-
312022年12月
-
302022年11月
-
312022年10月
-
302022年9月
-
312022年8月
-
322022年7月
-
292022年6月
-
322022年5月
-
302022年4月
-
332022年3月
-
312022年2月
-
372022年1月
-
382021年12月
-
382021年11月
-
402021年10月
-
432021年9月
-
372021年8月
-
442021年7月
-
442021年6月
-
432021年5月
-
342021年4月
-
312021年3月
-
292021年2月
-
352021年1月
-
422020年12月
-
402020年11月
-
482020年10月
-
522020年9月
-
852020年8月
-
752020年7月
-
802020年6月
-
782020年5月
-
772020年4月
-
432020年3月
-
362020年2月
-
452020年1月
-
562019年12月
-
712019年11月
-
612019年10月
-
562019年9月
-
532019年8月
-
362019年7月
-
362019年6月
-
382019年5月
-
402019年4月
-
352019年3月
-
342019年2月
-
442019年1月
-
392018年12月
-
402018年11月
-
392018年10月
-
392018年9月
-
452018年8月
-
452018年7月
-
392018年6月
-
512018年5月
-
492018年4月
-
342018年3月
-
282018年2月
-
482018年1月
-
732017年12月
-
7292017年11月
-
7442017年10月
-
2892017年9月
-
12017年8月
互联网上的网页数据是海量的,爬虫的工作量是巨大的,所以爬虫程序的性能是非常重要的。不同的应用对应的爬虫也各不相同,相应的策略也不相同,那么优秀的爬虫具备哪些特性呢?
一、高性能
这里的高性能指的是指爬虫的高效性、稳定性、持续性,单位时间内能够爬取的网页越多,同时又能持续稳定的爬取,那么爬虫的性能就越高。
要提高爬虫的性能,在程序设计时对数据结构的选择尤为重要,同时爬虫的策略以及反反爬虫的策略也不容忽视,并且需要利用优质的代理IP来辅助爬虫工作。
二、可扩展性
即使单个爬虫的性能提高到非常高了,但面对海量的数据依然需要相当长的周期,为了尽量缩短爬虫的任务周期,爬虫系统还应该有很好的扩展性,可以通过增加抓取服务器和爬虫数量来达到目的。每台服务器部署多个爬虫,每个爬虫多线程运行,通过多种方式增加并发性,也就是分布式爬虫。
三、健壮性
爬虫在访问各种类型的网站服务器时,可能会遇到各种非常的情况或者突发情况,比如网页HTML编码不规范,目标服务器突然死机,甚至是代理服务器突然故障,爬虫如果能够对各种异常情况作出正确处理,不会不定期的停止工作,这就是爬虫健壮性的一种体现。
四、友好性
爬虫的友好性有两方面的含义:一是保护网站的部分私密性,二是减少目标网站的网络负载,其实还有一种是在使用代理IP时,减少代理服务器的网络负载。
对于网站所有者来说,有些内容是不希望被泄露的,一般会有robot.txt文件来指定哪些禁止爬取,或者在HTML代码里加入 meta name="robots"标记。作为友好的爬虫,一定要遵守这个协议。
友好的爬虫不能影响到目标服务器的正常运行,给目标服务器造成太大的访问压力,这样也容易被封IP限制爬取,在使用代理IP的时候也是一样,对代理服务器造成太大的压力,最终还是影响自己爬虫工作的稳定进行。