搜索引擎处理大量的网页。一方面,为了节省带宽、计算和存储资源,另一方面,为了满足用户的搜索需求,使用有限的资源来捕获有价值的网页,因此搜索引擎在处理大量网页时会有一定的策略。本文简要介绍了网络爬行的主要策略,如广度优先、深度遍历策略、非重复爬行策略、大站点优先策略、不完全pagerank策略、OCIP策略、协同爬行策略。
深度优先,深度优先的遍历策略;广度优先的原因是重要的网页往往接近种子网站;万维网的深度没有我们预期的那么深,而是出乎意料的深(中国万维网只有17个直径和长度,即在任意两个网页之间可以访问17次);多履带协同抓取深度优先的不利结果:容易使履带陷入死区,不应重复抓取;不应抓住机会;
解决上述两个缺点的方法是深度优先抓取和非重复抓取策略;防止履带从无限期地以宽度优先抓取,必须在一定的深度抓取。达到此深度即万维网的直径和长度后,限制程度并停止抓取。当爬行停止在深度时,那些太深而没有爬行的页面总是期望从其他种子站点更经济地到达。
限制抓取深度会破坏死循环的条件,即使循环发生,也会在有限的次数后停止。评价:宽度优先、深度优先的遍历策略可以有效地保证爬行过程的紧密性,即在爬行过程(遍历路径)中,总是对同一域名下的网页进行爬行,而对其他域名下的网页则很少。
无重复抓取策略保证了一个变化不大的网页只能被抓取一次,防止重复抓取占用大量的CPU和带宽资源,从而集中有限的资源区域来抓取更重要、更高质量的网页。Larser网站优先通常是大型网站的高质量内容,网页质量一般较高。从网站的角度衡量网页的重要性有一定的依据。对于要爬网的URL队列中的页面,下载优先级由等待下载的页面数决定。
下载页面(不完整Internet页面的子集)的部分pagerank策略(部分pagerank)与待爬行的URL队列中的URL一起形成一组页面,并在集合中计算pagerank;经过计算,待爬行的URL队列中的页面根据pagerank得分由高到低排序,形成一个SE。那是履带式拼接。应依次向下爬行的URL列表。由于pagerank是一种全局算法,即当所有的页面都被下载时,计算结果是可靠的,但是爬行器在爬行过程中只能接触到部分页面,所以爬行时不能进行可靠的pagerank计算,所以称为不完全pagerank策略。
OCIP策略(在线页面重要性计算)字面意思是“在线页面重要性计算”,这是一种改进的pagerank算法。在算法开始之前,每个Internet页面都被分配相同的值。当一个页面p被下载时,p将它自己的值平均分配给页面中包含的链接,同时清除它自己的值。对于要爬网的URL队列中的网页,优先考虑根据现有值的大小下载值较大的网页。
协同爬行策略(爬行加速策略)可以通过增加爬行器的数量来提高整体的爬行速度,但工作负载需要分解为不同的网络爬行器,以确保分工清晰,防止多个爬行器在同一页面上爬行,浪费资源。
通过分解网络主机的IP地址,让爬虫只抓取中小型网站的一个网页段,出于经济原因,通常在一台服务器上提供不同的网络服务,使多个域名对应一个IP段;而新浪、搜狐等大型网站通常使用负载均衡的IP gro。向上技术,同一域名对应多个。IP地址。因此,这种方法不方便。通过分解网页的域名,爬虫只能对网页的域名部分进行爬虫,并为不同的爬虫分配不同的域名。