经常分析网站日志的同学应该知道,在通过日志分析工具后,会出现一些高级蜘蛛或者低级蜘蛛的划分。
这里,通过一些文献资料,和自己的一些看法,对其进行综合描述。
一、蜘蛛爬虫的类型:
1.批量型爬虫:
批量型爬虫有比较明确的抓取范围和目标,当爬虫达到这个设定的目标后,即停止抓取过程,至于具体目标各异,例如设定抓取一定的网页数量、设定抓取消耗的时间等。
2.增量型爬虫:
会保持不断的抓取,对于抓取到的网页,要定期的更新,新增网页、网页被删除或者网页内容更新都很常见,增量型爬虫需要及时反映这种变化,所以处于不断的抓取过程中,它不是在抓取新网页,就是在更新已有的网页。
3.垂直型爬虫:
只关注特定主题内容或者属于特定行业的网页,比如对于健康网站来说,只需要从互联网页面里找到与健康相关的页面内容即可,其他行业的内容不在考虑范围。
二、优秀爬虫的特性:
1.高性能:
主要指爬虫下载网页的抓取速度,以爬虫每秒能够下载的网页数量作为性能指标,要提高爬虫的性能,在设计时程序访问磁盘的操作方法及具体实现时数据结构的选择很关键。
2.可扩展性:
即很容易通过增加抓取服务器和爬虫数量来达到尽量缩短抓取周期,现代的搜索引擎爬虫是分布式的,很多台抓取服务器,每个服务器部署多个爬虫,每个爬虫多线程增加并发性,还有地域数据中心。
3.健壮性:
爬虫在抓取时,会遇到各种各样的服务器、各种网页编码、抓取时突然死机、爬虫陷阱等,必须有足够的健壮性来正确处理这些问题。
4.友好性:
一方面包括保护网站的部分私密性,另一方面是减少被抓取网站的网络负载。例如robots、nofollow。