搜索引擎爬虫,也称作搜索引擎蜘蛛、机器人。是一种遍历抓取页面的程序。搜索引擎爬虫以其不同的应用,分为批量型爬虫、增量型爬虫和垂直型爬虫。不同的搜索引擎爬虫蜘蛛实现方式不同,但一个优秀的搜索引擎爬虫应该具备以下几个特性:
1、搜索引擎特性:高性能
所谓的搜索引擎高性能是指爬虫抓取网页的速度,单位时间内能够下载的网页数量越多,则爬虫的性能就越高。
提高搜索爬虫的性能,在设计时程序访问磁盘的操作方法和具体实现时的数据结构的选择有很大的关系。例如对于待抓取的url队列和已抓取得url队列,因为url的数量非常大,不同的实现方式所表现出来的性能参差不齐,所以,高效的数据结构队爬虫的性能影响很大。
2、搜索引擎特性:可扩展性
正如上面所描述的那样,爬虫需要抓取的数量之大,是不可想象的。即使单个的搜索机器人性能再高,要将所有的网页都下载,也是需要相当长的周期的。为了尽可能的简短搜索引擎抓取网页的周期,爬虫系统程序应该有很强的可扩展性。也就是说很容易通过增加抓取服务器和爬虫的数量来打到这个目的。
3、搜索引擎特性:健壮性
爬虫所面临的网站类型千差万别,可能会遇到HTML代码不规范,服务器宕机,甚至是爬虫陷阱等状况。爬虫是否能对各种异常情况进行及时正确的处理很重要。健壮的搜索引擎爬虫程序应该能做到,在再次启动爬虫时,能够恢复之前抓取的内容和数据结构,而不是再次启动爬虫程序的时候,还是从头部开始,这也是爬虫健壮性的一种体现。
4、搜索引擎特性:友好性
爬虫的友好性包含以下两个含义:第一就是保护网站的部分私密性。就是要很好的遵守搜索引擎的禁爬协议robots协议。第二就是减少被抓取网站的网页负载。