数据抓取系统是搜索引擎重要组成系统之一,主要负责互联网信息的搜索、保存以及更新等等,它就像是蜘蛛一样在互联网上爬来爬去,因此也被叫作网络蜘蛛(spider)或者机器人(bot)。每个搜索引擎的蜘蛛都有各自的名称,例如百度蜘蛛(baiduspider)/搜狗(sogou web spider)、谷歌机器人(googlebot)和必应机器人(Bingbot)等
搜索引擎抓取网页时会同时运行多个蜘蛛程序,从一些重要的种子网址开始,通过其网页上的超链接,网络蜘蛛不断发现新的网页并抓取,不断重复这个过程,最大可能抓取到更多网页。
由于互联网中每时每刻都存在网页被修改、删除或者出现新的链接的可能,所以对于百度这样的大型搜索引擎来说,还要不断地对过去抓取过的页面进行更新。
当网络蜘蛛爬行到某个网站时,会首先检查网站的根目录下是否存在robots文件,如果有,则会根据其约定不抓取禁止抓取的网页。进入允许抓取的网站后,网络蜘蛛会采用深度优先,宽度优先和最佳优先的三种策略爬行网站中的所有页面。
1.什么是深度优先策略
深度优先策略是早期使用较多的网络蜘蛛爬行策略。在网站中,当网络蜘蛛发现一个链接后,网络蜘蛛就会沿着这个链接爬行到下一个网页,沿着另一个链接继续爬行。当不再有新的链接出现时,整个爬行过程结束。
2.什么是宽度优先策略
宽度优先策略一般是指网络蜘蛛来到一个网页后,先爬行该网页上的所有链接,然后再爬行下一层网页的链接。
3.什么是最佳优先策略
最佳优先策略是指网络蜘蛛到达一个网页时,将网页中的所有链接收集到地址库中,并对其进行分析,从中筛选出重要性较高的链接进行爬行。影响链接重要性的因素主要有网页权重、网站规模和反应速度等。当某个链接的网页权重值越高、网站规模越大、反应速度越快时,就越会优先被抓取。