网络爬虫简介

  1. 什么是网络爬虫
  2. 为什么要学网络爬虫
  3. 网络爬虫的组成
  4. 网络爬虫的类型
  5. 网络爬虫的工作流程
  6. 网络爬虫的爬行策略
  7. 网络爬虫的更新策略
  8. 扩展:网页分析算法
  9. 扩展:GooSeeker 工具

1. 什么是网络爬虫

(1) 网络爬虫又称网络蜘蛛,可以自动化浏览网络中的信息,进行互联网信息的自动检索
(2) 搜索引擎会在海量的互联网信息中爬取优质信息并收录,当用户在搜索引擎上检索对应关键词时,会从收录的网页中按照一定的算法或排名规则呈现给用户
(3) 大数据也离不开网络爬虫,需要使用网络爬虫去一些比较大型的站点爬取数据源,进行大数据分析或数据挖掘

2. 为什么要学网络爬虫

(1) 学习网络爬虫,可以私人定制一个搜索引擎,更好地理解数据采集原理
(2) 为大数据分析提供更多高质量的数据源,获取更多有价值的信息
(3) 可以更深层次地理解搜索引擎爬虫的工作原理,从而可以更好地进行搜索引擎优化
(4) 从就业角度来说,爬虫工程师也是紧缺的人才,学习网络爬虫对就业来说非常有利

3. 网络爬虫的组成

(1) 网络爬虫由控制节点 、爬虫节点 、资源库组成
(2) 控制节点,也就是爬虫节点的中央控制器,负责调用爬虫节点进行爬取
(3) 爬虫节点会按照相关的算法,对网页进行具体的爬取,爬取后的结果会存储在资源库中

4. 网络爬虫的类型

(1) 通用网络爬虫:也称全网爬虫,顾名思义,就是爬取的目标是互联网中的所有数据资源,主要应用于大型搜索引擎中
(2) 聚焦网络爬虫:也称主题网络爬虫,按照预先定义好的主题有选择地进行网页爬取,爬取特定的资源
(3) 增量式网络爬虫:即第二次爬取相同网页时,只爬取内容发生变化的数据,对于没有发生变化的不再爬取
(4) 深层网络爬虫:不需要登录就能获取的页面叫做表层页面,需要提交表单登录后才能获取的页面叫做深层页面,爬取深层页面需要想办法填写好表单
(5) 用户爬虫:指的是专门用来爬取互联网中用户数据的一种爬虫,价值相对较高,可以用来做抽样统计 、营销 、数据分析

5. 网络爬虫的工作流程

(1) 网络爬虫由控制节点 、爬虫节点 、资源库组成;以搜索引擎或聚焦网络爬虫为例,先确定好要爬取的主题和要爬取的初始URL
(2) 控制节点调用爬虫节点对初始URL进行爬取,爬行过程中,会爬到一些新的URL,会根据主题过滤掉一些URL,然后把剩下的URL根据优先级添加到URL队列等待爬取
(3) 爬虫节点爬取到的数据会存放到资源库中,资源库对爬取到的资源进行分析并建立索引,当用户检索对应信息时,可以从索引中进行检索并呈现给用户

6. 网络爬虫的爬行策略

网络爬虫爬行过程中,会爬到一些新的URL,对这些 URL 爬取的顺序,是由爬行策略来决定的

(1) 深度优先爬行策略:先爬取一个网页,然后将这个网页的下层链接依次爬取完再返回上一层进行爬取,如下图,爬取的顺序是 A → D → E → B → C → F → G
(2) 广度优先爬行策略:先爬取同一层次的网页,同一层次的网页爬取完之后再选择下一个层次的网页进行爬取,如下图,爬取的顺序是 A → B → C → D → E → F → G
(3) 大站优先爬行策略:按照网页所属的站点进行归类,如果某个网站的网页数量多,就称其为大站,优先爬取
(4) 反链爬行策略:反链指的是该网页被其他网页指向的次数,这个次数在一般程度上代表着该网页被推荐的次数,因此反链数量多的被优先爬取

7. 网络爬虫的更新策略

一个网站的网页经常会更新,在网页更新之后,作为爬虫方,我们则需要对这些网页进行重新爬取,有以下几种策略进行重新爬取

(1) 用户体验策略:我们从浏览器搜索一个关键字,会出现一个排名结果,我们可以根据排名靠前的网页更新爬虫程序,对其进行爬取,这种更新策略称为用户体验策略
(2) 历史数据策略:一般我们不知道网站什么时候更新,但我们可以通过爬取的历史数据,分析出网站的更新周期,确定对这些网页的爬取周期,以此更新爬虫程序
(3) 聚类分析策略:聚类指的是共性较多的网页聚为一类,比如新闻类网站,购物类网站等等,确定爬虫程序要爬取哪一类数据

原文地址:https://www.cnblogs.com/pzk7788/p/10493624.html

时间: 2024-11-08 21:32:33

网络爬虫简介的相关文章

第一章 网络爬虫简介

