1.4 网络爬虫的类型


现在我们已经基本了解了网络爬虫的组成,那么网络爬虫具体有哪些类型呢?

网络爬虫按照实现的技术和结构可以分为通用网络爬虫、聚焦网络爬虫、增量式网络爬虫、深层网络爬虫等类型。在实际的网络爬虫中,通常是这几类爬虫的组合体。

首先我们为大家介绍通用网络爬虫(General Purpose Web Crawler)。通用网络爬虫又叫作全网爬虫,顾名思义,通用网络爬虫爬取的目标资源在全互联网中。通用网络爬虫所爬取的目标数据是巨大的,并且爬行的范围也是非常大的,正是由于其爬取的数据是海量数据,故而对于这类爬虫来说,其爬取的性能要求是非常高的。这种网络爬虫主要应用于大型搜索引擎中,有非常高的应用价值。

通用网络爬虫主要由初始URL集合、URL队列、页面爬行模块、页面分析模块、页面数据库、链接过滤模块等构成。通用网络爬虫在爬行的时候会采取一定的爬行策略,主要有深度优先爬行策略和广度优先爬行策略。具体的爬行策略,我们将在第3章讲解,在此,我们只需要知道通用网络爬虫的基本构成和主要的爬行策略。

聚焦网络爬虫(Focused Crawler)也叫主题网络爬虫,顾名思义,聚焦网络爬虫是按照预先定义好的主题有选择地进行网页爬取的一种爬虫,聚焦网络爬虫不像通用网络爬虫一样将目标资源定位在全互联网中,而是将爬取的目标网页定位在与主题相关的页面中,此时,可以大大节省爬虫爬取时所需的带宽资源和服务器资源。聚焦网络爬虫主要应用在对特定信息的爬取中,主要为某一类特定的人群提供服务。

聚焦网络爬虫主要由初始URL集合、URL队列、页面爬行模块、页面分析模块、页面数据库、链接过滤模块、内容评价模块、链接评价模块等构成。内容评价模块可以评价内容的重要性,同理,链接评价模块也可以评价出链接的重要性,然后根据链接和内容的重要性,可以确定哪些页面优先访问。聚焦网络爬虫的爬行策略主要有4种,即基于内容评价的爬行策略、基于链接评价的爬行策略、基于增强学习的爬行策略和基于语境图的爬行策略。关于聚焦网络爬虫具体的爬行策略,我们将在1.5节进行详细分析。

增量式网络爬虫(Incremental Web Crawler),所谓增量式,对应着增量式更新。增量式更新指的是在更新的时候只更新改变的地方,而未改变的地方则不更新,所以增量式网络爬虫,在爬取网页的时候,只爬取内容发生变化的网页或者新产生的网页,对于未发生内容变化的网页,则不会爬取。增量式网络爬虫在一定程度上能够保证所爬取的页面,尽可能是新页面。

深层网络爬虫(Deep Web Crawler),可以爬取互联网中的深层页面,在此我们首先需要了解深层页面的概念。

在互联网中,网页按存在方式分类,可以分为表层页面和深层页面。所谓的表层页面,指的是不需要提交表单,使用静态的链接就能够到达的静态页面;而深层页面则隐藏在表单后面,不能通过静态链接直接获取,是需要提交一定的关键词之后才能够获取得到的页面。在互联网中,深层页面的数量往往比表层页面的数量要多很多,故而,我们需要想办法爬取深层页面。

爬取深层页面,需要想办法自动填写好对应表单,所以,深层网络爬虫最重要的部分即为表单填写部分。

深层网络爬虫主要由URL列表、LVS列表(LVS指的是标签/数值集合,即填充表单的数据源)、爬行控制器、解析器、LVS控制器、表单分析器、表单处理器、响应分析器等部分构成。

深层网络爬虫表单的填写有两种类型:第一种是基于领域知识的表单填写,简单来说就是建立一个填写表单的关键词库,在需要填写的时候,根据语义分析选择对应的关键词进行填写;第二种是基于网页结构分析的表单填写,简单来说,这种填写方式一般是领域知识有限的情况下使用,这种方式会根据网页结构进行分析,并自动地进行表单填写。

以上,为大家介绍了网络爬虫中常见的几种类型,希望读者能够对网络爬虫的分类有一个基本的了解。

