搜索引擎技术 —— 网络爬虫

编程入门 行业动态 更新时间:2024-10-25 20:21:41

文章目录

  • 网络爬虫原理
  • 爬虫类型
  • 爬虫抓取策略
  • 网页更新策略
  • 参考文献

网络爬虫原理

首先,我们来讲讲什么是爬虫。就目前的搜索引擎对象往往都是数以百计的网页,所以搜索引擎面临的主要问题就是如何将这些网页存储到本地。而用来获取这些网页的工具就叫爬虫

我们来看一下一个爬虫框架。首先先人工精选一部分网页作为初始网页放到待抓取URL队列之中,之后爬虫框架开始从这个待抓取URL队列中取出URL,根据这个URL下载网页内容,这个工作一般是由一个叫网页下载器的模块去负责的。下载完网页之后,会做两步工作:

  1. 解析网页内容,如果网页中有URL,这个时候会把它放到待抓取URL队列,这里要注意的就是去重这个操作。
  2. 网页存储到网页库中

爬虫类型

爬虫主要分以下几类:

  • 批量型爬虫:其是给爬虫设定一定量的抓取目标,达到目标之后爬虫就不再抓取了。
  • 增量型爬虫:和批量型爬虫不同,其会保持不断地抓取网页,对抓取到的网页也会定期进行更新。
  • 垂直型爬虫:这一类爬虫会关注特定主题内容和特定行业的网页。

但是我们要注意的是,不管是哪类爬虫,如果遇到爬虫禁抓协议,它就不会继续抓取了。

爬虫禁抓协议一般分为两种情形:
第一种是告诉爬虫不要索引该网页内容,以noindex为标记:

<meta name="robots" content="noindex">

另外一种则是告诉爬虫不要抓取网页所包含的链接,以nofollow作为标记:

<meta name="robots" content="nofollow">

爬虫抓取策略

在爬虫框架中,待抓取URL队列是很关键的部分,需要爬虫抓取的网页URL在其中是顺序排列,形成一个队列结构。每次爬虫都会从中取URL,进行内容爬取。爬虫不同的抓取策略,其是就是根据不同的方法来确定待抓取URL队列中URL优先顺序的。

  • 广度优先遍历:考虑下面这个网页A,A中有三个URL,其中URL A指向网页A本身;URL B指向网页B,以此类推。宽度优先遍历会将URL B,URL C依次放入待抓取的URL队列之中(这个时候URL A因为去重策略不会入队)

  • 深度优先遍历:还是刚刚那张图,深度优先遍历会先将URL B放入待抓取队列中,之后进入网页B中的内,将URL E放入待抓取队列。一直这样直到网页中没有新的URL,便会回溯。假设网页E中没有新链接了,这个时候会回溯到网页B,将URL D放入队列中,然后进入网页D寻找。

  • 非完全PageRank:这个策略根据著名的链接分析算法PageRank,对待抓取URL队列中的URL进行PageRank计算,这样会得到每个URL的PageRank得分,根据这个得分对URL进行降序排序。

  • OPIC:OPIC是在线页面重要性计算,在算法开始前,每个URL给与相同的分值,每当下载了某个页面A之后,页面A会将自己的分值评分给网页A中包含的链接,把自己的分值清空,对于待抓取URL队列,根据当前分值进行降序排序。

  • 大网站优先:这种策略会根据待抓取URL队列中所属网站归类,如果哪个网站等待下载的页面最多,则这个是个大型网站,就会优先下载这个URL。

网页更新策略

网页页面往往是动态会变化的,所以,对于已经抓取过的网页,爬虫还要负责保持其内容和互联网页面内容的同步,这取决于爬虫所采取的网页更新策略。

常见的网页更新策略如下:

  • 历史参考策略:这种策略基于假设:过去频繁更新的网页将来也会频繁更新。其利用泊松过程来对网页的变化进行建模,根据每个网页过去的变动情况,用模型预测将来合适内容会再次发生变化,以此来指导爬虫的抓取过程。
  • 用户体验策略:这种策略以用户体验为核心,即使本地的网页内容是过时的,但是如果不影响体验,也是可以容忍的。其会保存网页的多个历史版本,并且根据过去每次内容变化对搜索引擎的质量影响,得到一个平均值,以此作为判断爬虫该抓取网页的参考依据。
  • 聚类抽样策略:这种策略认为,网页时具有一些属性的,根据这些属性可以预测其更新周期,具有相似性的网页,其更新周期也是类似的。于是,我们可以根据这些属性将网页归类,统一类别内的网页具有相应的更新频率。

参考文献

[1] 这就是搜索引擎

更多推荐

搜索引擎技术 —— 网络爬虫

本文发布于:2023-06-13 10:12:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1379687.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:爬虫   搜索引擎   技术   网络

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!