Python网络爬虫案例实战:爬虫网络概述-爬取策略

Python网络爬虫案例实战:爬虫网络概述-爬取策略

在爬虫系统中,待爬取URL 队列是很重要的一部分。待爬取URL 队列中的URL 以什么样的顺序排列也是一个很重要的问题,因为这涉及先爬取哪个页面,后爬取哪个页面。决定这些URL 排列顺序的方法,叫作爬取策略。下面重点介绍几种常见的爬取策略。
1.深度优先遍历策略
深度优先遍历策略是指网络爬虫会从起始页开始,一个链接一个链接地跟踪下去,处理完这条线路之后再转入下一个起始页,继续跟踪链接,以图1-16为例。遍历的路径:A-F-GE-H-I B CD
2.宽度优先遍历策略
宽度优先遍历策略的基本思路是:将新下载网页中发现的链接直接插入待爬取URL 队列的末尾。也就是指网络爬虫会先爬取起始网页中链接的所有网页,然后再选择其中的一个链接网页,继续爬取在此网页中链接的所有网页,还是以图1-16为例。
遍历路径:A-B-C-D-E-F GH I
在这里插入图片描述
3.反向链接数策略
反向链接数是指一个网页被其他网页链接指向的数量。反向链接数表示的是一个网页的内容受到其他人推荐的程度。因此,很多时候搜索引擎的爬取系统会使用这个指标来评价网页的重要程度,从而决定不同网页的爬取先后顺序。
在真实的网络环境中,由于广告链接、作弊链接的存在,反向链接数不能完全等同于其重要程度。因此,搜索引擎往往考虑一些可靠的反向链接数。
4. Partial PageRank 策略
Partial PageRank算法借鉴了PageRank算法的思想:对于已经下载的网页,连同待爬取URL 队列中的URL,形成网页集合,计算每个页面的PageRank值,计算完之后,将待爬取URL队列中的URL 按照 PageRank值的大小排列,并按照该顺序爬取页面。
每次爬取一个页面,就重新计算 PageRank值,一种折中方案是:每爬取K个页面后,重新计算一次 PageRank值。但是这种情况还会有一个问题:对于已经下载下来的页面中分析出的链接,也就是之前提到的不可知网页那一部分,暂时是没有PageRank值的。为了解决这个问题,会给这些页面一个临时的PageRank值:将这个网页所有人链传递进来的PageRank值进行汇总,这样就形成了该不可知页面的PageRank值,从而参与排序。
5.OPIC 策略
该算法实际上也是对页面进行一个重要性打分。在算法开始前,给所有页面一个相同的初始现金(cash)。当下载了某个页面P之后,将P的现金分摊给所有从P中分析出的链接,并且将P的现金清空。对于待爬取URL 队列中的所有页面按照现金数进行排序。
6.大站优先策略
对于待爬取URL 队列中的所有网页,根据所属的网站进行分类。对于待下载页面数多的网站,优先下载。这个策略也因此叫作大站优先策略。
在这里插入图片描述

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值