一、网络爬虫的组成
网络爬虫由控制节点、爬虫结点、资源库组成。网络爬虫中可以有多个控制节点,每个控制节点下有多个爬虫结点,控制节点之间可以互相通信,同时,控制结点和其下的个爬虫结点之间也可以进行相互通信。
控制节点:也叫做爬虫的中央控制器,主要负责根据URL地址分配线程,并调用爬虫结点进行具体的爬行。
爬虫节点:按照设定的算法,对网页进行具体的爬行,主要包括下载网页以及对网页的文本进行处理,爬行后,会将对应的爬行结果存储到对应的资源库中。
如图所示
二、 网络爬虫的类型:
1、通用网络爬虫:该类型爬取的资源在全互联网中,由于爬取数量大,对应的爬取性能要求较高,主要应用于大型搜索引擎。
通用网络爬虫的构成:URL集合、URL队列、页面爬行模块、页面分析模块、页面数据库、链接过滤模块等。采取的策略主要有深度优先爬行策略,广度优先爬行策略。
2、增量式网络爬虫:即爬取内容发生改变的网页或者新产生的网页,对于未发生内容改变的网页则不会爬取。
3、深层网络爬虫:即可以爬去网络中的深层页面。在互联网中,网页分为表层网页和深层网页。表层网页即指不需要提交表单的静态页面;而深层页面即指通过提交表单或者输入关键词才能够获取到的页面。
深层网络爬虫构成:URL列表、LVS列表(LVS指的是标签/数值集合,即填充表单1数据源、爬行控制器、解析器、LVS控制器、表单分析器、表单处理器、响应分析器等。
4、聚焦网络爬虫:可以按照预先定义好的主题有选择的进行网页爬取的一种爬虫。通过将爬取的目标网页定位在与主题相关的页面中,因此可以大大的节约爬虫所需的带宽资源和服务器资源。
聚焦网络爬虫的构成:URL集合、URL队列、页面爬行模块、页面分析模块、页面数据库、链接过滤模块、内容评价模块、链接评价模块等。内容评价模块可以评价内容的重要性,同理链接评价模块也可以评价出链接的重要性,然后根据链接和内容的重要性来确定哪些页面优先访问。
聚焦网络爬虫爬行策略:基于内容评价的爬行策略、基于链接评价的爬行策略、基于增强学习的爬行策略,基于语境图的爬行策略。
聚焦爬虫的工作原理和过程:
聚焦爬虫拥有一个控制中心,负责对整个爬虫系统进行管理和监控,主要包括控制用户交互,初始化爬行器,确定主题,协调各模块之间的工作,爬行过程等。
然后,将初始化的URL集合传递给URL列表,页面爬行模块会从URL队列中读取第一批URL列表,然后根据URL地址从互联网中进行相应的页面爬取。爬取后,将爬取到的内容传到页面数据库中存储,同时,在爬的过程中会爬取到一些新的URL地址,此时需要根据我们所定的主题使用链接过滤模块过滤掉无关的链接地址,再将剩下来的URL链接根据主题使用链接评价模块或内容评价模块进行优先级的排序。完成后再将新的URL地址传递到URL队列中,供页面爬行模块使用。另一方面,将页面爬取并存并放到页面数据库后,需要根据主题使用页面分析模块对爬取到的页面进行页面分析处理,并根据处理结果建立索引数据库,用户检索需要的信息时,可以从索引数据库中进行相应的检索,并得到对应的结果。
聚焦爬虫的主要工作流程图:
总结:聚焦爬虫可以按对应的主题有目的的进行爬取,并且可以节省大量的服务器资源和贷款资源,并且具有很强的实用性,了解聚焦爬虫的工作流程更有利于今后编写爬虫。