精通Python网络爬虫:核心技术、框架与项目实战.1.4 网络爬虫的类型相关推荐

  1. 韦玮python视频教程下载_[课程学习]精通Python网络爬虫核心技术框架与项目实战韦玮PDF附源码 rar文件[101.68MB]-码姐姐下载...

    只需2积分精通精通Python网络爬虫核心技术.框架与项目实战,韦玮.pdf 大小:101.66MB | 2020-05-14 19:06:39 韦玮老师<精通python网络爬虫>源代码 ...

  2. 精通Python网络爬虫_核心技术框架与项目实战_韦玮.pdf

    精通Python网络爬虫_核心技术框架与项目实战_韦玮 编辑推荐 从技术.工具.实战3个维度讲透Python网络爬虫各项核心技术和主流框架,深度讲解网络爬虫的抓取技术与反爬攻关技巧 内容简介 随着大数 ...

  3. 《精通Python网络爬虫:核心技术、框架与项目实战》——1.3 网络爬虫的组成...

    本节书摘来自华章出版社<精通Python网络爬虫:核心技术.框架与项目实战>一书中的第1章,第1.3节,作者 韦 玮,更多章节内容可以访问云栖社区"华章计算机"公众号查 ...

  4. 学习推荐《精通Python网络爬虫:核心技术、框架与项目实战》中文PDF+源代码

    随着大数据时代的到来,我们经常需要在海量数据的互联网环境中搜集一些特定的数据并对其进行分析,我们可以使用网络爬虫对这些特定的数据进行爬取,并对一些无关的数据进行过滤,将目标数据筛选出来.对特定的数据进 ...

  5. python基础实例 韦玮 pdf_精通Python网络爬虫 核心技术、框架与项目实战 作者:韦玮PDF...

    文件目录: 书本介绍: 书名 精通Python网络爬虫:核心技术.框架与项目实战 作者 韦玮著 出版社 机械工业出版社 出版日期 2017 内容简介 本书从系统化的视角,为那些想学习Python网络爬 ...

  6. Android网络框架Volley项目实战-刘桂林-专题视频课程

    Android网络框架Volley项目实战-5257人已学习 课程介绍         使用Google 2013 I/O大会上发布的Volley请求框架做几个实战项目,归属地查询,QQ测试吉凶,天气 ...

  7. python快速编程入门课后程序题答案-Python编程从零基础到项目实战 完整PPT+习题答案...

    Python编程从零基础到项目实战是一本介绍Python相关知识的Python基础教程,内容涉及算法.Python数据分析.图形处理.Web开发.科学计算.项目管理.人工智能.Python爬虫等.其中 ...

  8. 零基础学python实战答案-Python编程从零基础到项目实战 完整PPT+习题答案

    Python编程从零基础到项目实战是一本介绍Python相关知识的Python基础教程,内容涉及算法.Python数据分析.图形处理.Web开发.科学计算.项目管理.人工智能.Python爬虫等.其中 ...

  9. 视频教程-Python+Vue+Django前后端分离项目实战-Python

    Python+Vue+Django前后端分离项目实战 教学风格独特,以学员视角出发设计课程,难易适度,重点突出,架构清晰,将实战经验融合到教学中.讲授技术同时传递方法.得到广大学员的高度认可. 王进 ...

  10. 网络营销:新媒体项目实战之今日头条推广引流技巧分享

    网络营销:新媒体项目实战之今日头条推广引流技巧分享 最新数据统计,今日头条累计激活用户数已达 7 亿,如此庞大的数据证明了其庞大的传播性和影响力.目前,今日头条已成为网络营销人才的主要战场.商家必争的 ...

最新文章

  1. windows7 下arp 绑定的实现
  2. B站超全分享!2万人收藏的免费计算机科学速成课
  3. 几个cvebase_ifo基础信息融合在一起
  4. php页面是什么原因,PHP空白页面常见原因及解决方法
  5. 微服务落地,我们在考虑什么?
  6. amd一点也不yes_最不值得买的高端显卡!RTX3080从真香变成了鸡肋?
  7. Java如何连接openvas_gas: chinese Gui for openvAS(GAS)
  8. 就业寒冬,从拉勾招聘看Python就业前景
  9. TeamCenter开发系统设计系列之一
  10. Linux之父道歉后,Linux社区颁布开发人员行为准则
  11. Opencv3.4.6+VS2019+win10安装教程
  12. 使用Windows中的字体生成点阵字库
  13. jetson nano 电源_Jetson Nano必读-第二站:电源
  14. Flume从入门实战到精通再到面试一文搞定
  15. Lake Shore低温温度传感器—DT-670 硅二极管
  16. 数据探索性分析(EDA)常用方法大合集
  17. 为什么要写博客,写博客有什么意义
  18. network_day1
  19. c语言代码运行成图指令代码,C语言图形编程代码.doc
  20. android 11.0 增加控制状态栏和导航栏的接口

热门文章

  1. 《废柴》系列 - What?废柴,你不会下载Google浏览器插件,Are you kidding???
  2. arm 基于qcamera实现_面向HPC和笔记本市场 ARM发Cortex A78C增强版
  3. 你必须掌握的常用正则表达式大全
  4. 最新微信公众平台JS逆向分析
  5. [微积分] 常用定义与公式
  6. html 签到日历,写一个签到日历
  7. 元胞自动机交通流模型c++_MATLAB——含出入匝道的交织区快速路元胞自动机模型...
  8. Ultra-QuickSort(离散化)
  9. mysql opendrowset,java,mysql、jdbc
  10. c++局部对象是什么_什么是Java内部类?