全互联网是由相互链接的网站及页面组成的。从理论上说,爬虫从任何一个页面出发,沿着链接都可爬完网上的所有页面。由于网站及页面具有非常复杂的链接结构,爬虫需要采取一定的爬行策略才能爬完网上所有页面。实现一个完善的爬虫系统,爬行策略至关重要。
爬行策略有如下几种:深度优先爬行策略是爬虫沿着发现的链接先爬取一个网页,然后一直往前爬行,爬行到前面再也没有其他链接为止,然后在返回到第一个页面,沿着另一个链接再一直往前爬行。如图1所示,爬取的顺序是A→D→E→B→C→F→G;广度优先爬行策略:是指爬虫在一个页面上发现多个网络链接时,不是沿着一个网络链接一直向前爬行,而是先把页面上同一层次链接都爬一遍,然后再沿着第二层页面上发现的链接爬向第三层页面。
爬取的顺序是A→B→C→D→E→F→G;大站优先爬行策略是对于准备抓取地址队列中的所有网页,把其根据所属的网站进行分类,优先爬取网站的网页数量比其他多的网站。反链爬行策略是指的是一个网页被其他网页链接指向的数量,当某个网页的内容受到其他人的推荐的程度高,这种网页被优先爬取。