本章将介绍如下主题: 网络爬虫领域介绍 爬虫的合法与非法性 对目标网站进行背景调研 逐步完善一个高级网络爬虫 1.1 网络爬虫的使用场景 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模拟程序或者蠕虫. 爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件.  

Atitit.数据检索与网络爬虫与数据采集的原理概论

1. 信息检索1 1.1. <信息检索导论>((美)曼宁...)[简介_书评_在线阅读] - dangdang.html1 1.2. <现代信息检索(原书第2版)(由信息检索领域的代表人物撰写,及时掌握现代信息检索关键主题的详细知识)>((智)贝泽耶茨...)2 2. 网络爬虫2 2.1. 第8章 web爬取1993 2.2. <用Python写网络爬虫>([澳]理查德...)3 3. 数据采集4 3.1. <Python网络数据采集>(...)[简介_书评

用Python写网络爬虫(高清版)PDF

用Python写网络爬虫(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1kdRFAEuze-A9ToWVXHoCXw 提取码:8ib1 复制这段内容后打开百度网盘手机App,操作更方便哦 内容简介  · · · · · · 作为一种便捷地收集网上信息并从中抽取出可用信息的方式,网络爬虫技术变得越来越有用.使用Python这样的简单编程语言,你可以使用少量编程技能就可以爬取复杂的网站. <用Python写网络爬虫>作为使用Python来爬取网络数据的杰出指南,

python网络爬虫实战-Scrapy,深入理解scrapy框架,解决数据抓取过程

一 前言 二 网络爬虫简介 审查元素 简单实例 1 requests安装 2 简单实例 三 爬虫实战 小说下载 1 实战背景 2 小试牛刀 3Beautiful Soup 3整合代码 优美壁纸下载 1实战背景 2实战进阶 3整合代码 爱奇艺VIP视频下载 1实战背景 2实战升级 3编写代码 四 总结 一 前言 强烈建议:请在电脑的陪同下,阅读本文.本文以实战为主,阅读过程如稍有不适,还望多加练习. 本文的实战内容有: 网络小说下载(静态网站) 优美壁纸下载(动态网站) 爱奇艺VIP视频下载 二

开源的网络爬虫以及一些简介和比较

转 目前网络上开源的网络爬虫以及一些简介和比较 目前网络上有不少开源的网络爬虫可供我们使用,爬虫里面做的最好的肯定是google ,不过google公布的蜘蛛是很早的一个版本,下面是几种开源的网络爬虫的简单对比表: 下面我们再对Nutch.Larbin.Heritrix这三个爬虫进行更细致的比较: Nutch 开发语言:Java http://lucene.apache.org/nutch/ 简介: Apache的子项目之一,属于Lucene项目下的子项目. Nutch是一个基于Lucene,类

目前网络上开源的网络爬虫以及一些简介和比较

目前网络上有不少开源的网络爬虫可供我们使用,爬虫里面做的最好的肯定是google ,不过google公布的蜘蛛是很早的一个版本,下面是几种开源的网络爬虫的简单对比表: 下面我们再对Nutch.Larbin.Heritrix这三个爬虫进行更细致的比较: Nutch 开发语言:Java http://lucene.apache.org/nutch/ 简介: Apache的子项目之一,属于Lucene项目下的子项目. Nutch是一个基于Lucene,类似Google的完整网络搜索引擎解决方案,基于H

Java开发、网络爬虫、自然语言处理、数据挖掘简介

一.java开发 (1) 应用开发,即Java SE开发,不属于java的优势所在,所以市场占有率很低,前途也不被看好. (2) web开发,即Java Web开发,主要是基于自有或第三方成熟框架的系统开发,如ssh.springMvc.springside.nutz.,面向各自不同的领域,像OA.金融.教育等有非常成熟案例,这是目前最大的市场所在,故人称“java为web而生”.但目前看它的缺点入门不高,所以待遇相对中等,上升空间很有限且缓慢. (3)移动开发(Android),是目前的大趋势

零基础自学Python 3开发网络爬虫(二): 用到的数据结构简介以及爬虫Ver1.0 alpha

上一回, 我学会了 用伪代码写出爬虫的主要框架; 用Python的urllib.request库抓取指定url的页面; 用Python的urllib.parse库对普通字符串转符合url的字符串. 这一回, 开始用Python将伪代码中的所有部分实现. 由于文章的标题就是"零基础", 因此会先把用到的两种数据结构队列和集合介绍一下. 而对于"正则表达式"部分, 限于篇幅不能介绍, 但给出我比较喜欢的几个参考资料. Python的队列 在爬虫程序中, 用到了广度优先搜

网络爬虫技术入门_Python基础与爬虫技术

Python基础与爬虫技术  课程学习地址:http://www.xuetuwuyou.com/course/195 课程出自学途无忧网:http://www.xuetuwuyou.com 课程简介 本作为一种便捷地收集网上信息并从中抽取出可用信息的方式,网络爬虫技术变得越来越有用.使用Python这样的简单编程语言,你可以使用少量编程技能就可以爬取复杂的网站. <Python 基础与爬虫技术>讲解了从静态页面爬取数据的方法以及使用缓存来管理服务器负载的方法.此外,本课程还介绍了如何使用AJA