什么是网络爬虫

1、初识网络爬虫

  网络爬虫又称网络蜘蛛、网络蚂蚁、网络机器人,可以自动化浏览网络中的信息,当然浏览信息的时候需要按照我们制定的规则进行,这些规则我们称之为网络爬虫算法。使用Python可以方便的编写出爬虫程序,进行互联网信息的自动化检索。
  搜索引擎离不开爬虫,百度搜索引擎的爬虫叫百度蜘蛛(Baiduspider),360的爬虫叫360Spider,搜狗的爬虫叫Sougouspider,必应的爬虫叫Bingbot。
  这些爬虫每天会在海量的互联网信息中进行爬取,爬取优质信息并收录,当用户在搜索引擎上检所对应关键词时,它们将对关键词进行分析处理,从收录的网页中找出相关网页,按照一定的排名规则进行排序并将结果展示给用户。在这个过程中,爬虫起到了至关重要的作用。

2、为什么要学网络爬虫
  • 学习爬虫可以私人订制一个搜索引擎,可以对搜索引擎的数据采集工作原理进行更深层次的理解。
  • 大数据时代,要进行数据分析,学习爬虫可以让我们获取更多的数据源,并且这些数据源可以按我们的目的进行采集,去掉很多无关数据。
  • 对于很多SEO从业者来说,学习爬虫,可以更深层次地理解搜索引擎爬虫的工作原理,从而可以更好地进行索索引擎优化。
  • 从就业的角度来说,爬虫工程师目前来说属于紧缺人才,并且薪资待遇普遍较高,所以,深层次的掌握这门技术,对于从业者来说,是非常有利的。
      除了以上原因外,可能你还有一些其他学习爬虫的原因,总之不管是什么原因,理清自己的学习目的,就可以更好地去研究一门知识技术,并坚持下来。
3、网络爬虫的组成

  网络爬虫由控制节点、爬虫节点、资源库构成。

什么是网络爬虫_第1张图片
网络爬虫的控制节点和爬虫节点的结构关系图

  网络爬虫中可以有多个控制节点,每个控制节点下可以有多个爬虫节点,控制节点之间可以互相通信,同时,控制节点和其下的各爬虫节点之间也可以进行互相通信,属于同一个控制节点下的爬虫节点,亦可以互相通信。
  控制节点:爬虫的中央控制器,主要负责根据URL地址分配线程,并调用爬虫节点进行具体的爬行。
  爬虫节点 会按照相关的算法,对网页进行具体的爬行,主要包括下载网页以及对网页的文本进行处理,爬行后,会将对应的爬行结果存储到对应的资源库中。

4、网络爬虫的类型

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

(1)通用网络爬虫(全网爬虫):

   目标资源全互联网目标数据巨大爬行范围非常大性能需求高主要应用大型搜索引擎中,有非常高的应用价值。
  基本构成:由初始URL集合、URL队列、页面爬行模块、页面分析模块、页面数据库、链接过滤模块等构成。
  爬行策略深度优先爬行策略广度优先爬行策略

(2)聚焦网络爬虫(主题网络爬虫):

   目标资源是与主题相关的页面,可以大大节省爬虫爬取时所需的带宽资源和服务器资源,主要应用在对特定信息的爬取中,主要为一类特定的人群提供服务。
   基本构成:由初始URL集合、URL队列、页面爬行模块、页面分析模块、页面数据库、链接过滤模块、内容评价模块、链接评价模块等构成。
  内容评价模块:可以评价内容的重要性;同理,链接评价模块:可以评价出链接的重要性,然后根据内容和链接的重要性,可以确定哪些页面优先访问

聚焦网络爬虫的策略
  • 基于内容评价的爬行策略
  • 基于链接评价的爬行策略
  • 基于增强学习的爬行策略
  • 基于语境图的爬行策略
(3)增量式网络爬虫:

  所谓增量式,对应着增量式更新,所以增量式网络爬虫,再爬取网页的时候,只爬取内容发生变化的网页,对未发生内容变化的网页,则不会爬取。增量式网络爬虫在一定程度上能够保证爬取的页面,尽可能是新页面。

