IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 搜索引擎技术 —— 网络爬虫 -> 正文阅读

[Python知识库]搜索引擎技术 —— 网络爬虫

网络爬虫原理

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

我们来看一下一个爬虫框架。首先先人工精选一部分网页作为初始网页放到待抓取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] 这就是搜索引擎

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-12-09 11:36:34  更:2021-12-09 11:38:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 4:41:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码