数据抓取方法、装置及电子设备制造方法及图纸

技术编号:24035899 阅读:26 留言:0更新日期:2020-05-07 01:53
本发明专利技术实施例提供了一种数据抓取方法、装置及电子设备,其中方法包括:接收数据抓取请求,所述数据抓取请求中至少包括资源配置参数,根据所述资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足所述资源配置参数,如果满足,则执行数据抓取,如果不满足,则向所述当前爬虫节点的邻近爬虫节点广播所述数据抓取请求。本发明专利技术实施例基于点对点的方式构建的爬虫网络系统来执行网络数据抓取,避免了服务器集中式的调度和数据传输的单点瓶颈问题,能够充分共享网络带宽,同时能够避免数据获取任务被目标网站屏蔽的风险。

Data grabbing method, device and electronic equipment

【技术实现步骤摘要】
数据抓取方法、装置及电子设备
本申请涉及一种数据抓取方法、装置及电子设备,属于计算机

技术介绍
网络爬虫是目前获取网站数据的重要方式,对数据分析、信息搜索等方面有重要作用。目前业界一般采用多机器部署的分布式网络爬虫架构,在这样的架构下需要通过中心化的节点进行统一调度,系统实现的成本非常高,而且一旦资源调度系统出现问题,会导致整个网络爬虫系统瘫痪。
技术实现思路
本专利技术实施例提供一种数据抓取方法、装置及电子设备,避免了服务器集中式的调度和数据传输的单点瓶颈问题,及数据获取任务被目标网站屏蔽的风险。为了实现上述目的,本专利技术实施例提供了一种数据抓取方法,包括:接收数据抓取请求,所述数据抓取请求中至少包括资源配置参数;根据所述资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足所述资源配置参数,如果满足,则执行数据抓取,如果不满足,则向所述当前爬虫节点的邻近爬虫节点广播所述数据抓取请求。本专利技术实施例还提供了一种数据抓取装置,包括:数据抓取请求接收模块,用于接收数据抓取请求,所述数据抓取请求中至少包括资源配置参数;数据抓取模块,用于根据所述资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足所述资源配置参数,在满足的情况下,执行数据抓取;数据抓取请求广播模块,用于根据所述资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足所述资源配置参数,在不满足的情况下,向所述当前爬虫节点的邻近爬虫节点广播所述数据抓取请求。本专利技术实施例还提供了一种电子设备,包括:存储器,用于存储程序;处理器,耦合至所述存储器,用于执行所述程序,以用于如下处理:接收数据抓取请求,所述数据抓取请求中至少包括资源配置参数;根据所述资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足所述资源配置参数,如果满足,则执行数据抓取,如果不满足,则向所述当前爬虫节点的邻近爬虫节点广播所述数据抓取请求。本专利技术实施例的数据抓取方法、装置及电子设备基于点对点的方式构建的爬虫网络系统来执行网络数据抓取,避免了服务器集中式的调度和数据传输的单点瓶颈问题,能够充分共享网络带宽,同时能够避免数据获取任务被目标网站屏蔽的风险。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明图1为本专利技术实施例的数据抓取方法的流程示意图;图2为本专利技术实施例的数据抓取方法的应用场景示意图;图3为本专利技术实施例的数据抓取装置的结构示意图之一;图4为本专利技术实施例的数据抓取装置的结构示意图之二;图5为本专利技术实施例的电子设备的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。网络爬虫是目前获取网站数据的重要方式,对数据分析、信息搜索等方面有重要作用。本专利技术实施例的数据抓取方法、装置及电子设备基于点对点的方式构建的爬虫网络系统来执行网络数据抓取,整个爬虫网络系统不需要任务调度,各个爬虫节点独立运行自身的工作流程,通过P2P(peer-to-peer,点对点)网络的机制,相互配合实现网页数据的抓取。避免了服务器集中式的调度和数据传输的单点瓶颈问题,能够充分共享网络带宽,同时能够避免数据获取任务被目标网站屏蔽的风险。下面通过一些具体实施例来进一步说明本专利技术的技术方案。实施例一如图1所示,其为本专利技术实施例的数据抓取方法的流程示意图,该方法基于多个爬虫节点以点对点的方式形成爬虫网络系统,该方法的处理流程可以运行在爬虫网络系统中的各个爬虫节点上执行,从而使得整个爬虫网络系统能够进行合理的数据抓取请求的散播以及数据抓取任务的协调分配。该方法包括如下步骤:S101:接收数据抓取请求,数据抓取请求中至少包括资源配置参数。资源配置参数是用户根据数据抓取需求而配置出的具体参数,其可以包括带宽、存储空间、处理器性能等资源配置信息,也可以包括数据抓取任务的处理时间等要求。具体地,如图2所示,其为本专利技术实施例的数据抓取方法的应用场景示意图,图中多个爬虫节点以点对点的方式形成爬虫网络系统,用户可以在客户端上配置好资源配置参数,例如,带宽、存储空间、处理器性能、IP地址等,并生成包含资源配置参数的数据抓取请求,然后发送至爬虫网络系统中的任意一个爬虫节点,其中,该爬虫节点作为源爬虫节点,将该数据抓取请求向爬虫网络系统进行散播。在下面的说明中将具体介绍通过该爬虫节点将数据抓取请求向爬虫网络系统中进行散播的具体处理机制。在步骤S101中,对于任意一个爬虫节点来说,接收到的数据抓取请求可能来自于上述客户端,也可能来自于其他爬虫节点的转发。S102:根据资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足资源配置参数,如果满足资源配置参数的要求,则执行步骤S103,如果不满足资源配置参数的要求,则执行步骤S104。具体地,爬虫节点的资源配置属性中可以包括爬虫节点的资源配置信息,例如,网络带宽、存储空间、处理器性能、IP地址等,通过将当前爬虫节点的资源配置属性和资源配置参数进行比较,确定当前爬虫节点是否满足资源配置参数。此外,在步骤S102之前,还可以包括:判断所述当前爬虫节点的是否处于空闲状态,如果当前节点处于空闲状态,再执行步骤S102的处理,如果没有处于空闲状态,则说明无论是否符合资源配置参数的要求,都无法执行数据抓取,因此,可以执行步骤S104。进一步地,数据抓取请求中还可以包括数据抓取量信息,在步骤S102之前,还可以包括:根据当前爬虫节点的负载状态,确定是否能够处理与所述数据抓取量对应的抓取任务,在一些比较大的爬虫节点上,可以通过负载均衡调度的方式执行多个抓取任务,这些爬虫节点可以根据数据抓取请求中的数据抓取量信息结合自身负载状态进行判断,如果能处理对应的数据抓取任务,再执行步骤S102的处理,否则,执行步骤S104。S103:执行数据抓取。在该步骤S103中,执行数据抓取具体处理可以有多种方式。数据抓取请求中可以携带有生成数据抓取请求的客户端的地址信息,在这种情况下,满足要求的爬虫节点可以直接与客户端建立通信连接,获取具体的数据抓取任务的相关内容,然后执行数据抓取任务,并向客户端返回抓取到的数据。另外,满足要求的爬虫节点也可以通过与客户端最早建立联系的源爬虫节点建立通信连接,来执行与数据抓取相关的信息交互,在这种情况下,数据抓取请求中可以携带有源爬虫节点的地址信息。在很多情况下,各个爬虫节点与客户端设置于同一台设备上,例如,许多爬虫本文档来自技高网...