(4)深层网络爬虫:

   目标资源互联网中的深层页面

  什么是深层页面?
  在互联网中,网页按存在方式分类,可以分为表层页面深层页面
  表层页面:指的是不需要提交表单,使用静态链接就能够到达的静态页面。
  深层页面:隐藏在表单后面,不能通过静态链接直接获取,是需要提交一定的关键词之后才能获取得到的页面。
在互联网中,深层页面的数量往往比表层页面的数量要多很多,所以,我们需要想办法爬取深层页面。
  基本构成:URL列表、LVS列表(LVS指的是标签/数值集合。即填充表单的数据源)、爬行控制器、解析器、LVS控制器、表单分析器、表单处理器、响应分析器等部分构成。
  表单类型:深层网络爬虫的表单填写有两种类型
  a、给予领域知识的表单填写:简单来说,就是建立一个填写表单的关键词库,在需要填写的时候,根据语义分析选择对应的关键词进行填写。
  b、基于网页结构分析的表单填写,简单来说,就是这种填写方式一般是领域知识有限的情况下使用,这种方式会根据网页结构进行分析,并自动的进行表单填写。
  以上就是网络爬虫中常见的几种类型。

5、爬虫扩展——聚焦爬虫:

  聚焦爬虫可以按对应的主题有目的地进行爬取,并且可以节省大量的服务器资源带宽资源,具有很强的实用性

什么是网络爬虫_第2张图片
聚焦爬虫运行的流程.png

  首先,聚焦爬虫拥有 一个控制中心,该控制中心负责对整个爬虫系统进行 管理监控,主要包括控制 用户交互初始化爬行器确定主题协调各模块间的工作控制爬行过程等。

  然后,控制中心初始的URL集合传递给URL队列页面爬行模块会从URL队列中读取第一批URL列表,然后根据这些URL地址从互联网中进行相应的页面爬取。爬取后,将爬取到的内容传到页面数据库中存储,同时,在爬行过程中,会爬取到一些新的URL,此时,需要我们根据所定的主题使用链接过滤模块来过滤无用的URL(链接),在将剩下的URL链接根据主题使用链接评价模块内容评价模块进行优先级的排序。完成后,将新的URL地址传递到URL队列中,供页面爬行模块使用。另一方面,将页面爬取并存放到页面数据库后,需要根据主题使用页面分析模块对爬取到的页面进行页面分析处理,并根据处理结果建立索引数据库用户检索对应信息时,可以从索引数据库中进行相应的检索,并得到对应的结果。
  这就是聚焦爬虫的主要工作流程,了解聚焦爬虫的主要工作流程有助于我们编写聚焦爬虫,使编写的思路更加清晰。

6、小结

1)网络爬虫也叫网络蜘蛛、网络蚂蚁、网络机器人等,可以自动地浏览网络中的信息,当然浏览信息的时候需要按照我们制定的规则去浏览,这些规则我们将其称为网络爬虫算法。使用Python可以很方便的编写出爬虫程序,进行互联网信息的自动化检索。
2)学习爬虫,可以:
①私人订制一个搜索引擎,并且可以对搜索引擎的数据采集工作原理,进行更深层次的理解;
②为大数据分析提供更多高质量的数据源;
③更好的研究搜索引擎优化;
④解决就业或跳槽的问题。
3)网络爬虫由控制节点、爬虫节点、数据库构成。
4)网络爬虫按照实现的技术和结构可以分为通用网络爬虫、聚焦网络爬虫、增量是网络爬虫、深层网络爬虫等类型。在实际的网络爬虫中,通常是这几类爬虫的组合体。
5)聚焦网络爬虫主要由初始URL集合、URL队列、页面爬行模块、页面分析模块、页面数据库、链接过滤模块、内容评价模块、链接评价模块等构成。

你可能感兴趣的:(什么是网络爬虫)