本发明涉及计算机应用技术领域的爬虫实现方法(组图)

优采云 发布时间: 2021-06-26 02:06

  

本发明涉及计算机应用技术领域的爬虫实现方法(组图)

  

  本发明涉及计算机应用技术领域,具体是一种实用性强、并发采集云端的爬虫实现方法。

  背景技术:

  随着互联网的飞速发展,大数据的概念越来越受到关注。企业可以使用网络爬虫采集Internet 中的数据。数据本身具有一定的商业价值,可以对海量数据进行进一步处理,发现更有价值的数据分析结果,并通过分析结果提供决策支持,带动企业加速发展。数据的价值越来越受到重视。

  但是,互联网上的数据逐年呈指数级增长,互联网也会限制爬虫。当爬虫较少时,爬取能力有限,因此大量用于分布式爬取的云服务器开始流行。基于此,我们现提供一种基于使用云端并发采集的爬虫实现方法,让服务器上的爬虫可以将网页下载任务分发到云端节点,实现*敏*感*词*分布式并发采集 .

  技术实现要素:

  本发明的技术任务是针对上述不足,提供一种实用性强、并发采集云端的爬虫实现方法。

  本发明使用云端并发采集的爬虫实现方法包括一个爬虫终端和若干个云节点服务器端。实现过程为:

  1)crawler端使用云节点服务器执行采集,爬虫向云节点服务器发送采集任务批次,通过验证和请求处理实现云节点服务器任务分发;

  2)cloud 节点服务器进行状态检测,实时检测云节点服务器的可用状态以及任务队列和下载队列的队列,并根据情况选择是否立即发送任务或接收网页云节点服务器情况;

  3)crawler 终端将本地数据库的配置同步到云节点服务器;

  4)云节点服务器网页接收,爬虫向云节点服务器请求下载页面,云节点服务器批量返回下载页面;

  5) 实现下载任务的异常容错处理和事务控制,通过本地缓存和数据实现异常容错处理,保证网页不丢失。

  1)步骤的详细流程为:

  爬虫终端从下载任务生产者处接收下载任务,是数据库中要下载的数据或者消息队列中要下载的数据;

  爬虫端定时将已有的任务配置同步到云节点服务器,云节点服务器按照规则进行间隔下载;

  爬虫检查所有云节点服务器的状态,选择可用并发任务队列数小于排队阈值的云节点服务器;

  爬虫将任务均匀发送到云节点服务器,并将发送信息记录回本地缓存和数据库。

  爬虫端通过tcp或http查看数据,定期查看云节点服务器的状态,查看云的可用状态,现有任务配置数,待下载任务数,下载数网页,状态等。该值在本地缓存。

  3)步骤中的配置同步是指爬虫从数据库中加载任务配置,推送到云节点服务器,实时检查云节点服务器配置和爬虫终端是否一致。如果它们不同,请一次性同步它们。

  步骤2)和步骤4)中的网页采集是指爬虫定期检查云端下载的网页数量,当下载的网页数量超过指定阈值时,立即采集云端网页。

  4)步骤的详细流程为:

  爬虫终端定期检查云节点服务器上下载的网页数量,当下载的网页数量超过下载阈值时,采集云节点的下载网页,并清除存储在云节点服务器上的网页。云节点;

  爬虫终端定期从云节点服务器获取下载网页队列中的网页数据,收到网页后根据关键字段删除本地缓存和数据库中记录的备份信息。此处的关键字段包括任务 ID、URL。

  5)步骤中的容错处理是指爬虫端缓存和数据库记录的双重保证,同时云和爬虫端的容错,即,本地缓存和数据库记录任务发送历史,采集的网页与发送历史对比,在一定时间内未下载的网页视为下载失败,重新发送。

  5)步骤的详细流程为:

  爬虫终端每次启动时查询数据库中的任务备份信息,对未下载的任务进行恢复;并且爬虫终端会定期检查本地缓存。当任务加入缓存的时间超过下载时长阈值时,视为下载失败,重新启动下载任务。

  本发明采用云端并发采集的爬虫实现方法具有以下优点:

  本发明提供了一种使用云端并发采集的爬虫实现方法,使用分布式云端并发采集,相当于增加了采集资源,大大提高了采集的效率;通过爬虫在客户端进行数据传输,也解决了直接访问云端本地数据带来的安全风险;通过爬虫终端发送批量下载任务,批量接收下载网页,提高了传输效率,减少了爬虫与云端交互的影响。最低;下载信息记录在本地和数据库中,实现对下载内容的异常容错处理和事务控制,保证下载任务的执行,减少传统爬虫容易出现的网页丢失。实用性强,适用范围广,易于推广。

  图纸说明

  图1为URL下载任务发送流程图。

  图2为云端时序检测流程图。

  附图3是网页回收的流程图。

  具体实现方法

  下面结合附图和具体实施例对本发明作进一步说明。

  如附图1、图2、图3所示,本发明采用云端并发采集的爬虫实现方法通过对云端节点的采集服务进行采集爬虫终端,并对其进行监控和管理。

  包括两个主要模块,爬虫端和云节点服务器。其中,云节点服务器包括几个。爬虫端可以定期查看云节点服务器状态,查看URL存储容器剩余容量,批量发送采集网站,批量回收已采集网页,批量发送网页采集规则等功能。云节点服务器接收待下载任务,并发下载任务,并能反馈当前任务容量信息。为表述方便,以下将云节点服务器统称为云。

  一种基于并发采集分布式云实现的爬虫实现策略。爬虫终端可以定期查看云端状态,选择云端发送任务;根据云端状态进行实时配置同步;根据云端下载网页的数量,选择采集网页的机会;通过本地缓存和数据实现异常容错处理,保证网页不丢失。

  所说的云状态检查是指通过tcp或http等多种方式中的一种来检查数据,检查云的可用状态,现有任务配置的数量,排队下载的任务数量,以及下载的网页数量。并且状态等值都缓存在本地。

  这里提到的配置同步是指爬虫端从数据库中加载任务配置并推送到云端,实时检查云端配置和爬虫端是否一致。如果它们不同,请一次性同步它们。

  所说的网页采集是指爬虫终端定期检查云端下载网页的数量,当下载网页数量超过指定阈值时,立即采集云端网页。

  上面提到的容错处理是指通过爬虫端缓存和数据库记录双重保证,可以同时在云端和爬虫端进行容错。

  更具体地说,本发明的实现过程为:

  1)crawler 终端通过云端采集:将采集任务批量发送到云端,通过一系列的验证、请求等处理实现云端任务分发;

  爬虫终端从下载任务生产者处接收下载任务。生产者可以是数据库中待下载的数据,也可以是消息队列中待下载的数据。

  爬虫端定时将已有的任务配置同步到云节点,云节点按照规则定时下载。

  2)云状态检测机制:可以实时检测云的可用性状态以及任务队列和下载队列的队列状态,并根据云选择是立即发送任务还是接收网页情况;

  爬虫端检查所有云节点的状态,选择排队可用并发任务数小于队列阈值的云节点。爬虫端将任务均匀地发送到云节点,并将信息记录并发回本地缓存和数据库。

  3)crawler 同步配置到云端:将本地数据库的配置同步到云端,解决云端访问数据库的安全问题;

  爬虫终端定期检查云节点下载的网页数量,当下载网页数量超过下载阈值时,采集云节点下载的网页,并清除存储在云端的网页节点。

  4)Cloud 网页采集:爬虫向云端请求下载的页面,云端批量返回下载的页面;

  定时获取已下载网页:后端定时从云端获取已下载网页队列中的网页数据,收到网页后根据任务ID、URL等关键字段删除本地缓存和数据库中记录的备份信息。

  5) 实现下载任务的异常容错处理和事务控制:通过本地缓存和数据库记录任务发送历史,并将接收到的网页与发送历史进行对比。一定时间内未下载的网页视为下载失败。补发处理。

  爬虫终端每次启动都会查询数据库中的任务备份信息,对没有下载的任务进行恢复。

  爬虫终端定期检查本地缓存。当任务加入缓存的时间超过下载时长阈值时,认为下载失败,重新开始下载任务。

  以上具体实施方式仅为本发明的具体情况。本发明的专利保护范围包括但不限于上述具体实施方式,以及任何根据本发明使用云端并发采集的爬虫实现方法的权利要求和本技术领域的普通技术人员,均属于本发明的专利保护范围。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线