【技术保护点】
1.一种数据抓取方法,包括:/n接收数据抓取请求,所述数据抓取请求中至少包括数据抓取任务所需的资源配置参数;/n根据所述资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足所述资源配置参数,如果满足,则执行数据抓取,如果不满足,则向所述当前爬虫节点的邻近爬虫节点广播所述数据抓取请求。/n

【技术特征摘要】
1.一种数据抓取方法,包括:
接收数据抓取请求,所述数据抓取请求中至少包括数据抓取任务所需的资源配置参数;
根据所述资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足所述资源配置参数,如果满足,则执行数据抓取,如果不满足,则向所述当前爬虫节点的邻近爬虫节点广播所述数据抓取请求。


2.根据权利要求1所述的方法,其中,所述资源配置参数包括:网络带宽、存储空间、处理器性能、IP地址中的一项或者多项的组合。


3.根据权利要求1所述的方法,其中,在根据所述资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足所述资源配置参数之前,还包括:
判断所述当前爬虫节点的是否处于空闲状态,如果是,则执行根据所述资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足所述资源配置参数的处理,否则,向所述当前爬虫节点的邻近爬虫节点广播所述数据抓取请求。


4.根据权利要求1所述的方法,其中,所述数据抓取请求中还包括数据抓取量信息,
在根据所述资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足所述资源配置参数之前,还包括:
根据当前爬虫节点的负载状态,确定是否能够处理与所述数据抓取量对应的抓取任务,如果能,则执行根据所述资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足所述资源配置参数的处理,否则,向所述当前爬虫节点的邻近爬虫节点广播所述数据抓取请求。


5.根据权利要求1所述的方法,其中,所述数据抓取请求中还包括用于记录该数据抓取请求的转发次数的字段,
所述向所述当前爬虫节点的邻近爬虫节点广播所述数据抓取请求包括:将所述字段中记录的转发次数加一后,向所述当前爬虫节点的邻近爬虫节点广播所述数据抓取请求,
所述方法还包括:接收数据抓取请求后,读取所述字段中记录的被转发次数,如果所述转发次数大于预设阈值,则丢弃该接收数据抓取请求,否则,执行根据所述资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足所述资源配置参数的处理。


6.根据权利要求1所述的方法,其中,所述数据抓取请求中还至少包括数据抓取请求的源爬虫节点的地址信息,
所述执行数据抓取包括:
向所述源爬虫节点返回响应消息;
接收所述源爬虫节点发送的数据抓取任务消息,数据抓取任务消息中至少包括待抓取数据的地址信息;
根据所述抓取任务消息执行数据抓取任务,并将抓取到的数据发送至所述源爬虫节点。


7.根据权利要求1所述的方法,其中,还包括:
从种子服务器获取种子爬虫节点的地址信息;
通过所述种子爬虫节点获取与当前爬虫节点的邻近爬虫节点的地址信息,并与所述邻近的爬虫节点建立路由关系。


8.根据权利要求7所述的方法,其中,通过所述种子爬虫节点获取与当前爬虫节点邻近的爬虫节点的地址信息,并与所述邻近的爬虫节点建立路由关...

【专利技术属性】
技术研发人员:朱东方邹启蒙刘庆周文军
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1