网络爬虫是捜索引擎抓取系统的重要组成部分。爬虫的主要目的是将互联网上的网页下载到本地形成一个或联网内容的镜像备份。这篇博客主要对爬虫以及抓取系统进行一个简单的概述。
一、网络爬虫的基本结构及工作流程
一个通用的网络爬虫的框架如图所示:
网络爬虫的基本工作流程如下:
1.首先选取一部分精心挑选的种子URL;
2.将这些URL放入待抓取URL队列;
3.从待抓取URL队列中取出待抓取在URL,解析DNS,并且得到主机的ip,并将URL对应的网页下载下来,存储进已下载网页库中。此外,将这些URL放进已抓取URL队列。
4.分析已抓取URL队列中的URL,分析其中的其他URL,并且将URL放入待抓取URL队列,从而进入下一个循环。
二、从爬虫的角度对互联网进行划分
对应的,可以将互联网的所有页面分为五个部分:
1.已下载未过期网页
2.已下载已过期网页:抓取到的网页实际上是互联网内容的一个镜像与备份,互联网是动态变化的,一部分互联网上的内容已经发生了变化,这时,这部分抓取到的网页就已经过期了。
3.待下载网页:也就是待抓取URL队列中的那些页面
4.可知网页:还没有抓取下来,也没有在待抓取URL队列中,但是可以通过对已抓取页面或者待抓取URL对应页面进行分析获取到的URL,认为是可知网页。
5.还有一部分网页,爬虫是无法直接抓取下载的。称为不可知网页。
三、抓取策略
在爬虫系统中,待抓取URL队列是很重要的一部分。待抓取URL队列中的URL以什么样的顺序排列也是一个很重要的问题,因为这涉及到先抓取那个页面,后抓取哪个页面。而决定这些URL排列顺序的方法,叫做抓取策略。下面重点介绍几种常见的抓取策略:
1.深度优先遍历策略
深度优先遍历策略是指网络爬虫会从起始页开始,一个链接一个链接跟踪下去,处理完这条线路之后再转入下一个起始页,继续跟踪链接。我们以下面的图为例:
遍历的路径:A-F-G E-H-I B C D
2.宽度优先遍历策略
宽度优先遍历策略的基本思路是,将新下载网页中发现的链接直接插入待抓取URL队列的末尾。也就是指网络爬虫会先抓取起始网页中链接的所有网页,然后再选择其中的一个链接网页,继续抓取在此网页中链接的所有网页。还是以上面的图为例:
遍历路径:A-B-C-D-E-F G H 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队列中的所有网页,根据所属的网站进行分类。对于待下载页面数多的网站,优先下载。这个策略也因此叫做大站优先策略。
参考书目:
1.《这就是搜索引擎——核心技术详解》 张俊林 电子工业出版社
2.《搜索引擎技术基础》 刘奕群等 清华大学出版社
- 大小: 103 KB
- 大小: 64.5 KB
- 大小: 50.9 KB
分享到:
相关推荐
爬虫基本原理.
网络爬虫基本原理.pdf
网络爬虫基本原理介绍
网络爬虫基本原理.doc
采集基本概念--网络爬虫的基本工作原理.pdf采集基本概念--网络爬虫的基本工作原理.pdf采集基本概念--网络爬虫的基本工作原理.pdf采集基本概念--网络爬虫的基本工作原理.pdf采集基本概念--网络爬虫的基本工作原理.pdf...
1. **网络爬虫基本原理** 网络爬虫的核心思想是通过入口URL获取更多链接,不断探索和下载新的页面。这一过程包括: - **指定入口URL**:网络爬虫开始时,通常会有一个或多个起始URL,这些URL作为爬取的起点。 - *...
"网络爬虫原理" 网络爬虫是一种能访问网站并跟踪链接的程序,通过它,可快速地画出一个网站所包含的网页地图信息。本文主要讲述如何使用 Java 编程来构建一个“蜘蛛”,我们会先以一个可复用的蜘蛛类包装一个基本的...
#### 一、网络爬虫基本原理 网络爬虫的基本原理主要包括以下几个步骤: 1. **请求资源**:向目标网站发送HTTP请求(通常是GET或POST请求)以获取网页内容。 2. **解析HTML**:接收服务器响应的HTML文档并对其进行...
本资源是《Python大数据分析&人工智能教程》系列课程中关于爬虫基本原理的精华部分,它为学习者提供了一个全面的入门指南,涵盖了网络爬虫的核心技术和实战案例。具体内容包括: 1、HTTP协议基础:详细介绍了HTTP...
网络爬虫的基本原理涉及其结构、工作流程、网页分类、抓取策略以及更新策略。 首先,网络爬虫通常具有一个基本的工作流程:首先,从互联网上选取一批种子URL,放入待抓取队列。接着,爬虫从待抓取队列中取出URL,...
本文档是关于Python网络爬虫的复习大纲,涵盖了爬虫的基本概念、实现原理、技术、网页请求原理、抓取网页数据、数据解析、并发下载、抓取动态内容、图像识别与文字处理、存储爬虫数据、爬虫框架Scrapy等知识点。...
- 学习爬虫的基本概念、工作原理,理解网络爬虫在大数据分析中的重要性。 - 掌握Python爬虫环境的搭建,学习常见的Python爬虫库。 - 学习爬虫伦理和法规,了解如何遵守网络爬虫的行为规范。 2. **网页前端基础**...
1. **网络爬虫的基本原理**:网络爬虫通常由以下几个部分组成:URL管理器、下载器、解析器和数据库。URL管理器负责跟踪要访问的网页列表,下载器获取网页内容,解析器则从下载的HTML或XML文档中提取有价值的数据,...
这些文档涵盖了从基础到进阶的网络爬虫技术,包括Java实现的简单网络爬虫、爬虫的基本原理、搜索引擎的工作方式以及基于Web的爬虫设计等。 首先,让我们从Java网络爬虫简单实现开始。Java作为一种广泛使用的编程...
**6.1.2 网络爬虫基本原理** 网络爬虫的工作流程一般包括:首先,从一个URL池开始,按照深度优先或广度优先的策略选择URL进行处理。爬虫会解析页面内容,提取标题、头部信息和链接,生成摘要,并可能保存页面的全文...