爬虫与Python:(一)网络爬虫概念篇——4.爬虫策略
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
爬⾍与Python:(⼀)⽹络爬⾍概念篇——4.爬⾍策略
在实际的爬⾍项⽬开发过程中,对待抓取的URL列表的设计时很重要的⼀部分。
很多时候,顺序很重要,⽐如:伦理道德上讲究长幼有序;对应URL,要先抓取哪⼀个页⾯呢?对于决定这些URL顺序的⽅法,成为抓取策略。
接下来介绍⼏种常见的抓取策略:、度优先遍历策略、、。
深度优先遍历策略
深度优先策略和⼴度优先策略相对。
定义:深度优先遍历策略是指爬⾍从起始页开始,⼀个链接⼀个链接的跟踪下去,处理完这条线路之后再转⼊下⼀个起始页,继续跟踪链接。
上图中,依据深度优先遍历策略顺序为:A→B→D→I→C→E→G→F→H。
宽度优先遍历策略
宽度优先策略的基本思路是:将新下载⽹页中发现的链接直接插⼊到待抓取URL对列中的末尾。
也就是说,⽹页爬⾍⾸先会抓取起始⽹页链接中的所有⽹页,然后选择其中⼀个⽹页,继续抓取此⽹页链接中的所有⽹页。
使⽤宽度优先遍历策略的话,同样的⽹页,抓取顺序为:A→B→C→D→E→F→I→G→H。
⼤站优先策略
定义:以⽹站单位来进⾏主题选择,确定优先性,对于待爬取URL队列中的⽹页,根据所属⽹站归类,如果那个⽹站等待下载页⾯最多,则优先下载这些链接。
关键点:判断待下载页⾯的多少。
本质:倾向于下载⼤型⽹站,因为⼤型⽹站往往包含更多的页⾯。
原因:鉴于⼤型⽹站往往是著名企业的内容,其⽹页质量⼀般较⾼。
实验表明,这个算法效果也要略优于宽度优先遍历策略。
最佳优先搜索策略
定义:按照⼀定的⽹页分析算法,预测候选URL与⽬标⽹页的相似度,或与主题的相关性,并选取评价最好的⼀个或机构URL进⾏抓取。
它只访问经过⽹页分析算法认为“有⽤”的⽹页。
关键点:访问经过分析,认为“有⽤”的⽹页。
不⾜:在爬⾍抓取路径上的很多相关⽹页可能被忽略,因为最佳优先策略是⼀种⾜部最优搜索算法。
因此需要将最佳优先结合具体的应⽤进⾏改进,以跳出局部最优点。