笔记-爬虫算法
1.网站结构
网站结构一般情况下可以简化为一个树状
2.爬虫算法
在大规模爬虫系统中,待抓取url队列是很重要的一部分,队列顺序也是很重要的内容;爬虫算法就是用于决定抓取先后顺序的。
下文将介绍目前常用的算法:
1.深度优先:
深度优先是指网络爬虫会从起始页开始,一个链接一个链接跟踪下去,处理完这条线路之后再转入下一个起始页,继续追踪链接;
一般通过递归实现;
缺点在于部分网页深度太深而效率较低或绕不出来了;
scrapy默认使用深度优先;
2.宽度优先
是指将新下载网页发现的链接直接插入到待抓取URL队列的末尾;
使用队列实现;
上述两种方法是最基础的遍历,下面几种方法都是对网页内容进行分析来决定链接的优先级;
3.反向链接数
反向链接数是指一个网页被其他网页链接指向的数量。反向链接数表示的是一个网页的内容受到其他人的推荐的程度。因此,很多时候搜索引擎的抓取系统会使用这个指标来评价网页的重要程度,从而决定不同网页的抓取先后顺序。
在真实的网络环境中,由于广告链接、作弊链接的存在,反向链接数不能完全等他我那个也的重要程度。因此,搜索引擎往往考虑一些可靠的反向链接数。
4.Partial PageRank策略
Partial PageRank算法借