CN111104575A - 数据抓取方法、装置及电子设备 - Google Patents
数据抓取方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111104575A CN111104575A CN201811269970.6A CN201811269970A CN111104575A CN 111104575 A CN111104575 A CN 111104575A CN 201811269970 A CN201811269970 A CN 201811269970A CN 111104575 A CN111104575 A CN 111104575A
- Authority
- CN
- China
- Prior art keywords
- crawler
- node
- data
- resource configuration
- crawler node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种数据抓取方法、装置及电子设备,其中方法包括:接收数据抓取请求,所述数据抓取请求中至少包括资源配置参数,根据所述资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足所述资源配置参数,如果满足,则执行数据抓取,如果不满足,则向所述当前爬虫节点的邻近爬虫节点广播所述数据抓取请求。本发明实施例基于点对点的方式构建的爬虫网络***来执行网络数据抓取,避免了服务器集中式的调度和数据传输的单点瓶颈问题,能够充分共享网络带宽,同时能够避免数据获取任务被目标网站屏蔽的风险。
Description
技术领域
本申请涉及一种数据抓取方法、装置及电子设备,属于计算机技术领域。
背景技术
网络爬虫是目前获取网站数据的重要方式,对数据分析、信息搜索等方面有重要作用。目前业界一般采用多机器部署的分布式网络爬虫架构,在这样的架构下需要通过中心化的节点进行统一调度,***实现的成本非常高,而且一旦资源调度***出现问题,会导致整个网络爬虫***瘫痪。
发明内容
本发明实施例提供一种数据抓取方法、装置及电子设备,避免了服务器集中式的调度和数据传输的单点瓶颈问题,及数据获取任务被目标网站屏蔽的风险。
为了实现上述目的,本发明实施例提供了一种数据抓取方法,包括:
接收数据抓取请求,所述数据抓取请求中至少包括资源配置参数;
根据所述资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足所述资源配置参数,如果满足,则执行数据抓取,如果不满足,则向所述当前爬虫节点的邻近爬虫节点广播所述数据抓取请求。
本发明实施例还提供了一种数据抓取装置,包括:
数据抓取请求接收模块,用于接收数据抓取请求,所述数据抓取请求中至少包括资源配置参数;
数据抓取模块,用于根据所述资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足所述资源配置参数,在满足的情况下,执行数据抓取;
数据抓取请求广播模块,用于根据所述资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足所述资源配置参数,在不满足的情况下,向所述当前爬虫节点的邻近爬虫节点广播所述数据抓取请求。
本发明实施例还提供了一种电子设备,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,以用于如下处理:
接收数据抓取请求,所述数据抓取请求中至少包括资源配置参数;
根据所述资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足所述资源配置参数,如果满足,则执行数据抓取,如果不满足,则向所述当前爬虫节点的邻近爬虫节点广播所述数据抓取请求。
本发明实施例的数据抓取方法、装置及电子设备基于点对点的方式构建的爬虫网络***来执行网络数据抓取,避免了服务器集中式的调度和数据传输的单点瓶颈问题,能够充分共享网络带宽,同时能够避免数据获取任务被目标网站屏蔽的风险。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
图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中,执行数据抓取具体处理可以有多种方式。数据抓取请求中可以携带有生成数据抓取请求的客户端的地址信息,在这种情况下,满足要求的爬虫节点可以直接与客户端建立通信连接,获取具体的数据抓取任务的相关内容,然后执行数据抓取任务,并向客户端返回抓取到的数据。另外,满足要求的爬虫节点也可以通过与客户端最早建立联系的源爬虫节点建立通信连接,来执行与数据抓取相关的信息交互,在这种情况下,数据抓取请求中可以携带有源爬虫节点的地址信息。在很多情况下,各个爬虫节点与客户端设置于同一台设备上,例如,许多爬虫节点以程序模块或者虚拟机的方式运行在个人电脑或者移动终端或者企业的服务器上,在这种情况下,源爬虫节点与客户端的地址信息是指向同一设备。
具体地,以通过源爬虫节点来进行数据抓取的信息交互为例,介绍一下数据抓取的具体处理过程。数据抓取请求中携带有数据抓取请求的源爬虫节点的地址信息,满足资源配置参数的爬虫节点在接收到数据抓取请求后,向源爬虫节点返回响应消息。从而直接建立与源爬虫节点之间的连接,而无需经过其他路由节点。
之后,源爬虫节点会发送数据抓取任务消息,其中可以包含具体的网站地址以及任务配置信息,这里的任务配置信息可以包括:数据存储格式、数据抓取时间等。接收到源爬虫节点发送的数据抓取任务消息的爬虫节点,根据数据抓取任务消息执行数据抓取,而后将抓取到的数据直接发送给源爬虫节点。源爬虫节点与客户端已经建立了通信连接,源爬虫节点可以将抓取到的数据提供给客户端。
S104:向当前爬虫节点的邻近爬虫节点广播数据抓取请求。
如果当前爬虫节点不满足资源配置参数,那么,可以通过当前爬虫节点向邻近的爬虫节点广播该数据抓取请求,邻近的爬虫节点也将重复上述过程,直到找到满足要求的爬虫节点或者完成预设的转发次数的阈值。
具体地,在数据抓取请求中可以包括用于记录该数据抓取请求的转发次数的字段,在上述步骤S104中,将所述字段中记录的转发次数加一后,再向所述当前爬虫节点的邻近爬虫节点广播所述数据抓取请求。
相对应,在步骤S101中,在爬虫节点接收到一个数据抓取请求后,可以对该数据抓取请求中的上述字段进行读取,对转发次数进行判断,如果所述转发次数大于预设阈值,则丢弃该接收数据抓取请求,否则,执行步骤S102。
通过向邻近节点广播数据抓取请求,能够将该数据抓取请求快速地向网络爬虫***进行扩散,从而能够快速找到满足要求的爬虫节点。
由此可见,整个爬虫网络***不需要任务调度,各个爬虫节点独立运行自身的工作流程,相互配合实现网页数据的抓取。
以上描述的各个爬虫节点针对数据抓取事项的基本处理逻辑。下面介绍一下,新的爬虫节点加入该爬虫网络***的处理过程。
当有新的爬虫节点加入爬虫网络***时,新的爬虫节点可以从种子服务器获取种子爬虫节点的地址信息,为表述方便,将此新的爬虫节点称作当前爬虫节点,其通过种子爬虫节点获取与当前爬虫节点的邻近爬虫节点的地址信息,并与邻近的爬虫节点建立路由关系。在本发明实施例中,爬虫节点中可以设置有路由信息表,该路由信息表主要用于前述的数据抓取请求的散播,本发明实施例中爬虫节点的之间建立路由关系是指,在一个爬虫节点的路由信息表中,记录了另一个爬虫节点的地址信息,从而在接收到数据抓取请求时,如果自身不满足要求,会根据路由信息表的记录向其他爬虫节点广播。
具体地,上述的新的爬虫节点与爬虫网络***中的爬虫节点建立路由关系的具体处理过程可以为:
从种子爬虫节点为起始的爬虫节点,利用爬虫节点中存储的邻近爬虫节点的地址信息,当前爬虫节点不断地获取爬虫网络***中的其他爬虫节点的地址信息。图2中所示,种子服务器中记录有多个种子爬虫节点的地址信息,种子爬虫节点是在整个爬虫网络***中,稳定性较高的爬虫节点,从而可以为新的爬虫节点提供稳定接入爬虫网络***的入口,种子爬虫节点作为爬虫网络***中的成员,也同样执行前述的处理逻辑。
例如,以爬虫节点1作为种子爬虫节点,当前爬虫节点通过爬虫节点1可以获取爬虫节点2、3、4的地址信息,并通过爬虫节点2、4可以获取爬虫节点5、8的地址信息,同样的道理,可以不断获取爬虫网络***中更多爬虫节点的地址信息。
然后,可以计算当前爬虫节点与获取到地址信息的各个爬虫节点之间的网络距离,例如,可以计算拓扑关系路径上的距离或者是通过爬虫节点之间的响应时间来计算各个爬虫节点之间的网络距离,再根据网络距离的大小进行筛选,选择网络距离小于预设距离阈值的爬虫节点和/或满足预设数量要求的爬虫节点,作为当前爬虫节点的邻近爬虫网络节点,并在当前爬虫节点中存储该邻近爬虫网络节点的地址信息,从而与邻近爬虫网络节点建立路由关系。
需要说明的是:上述对网络距离进行筛选,并选择网络距离小于预设距离阈值的爬虫节点的目的在于能够快速地对数据抓取请求进行散播以找到符合要求的爬虫节点,并且在执行数据抓取任务时,能够以较快的速度将抓取到的数据返回给源爬虫节点。
本发明实施例的数据抓取方法,基于点对点的方式构建的爬虫网络***来执行网络数据抓取,避免了服务器集中式的调度和数据传输的单点瓶颈问题,能够充分共享网络带宽,同时能够避免数据取任务被目标网站屏蔽的风险。
实施例二
如图3所示,其为本发明实施例的数据抓取装置的结构示意图之一,该装置包括:数据抓取请求接收模块21,数据抓取请求判定模块22,数据抓取模块23,数据抓取请求广播模块24。
数据抓取请求接收模块21,用于接收数据抓取请求,数据抓取请求中至少包括资源配置参数。
数据抓取请求判定模块22,用于根据资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足资源配置参数的要求。
具体地,爬虫节点的资源配置属性中可以包括爬虫节点的资源配置信,例如,网络带宽、存储空间、处理器性能、IP地址等。通过将当前爬虫节点的资源配置属性和资源配置参数进行比较,确定当前爬虫节点是否满足资源配置参数。
此外,数据抓取请求判定模块22在执行针对资源配置参数的判断之前,还可以包括:判断所述当前爬虫节点的是否处于空闲状态,如果当前节点处于空闲状态,如果当前节点处于空闲状态,再执行后续的判断处理,如果没有处于空闲状态,则说明无论是否符合资源配置参数的要求,都无法执行数据抓取,因此,可以触发数据抓取请求广播模块24向邻近爬虫节点广播数据抓取请求。
进一步地,数据抓取请求中还可以包括数据抓取量信息,数据抓取请求判定模块22在执行针对资源配置参数的判断之前,还可以包括:根据当前爬虫节点的负载状态,确定是否能够处理与所述数据抓取量对应的抓取任务,在一些比较大的爬虫节点上,可以通过负载均衡调度的方式执行多个抓取任务,这些爬虫节点可以根据数据抓取请求中的数据抓取量信息结合自身负载状态进行判断,如果能处理对应的数据抓取任务,再执行后续的判断处理,否则,触发数据抓取请求广播模块24向邻近爬虫节点广播数据抓取请求。
数据抓取模块23,用于在前爬虫节点的资源配置属性满足资源配置参数的要求的情况下,执行数据抓取。
执行数据抓取具体处理可以有多种方式。数据抓取请求中可以携带有生成数据抓取请求的客户端的地址信息,在这种情况下,满足要求的爬虫节点可以直接与客户端建立通信连接,获取具体的数据抓取任务的相关内容,然后执行数据抓取任务,并向客户端返回抓取到的数据。另外,满足要求的爬虫节点也可以通过与客户端最早建立联系的源爬虫节点建立通信连接,来执行与数据抓取相关的信息交互,在这种情况下,数据抓取请求中可以携带有源爬虫节点的地址信息。在很多情况下,各个爬虫节点与客户端设置于同一台设备上,例如,许多爬虫节点以程序模块或者虚拟机的方式运行在个人电脑或者移动终端或者企业的服务器上,在这种情况下,源爬虫节点与客户端的地址信息是指向同一设备。
具体地,以通过源爬虫节点来进行数据抓取的信息交互为例,介绍一下数据抓取的具体处理过程。数据抓取请求中携带有数据抓取请求的源爬虫节点的地址信息,满足资源配置参数的爬虫节点在接收到数据抓取请求后,向源爬虫节点返回响应消息。从而直接建立与源爬虫节点之间的连接,而无需经过其他路由节点。
之后,源爬虫节点会发送数据抓取任务消息,其中可以包含具体的网站地址以及任务配置信息,这里的任务配置信息可以包括:数据存储格式、数据抓取时间等。接收到源爬虫节点发送的数据抓取任务消息的爬虫节点,根据数据抓取任务消息执行数据抓取,而后将抓取到的数据直接发送给源爬虫节点。源爬虫节点与客户端已经建立了通信连接,源爬虫节点可以将抓取到的数据提供给客户端。
数据抓取请求广播模块24,用于在前爬虫节点的资源配置属性不满足资源配置参数的要求的情况下,向当前爬虫节点的邻近爬虫节点广播数据抓取请求。
如果当前爬虫节点不满足资源配置参数,那么,可以通过当前爬虫节点向邻近的爬虫节点广播该数据抓取请求,邻近的爬虫节点也将重复上述过程,直到找到满足要求的爬虫节点或者完成预设的转发次数的阈值。
具体地,在数据抓取请求中可以包括用于记录该数据抓取请求的转发次数的字段,数据抓取请求广播模块24可以将所述字段中记录的转发次数加一后,再向所述当前爬虫节点的邻近爬虫节点广播所述数据抓取请求。
相对应,在数据抓取请求接收模块21中,在爬虫节点接收到一个数据抓取请求后,可以对该数据抓取请求中的上述字段进行读取,对转发次数进行判断,如果所述转发次数大于预设阈值,则丢弃该接收数据抓取请求,否则,数据抓取请求广播模块24向邻近爬虫节点广播数据抓取请求。
通过向邻近节点广播数据抓取请求,能够将该数据抓取请求快速地向网络爬虫***进行扩散,从而能够快速找到满足要求的爬虫节点。
以上描述的各个爬虫节点针对数据抓取事项的基本处理逻辑。在此基础上,如图4所示,其为本发明实施例的数据抓取装置的结构示意图之二,在上述数据抓取装置的基础上还可以包括:
路由关系建立模块20,用于从种子服务器获取种子爬虫节点的地址信息,通过种子爬虫节点获取与当前爬虫节点的邻近爬虫节点的地址信息,并与邻近的爬虫节点建立路由关系。
当有新的爬虫节点加入爬虫网络***时,新的爬虫节点可以从种子服务器获取种子爬虫节点的地址信息,为表述方便,将此新的爬虫节点称作当前爬虫节点,其通过种子爬虫节点获取与当前爬虫节点的邻近爬虫节点的地址信息,并与邻近的爬虫节点建立路由关系。在本发明实施例中,爬虫节点中可以设置有路由信息表,该路由信息表主要用于前述的数据抓取请求的散播,本发明实施例中爬虫节点的之间建立路由关系是指,在一个爬虫节点的路由信息表中,记录了另一个爬虫节点的地址信息,从而在接收到数据抓取请求时,如果自身不满足要求,会根据路由信息表的记录向其他爬虫节点广播。
具体地,上述的新的爬虫节点与爬虫网络***中的爬虫节点建立路由关系的具体处理过程可以为:
从种子爬虫节点为起始的爬虫节点,利用爬虫节点中存储的邻近爬虫节点的地址信息,当前爬虫节点不断地获取爬虫网络***中的其他爬虫节点的地址信息。
然后,可以计算当前爬虫节点与获取到地址信息的各个爬虫节点之间的网络距离,例如,可以计算拓扑关系路径上的距离或者是通过爬虫节点之间的响应时间来计算各个爬虫节点之间的网络距离,再根据网络距离的大小进行筛选,选择网络距离小于预设距离阈值的爬虫节点和/或满足预设数量要求的爬虫节点,作为当前爬虫节点的邻近爬虫网络节点,并在当前爬虫节点中存储该邻近爬虫网络节点的地址信息,从而与邻近爬虫网络节点建立路由关系。
需要说明的是:上述对网络距离进行筛选,并选择网络距离小于预设距离阈值的爬虫节点的目的在于能够快速地对数据抓取请求进行散播以找到符合要求的爬虫节点,并且在在执行数据抓取任务时,能够以较快的速度将抓取到的数据返回给源爬虫节点。
本发明实施例的数据抓取装置基于点对点的方式构建的爬虫网络***来执行网络数据抓取,避免了服务器集中式的调度和数据传输的单点瓶颈问题,能够充分共享网络带宽,同时能够避免数据取任务被目标网站屏蔽的风险。
实施例三
前面实施例描述了本发明实施例的流程处理及装置结构,上述的方法和装置的功能可借助一种电子设备实现完成,如图5所示,其为本发明实施例的电子设备的结构示意图,具体包括:存储器110和处理器120。
存储器110,用于存储程序。
除上述程序之外,存储器110还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器110可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器120,耦合至存储器110,用于执行存储器110中的程序,以用于执行如下处理:
接收数据抓取请求,数据抓取请求中至少包括资源配置参数;
根据资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足资源配置参数,如果满足,则执行数据抓取,如果不满足,则向当前爬虫节点的邻近爬虫节点广播数据抓取请求。
其中,所述资源配置参数可以包括:网络带宽、存储空间、处理器性能、IP地址中的一项或者多项的组合。
其中,在根据所述资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足所述资源配置参数之前,还可以包括:
判断所述当前爬虫节点的是否处于空闲状态,如果是,则执行根据所述资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足所述资源配置参数的处理,否则,向所述当前爬虫节点的邻近爬虫节点广播所述数据抓取请求。
其中,所述数据抓取请求中还可以包括数据抓取量信息,
在根据所述资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足所述资源配置参数之前,还可以包括:
根据当前爬虫节点的负载状态,确定是否能够处理与所述数据抓取量对应的抓取任务,如果能,则执行根据所述资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足所述资源配置参数的处理,否则,向所述当前爬虫节点的邻近爬虫节点广播所述数据抓取请求。
其中,所述数据抓取请求中还可以包括用于记录该数据抓取请求的转发次数的字段,
所述向所述当前爬虫节点的邻近爬虫节点广播所述数据抓取请求可以包括:将所述字段中记录的转发次数加一后,向所述当前爬虫节点的邻近爬虫节点广播所述数据抓取请求,
上述处理还可以包括:接收数据抓取请求后,读取所述字段中记录的被转发次数,如果所述转发次数大于预设阈值,则丢弃该接收数据抓取请求,否则,执行根据所述资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足所述资源配置参数的处理。
其中,数据抓取请求中还至少包括数据抓取请求的源爬虫节点的地址信息,相应地,执行数据抓取可以包括:
向源爬虫节点返回响应消息;
接收源爬虫节点发送的数据抓取任务消息,数据抓取任务消息中至少包括待抓取数据的地址信息;
根据抓取任务消息执行数据抓取任务,并将抓取到的数据发送至源爬虫节点。
其中,上述处理还可以包括:
从种子服务器获取种子爬虫节点的地址信息,通过种子爬虫节点获取与当前爬虫节点的邻近爬虫节点的地址信息,并与邻近的爬虫节点建立路由关系。
其中,通过种子爬虫节点获取与当前爬虫节点邻近的爬虫节点的地址信息,并与邻近的爬虫节点建立路由关系可以包括:
以种子爬虫节点作为起始的爬虫节点,利用各个爬虫节点中存储的邻近爬虫节点的地址信息,当前爬虫节点不断地获取爬虫网络***中的各个爬虫节点的地址信息;
计算当前爬虫节点与获取到地址信息的各个爬虫节点之间的网络距离;
选择网络距离小于预设距离阈值的爬虫节点和/或满足预设数量要求的爬虫节点,作为当前爬虫节点的邻近爬虫网络节点,并在当前爬虫节点中存储该邻近爬虫网络节点的地址信息,从而与邻近爬虫网络节点建立路由关系。
上述对于上述处理过程具体说明、技术原理详细说明以及技术效果详细分析在前面实施例中进行了详细描述,在此不再赘述。
进一步,如图所示,电子设备还可以包括:通信组件130、电源组件140、音频组件150、显示器160等其它组件。图中仅示意性给出部分组件,并不意味着电子设备只包括图中所示组件。
通信组件130被配置为便于电子设备和其他设备之间有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件130经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,通信组件130还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件140,为电子设备的各种组件提供电力。电源组件140可以包括电源管理***,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件150被配置为输出和/或输入音频信号。例如,音频组件150包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器110或经由通信组件130发送。在一些实施例中,音频组件150还包括一个扬声器,用于输出音频信号。
显示器160包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (13)
1.一种数据抓取方法,包括:
接收数据抓取请求,所述数据抓取请求中至少包括数据抓取任务所需的资源配置参数;
根据所述资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足所述资源配置参数,如果满足,则执行数据抓取,如果不满足,则向所述当前爬虫节点的邻近爬虫节点广播所述数据抓取请求。
2.根据权利要求1所述的方法,其中,所述资源配置参数包括:网络带宽、存储空间、处理器性能、IP地址中的一项或者多项的组合。
3.根据权利要求1所述的方法,其中,在根据所述资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足所述资源配置参数之前,还包括:
判断所述当前爬虫节点的是否处于空闲状态,如果是,则执行根据所述资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足所述资源配置参数的处理,否则,向所述当前爬虫节点的邻近爬虫节点广播所述数据抓取请求。
4.根据权利要求1所述的方法,其中,所述数据抓取请求中还包括数据抓取量信息,
在根据所述资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足所述资源配置参数之前,还包括:
根据当前爬虫节点的负载状态,确定是否能够处理与所述数据抓取量对应的抓取任务,如果能,则执行根据所述资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足所述资源配置参数的处理,否则,向所述当前爬虫节点的邻近爬虫节点广播所述数据抓取请求。
5.根据权利要求1所述的方法,其中,所述数据抓取请求中还包括用于记录该数据抓取请求的转发次数的字段,
所述向所述当前爬虫节点的邻近爬虫节点广播所述数据抓取请求包括:将所述字段中记录的转发次数加一后,向所述当前爬虫节点的邻近爬虫节点广播所述数据抓取请求,
所述方法还包括:接收数据抓取请求后,读取所述字段中记录的被转发次数,如果所述转发次数大于预设阈值,则丢弃该接收数据抓取请求,否则,执行根据所述资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足所述资源配置参数的处理。
6.根据权利要求1所述的方法,其中,所述数据抓取请求中还至少包括数据抓取请求的源爬虫节点的地址信息,
所述执行数据抓取包括:
向所述源爬虫节点返回响应消息;
接收所述源爬虫节点发送的数据抓取任务消息,数据抓取任务消息中至少包括待抓取数据的地址信息;
根据所述抓取任务消息执行数据抓取任务,并将抓取到的数据发送至所述源爬虫节点。
7.根据权利要求1所述的方法,其中,还包括:
从种子服务器获取种子爬虫节点的地址信息;
通过所述种子爬虫节点获取与当前爬虫节点的邻近爬虫节点的地址信息,并与所述邻近的爬虫节点建立路由关系。
8.根据权利要求7所述的方法,其中,通过所述种子爬虫节点获取与当前爬虫节点邻近的爬虫节点的地址信息,并与所述邻近的爬虫节点建立路由关系包括:
以种子爬虫节点作为起始的爬虫节点,利用各个爬虫节点中存储的邻近爬虫节点的地址信息,当前爬虫节点不断地获取爬虫网络***中的各个爬虫节点的地址信息;
计算当前爬虫节点与获取到地址信息的各个爬虫节点之间的网络距离;
选择网络距离小于预设距离阈值的爬虫节点和/或满足预设数量要求的爬虫节点,作为当前爬虫节点的邻近爬虫网络节点,并在当前爬虫节点中存储该邻近爬虫网络节点的地址信息,从而与邻近爬虫网络节点建立路由关系。
9.一种数据抓取装置,包括:
数据抓取请求接收模块,用于接收数据抓取请求,所述数据抓取请求中至少包括资源配置参数;
数据抓取请求判定模块,用于根据所述资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足所述资源配置参数的要求;
数据抓取模块,用于在前爬虫节点的资源配置属性满足所述资源配置参数的要求的情况下,执行数据抓取;
数据抓取请求广播模块,用于在前爬虫节点的资源配置属性不满足所述资源配置参数的要求的情况下,向所述当前爬虫节点的邻近爬虫节点广播所述数据抓取请求。
10.根据权利要求9所述的装置,其中,所述数据抓取请求中还至少包括数据抓取请求的源爬虫节点的地址信息,
所述执行数据抓取包括:
向所述源爬虫节点返回响应消息;
接收所述源爬虫节点发送的数据抓取任务消息,数据抓取任务消息中至少包括待抓取数据的地址信息;
根据所述抓取任务消息执行数据抓取任务,并将抓取到的数据发送至所述源爬虫节点。
11.根据权利要求9所述的装置,其中,还包括:
路由关系建立模块,用于从种子服务器获取种子爬虫节点的地址信息,通过所述种子爬虫节点获取与当前爬虫节点的邻近爬虫节点的地址信息,并与所述邻近的爬虫节点建立路由关系。
12.根据权利要求11所述的装置,其中,通过所述种子爬虫节点获取与当前爬虫节点邻近的爬虫节点的地址信息,并与所述邻近的爬虫节点建立路由关系包括:
从种子爬虫节点为起始的爬虫节点,利用爬虫节点中存储的邻近爬虫节点的路由信息,当前爬虫节点不断地获取爬虫网络***中的其他爬虫节点的路由信息;
计算与当前爬虫节点已经建立路由关系的其他爬虫节点之间的网络距离;
选择网络距离小于预设距离阈值的其他爬虫节点和/或满足预设数量要求的其他爬虫节点,作为当前爬虫节点的邻近爬虫网络节点,并在当前爬虫节点中存储该邻近爬虫网络节点的路由信息,从而与邻近爬虫网络节点建立路由关系。
13.一种电子设备,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,以用于如下处理:
接收数据抓取请求,所述数据抓取请求中至少包括资源配置参数;
根据所述资源配置参数和当前爬虫节点的资源配置属性,确定当前爬虫节点是否满足所述资源配置参数,如果满足,则执行数据抓取,如果不满足,则向所述当前爬虫节点的邻近爬虫节点广播所述数据抓取请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811269970.6A CN111104575B (zh) | 2018-10-29 | 2018-10-29 | 数据抓取方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811269970.6A CN111104575B (zh) | 2018-10-29 | 2018-10-29 | 数据抓取方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111104575A true CN111104575A (zh) | 2020-05-05 |
CN111104575B CN111104575B (zh) | 2023-05-05 |
Family
ID=70419932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811269970.6A Active CN111104575B (zh) | 2018-10-29 | 2018-10-29 | 数据抓取方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111104575B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256940A (zh) * | 2020-10-14 | 2021-01-22 | 深圳市天维大数据技术有限公司 | 一种数据抓取方法及*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130022512A (ko) * | 2011-08-24 | 2013-03-07 | 한국전자통신연구원 | P2p 네트워크에서 데이터 교환 방법 |
CN103067521A (zh) * | 2013-01-08 | 2013-04-24 | 中国科学院声学研究所 | 一种分布式爬虫集群中的节点和*** |
CN103873597A (zh) * | 2014-04-15 | 2014-06-18 | 厦门市美亚柏科信息股份有限公司 | 分布式网页下载方法和*** |
CN105681478A (zh) * | 2016-04-19 | 2016-06-15 | 北京高地信息技术有限公司 | 通过对网络资源调度提高网络爬虫抓取效率的方法和装置 |
CN106570011A (zh) * | 2015-10-09 | 2017-04-19 | 北京京东尚科信息技术有限公司 | 一种分布式爬虫url种子分发方法、调度节点及抓取节点 |
CN106844402A (zh) * | 2015-12-04 | 2017-06-13 | 阿里巴巴集团控股有限公司 | 数据处理方法及装置 |
-
2018
- 2018-10-29 CN CN201811269970.6A patent/CN111104575B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130022512A (ko) * | 2011-08-24 | 2013-03-07 | 한국전자통신연구원 | P2p 네트워크에서 데이터 교환 방법 |
CN103067521A (zh) * | 2013-01-08 | 2013-04-24 | 中国科学院声学研究所 | 一种分布式爬虫集群中的节点和*** |
CN103873597A (zh) * | 2014-04-15 | 2014-06-18 | 厦门市美亚柏科信息股份有限公司 | 分布式网页下载方法和*** |
CN106570011A (zh) * | 2015-10-09 | 2017-04-19 | 北京京东尚科信息技术有限公司 | 一种分布式爬虫url种子分发方法、调度节点及抓取节点 |
CN106844402A (zh) * | 2015-12-04 | 2017-06-13 | 阿里巴巴集团控股有限公司 | 数据处理方法及装置 |
CN105681478A (zh) * | 2016-04-19 | 2016-06-15 | 北京高地信息技术有限公司 | 通过对网络资源调度提高网络爬虫抓取效率的方法和装置 |
Non-Patent Citations (1)
Title |
---|
方启明;杨广文;武永卫;朱安平;郑纬民;: "面向P2P搜索的可定制聚焦网络爬虫", 华中科技大学学报(自然科学版) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256940A (zh) * | 2020-10-14 | 2021-01-22 | 深圳市天维大数据技术有限公司 | 一种数据抓取方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN111104575B (zh) | 2023-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104113787B (zh) | 基于节目的评论方法、终端、服务器和*** | |
CN111800443B (zh) | 数据处理***和方法、装置以及电子设备 | |
CN105337843A (zh) | 交互***、方法、客户端及后台服务器 | |
CN109586929B (zh) | 会议内容的传输方法及装置、电子设备、存储介质 | |
CN109618176B (zh) | 一种直播业务的处理方法、设备和存储介质 | |
CN109412821B (zh) | 消息处理方法和装置以及电子设备 | |
CN104965842A (zh) | 搜索推荐方法和装置 | |
CN105703932A (zh) | 日志记录上传方法、日志记录接收方法、终端及服务器 | |
CN113420007B (zh) | 数据库访问的审计处理方法、装置及电子设备 | |
CN104158854B (zh) | 资源共享方法及装置 | |
CN110875947A (zh) | 一种数据处理方法和边缘节点设备 | |
JP2017511556A (ja) | アドレスフィルタリング方法、装置、プログラム及び記録媒体 | |
CN109495335B (zh) | 业务监控方法、装置、***及电子设备 | |
CN111104575B (zh) | 数据抓取方法、装置及电子设备 | |
CN104572230A (zh) | 脚本文件的加载方法、脚本文件生成方法及装置 | |
CN112256372A (zh) | 信息处理方法、装置和电子设备 | |
CN116303303A (zh) | 批量数据处理方法、装置、设备及介质 | |
CN114450920A (zh) | 分布式安全检测***、方法、设备及存储介质 | |
EP4280561A1 (en) | Information flow identification method, network chip, and network device | |
CN104516883A (zh) | 一种网页共享方法、装置及*** | |
CN102812479A (zh) | 管理关于媒体内容的选择信息的方法和用于执行该方法的用户装置、服务和存储介质 | |
Ganchev et al. | A cloud-based service recommendation system for use in UCWW | |
CN113014859B (zh) | 用于获得视频数据的***、方法、装置及电子设备 | |
CN112799863A (zh) | 用于输出信息的方法和装置 | |
CN104104728B (zh) | 传输数据的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |