CN111026945A - 多平台爬虫调度方法、装置和存储介质 - Google Patents
多平台爬虫调度方法、装置和存储介质 Download PDFInfo
- Publication number
- CN111026945A CN111026945A CN201911236647.3A CN201911236647A CN111026945A CN 111026945 A CN111026945 A CN 111026945A CN 201911236647 A CN201911236647 A CN 201911236647A CN 111026945 A CN111026945 A CN 111026945A
- Authority
- CN
- China
- Prior art keywords
- data
- capturing
- platform
- information
- scheduling
- 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
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000009193 crawling Effects 0.000 claims abstract description 35
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 13
- 238000012545 processing Methods 0.000 claims description 24
- 241000238631 Hexapoda Species 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 8
- 238000013481 data capture Methods 0.000 description 31
- 238000010586 diagram Methods 0.000 description 14
- 230000006399 behavior Effects 0.000 description 12
- 238000013515 script Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实例提供一种多平台爬虫调度方法、装置和存储介质。本发明的方法包括:获取待爬虫任务的配置信息,待爬虫任务的配置信息包括多个数据来源平台的标识、N个数据抓取平台的类型标识、与每个数据来源平台对应的抓取开始时间以及待爬虫任务对应的多个爬虫子任务的相关信息,爬虫子任务的相关信息包括:数据来源平台与数据抓取平台的对应关系以及多条待抓取数据的属性信息,N为大于或等于1的整数;根据待爬虫任务的配置信息和预设的数据抓取分发算法,获得每个爬虫子任务的数据抓取调度信息;根据数据抓取调度信息,抓取数据。在抓取数据时,可以同时对多个数据抓取平台的抓取任务进行管理,提高管理效率。
Description
技术领域
本发明实施例涉及网络爬虫技术领域,尤其涉及一种多平台爬虫调度方法、装置和存储介质。
背景技术
随着互联网的高速发展,用户获取信息的方式从单一的通过web浏览器,发展到通过手机软件(APP)、个人计算机(Personal Computer,pc)、h5、小程序等多种方式获取信息,因此,用户获取信息的方式和途径越来越多样化。相应的,通过爬虫技术获取信息的方式也从最开始的web浏览器增加到app,h5,小程序等。
然而,目前通过爬虫技术在各个平台上抓取信息是互相独立的,虽然避免了不同平台之间的互相干扰,但是需要分别对每个平台上的抓取任务进行管理,管理效率低。
发明内容
本发明实施例提供一种多平台爬虫调度方法、装置和存储介质,同时对多个数据抓取平台的抓取任务进行管理,提高了抓取任务的管理效率。
第一方明,本发明实施例提供一种多平台爬虫调度方法,包括:
获取待爬虫任务的配置信息,所述待爬虫任务的配置信息包括多个数据来源平台的标识、N个数据抓取平台的类型标识、与每个所述数据来源平台对应的抓取开始时间以及所述待爬虫任务对应的多个爬虫子任务的相关信息,所述爬虫子任务的相关信息包括:数据来源平台与数据抓取平台的对应关系以及多条待抓取数据的属性信息;其中,N为大于或等于1的整数;
根据所述待爬虫任务的配置信息和预设的数据抓取分发算法,获得每个爬虫子任务的数据抓取调度信息,其中,所述数据抓取调度信息中包括每条待抓取数据的抓取账号、抓取时间、数据来源平台的标识和数据抓取平台的类型标识;
根据所述数据抓取调度信息,抓取数据。
可选的,获得每个爬虫子任务的数据抓取调度信息之后,还包括:将所述每个爬虫子任务的数据抓取调度信息以表格的形式存储。
可选的,所述根据所述数据抓取调度信息,抓取数据,包括:根据所述数据抓取调度信息,通过多个并行心跳,抓取数据。
可选的,所述方法还包括:若根据所述爬虫子任务的数据抓取调度信息,连续未抓取到数据的次数大于预设次数,则更新所述爬虫子任务的相关信息中的数据抓取平台的类型标识。
可选的,所述根据所述数据抓取调度信息,抓取数据之后,还包括:将抓取到的数据的格式进行处理,获得同一格式的数据。
可选的,所述根据所述数据抓取调度信息,抓取数据之后,还包括:将已抓取到的数据的抓取账号、抓取时间、来源平台的标识和数据抓取平台的类型标识从所述数据抓取调度信息中删除。
可选的,所述方法还包括:实时输出数据抓取进度信息。
第二方明,本发明实施例提供一种多平台爬虫调度装置,包括:获取模块,用于获取待爬虫任务的配置信息,所述待爬虫任务的配置信息包括多个数据来源平台的标识、N个数据抓取平台的类型标识、与每个所述数据来源平台对应的抓取开始时间以及所述待爬虫任务对应的多个爬虫子任务的相关信息,所述爬虫子任务的相关信息包括:数据来源平台与数据抓取平台的对应关系以及多条待抓取数据的属性信息;其中,N为大于或等于1的整数;
处理模块,用于根据所述待爬虫任务的配置信息和预设的数据抓取分发算法,获得每个爬虫子任务的数据抓取调度信息,其中,所述数据抓取调度信息中包括每条待抓取数据的抓取账号、抓取时间、来源平台的标识和数据抓取平台的类型标识;用于根据所述数据抓取调度信息,抓取数据。
可选的,所述装置还包括:存储模块;
所述存储模块,用于在所述处理模块获得每个爬虫子任务的数据抓取调度信息之后,将所述每个爬虫子任务的数据抓取调度信息以表格的形式存储。
可选的,所述处理模块根据所述数据抓取调度信息,抓取数据时,具体用于:根据所述数据抓取调度信息,通过多个并行心跳,抓取数据。
可选的,所述处理模块,还用于:若根据所述爬虫子任务的数据抓取调度信息,连续未抓取到数据的次数大于预设次数,则更新所述爬虫子任务的相关信息中的数据抓取平台的类型标识。
可选的,所述处理模块根据所述数据抓取调度信息,抓取数据之后,还用于:将抓取到的数据的格式进行处理,获得同一格式的数据。
可选的,所述装置还包括:删除模块;
所述删除模块,用于在所述处理模块根据所述数据抓取调度信息,抓取数据之后,将已抓取到的数据的抓取账号、抓取时间、来源平台的标识和数据抓取平台的类型标识从所述数据抓取调度信息中删除。
可选的,所述处理模块,还用于:实时输出数据抓取进度信息。
第三方面,本发明实施例提供一种电子设备,该电子设备包括:至少一个处理器和存储器;
所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,以执行本发明实施例第一方面任一项所述的方法。
第四方面,本发明实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有程序指令,所述程序指令被处理器执行时实现发明实施例第一方面任一项所述的方法。
第五方面,本申请实施例提供一种程序产品,所述程序产品包括计算机程序,所述计算机程序存储在可读存储介质中,电子设备的至少一个处理器可以从所述可读存储介质读取所述计算机程序,所述至少一个处理器执行所述计算机程序使得电子设备实施本申请发明实施例第一方面任一项所述的方法。
本发明实施例提供一种多平台爬虫调度方法、装置和存储介质,通过获取待爬虫任务的配置信息,待爬虫任务的配置信息包括多个数据来源平台的标识、N个数据抓取平台的类型标识、抓取开始时间以及待爬虫任务对应的多个爬虫子任务的相关信息,爬虫子任务的相关信息包括:数据来源平台与数据抓取平台的对应关系以及多条待抓取数据的属性信息,N为大于或等于1的整数;根据待爬虫任务的配置信息和预设的数据抓取分发算法,获得每个爬虫子任务的数据抓取调度信息,其中,数据抓取调度信息中包括每条待抓取数据的抓取账号、抓取时间、来源平台的标识和数据抓取平台的类型标识;根据数据抓取调度信息,抓取数据。实现了在抓取数据时,可以同时对多个数据抓取平台的抓取任务进行管理,而不必对每个数据抓取平台的抓取任务进行分别管理,提高了抓取任务的管理效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的多平台爬虫调度方法的流程图;
图2为本发明一实施例提供的配置信息界面示意图;
图3为本发明一实施例提供的配置信息结果界面示意图;
图4为本发明一实施例提供的预设的数据抓取分发算法的分发示意图;
图5为本发明一实施例提供的多平台爬虫调度方法的流程框图;
图6为本发明一实施例提供的数据抓取进度界面示意图;
图7为本发明另一实施例提供的界面截图的示意图;
图8为本发明一实施例提供的多平台爬虫调度装置的结构示意图;
图9为本发明一实施例提供的电子设备的结构示意图;
图10为本发明一实施例提供的计算机系统/服务器的结构示意框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
通过爬虫技术获得所需要的数据时,通常需要通过不同的数据抓取平台抓取所需数据,而当通过不同的数据抓取平台抓取所需数据时,需要对在不同数据抓取平台上的数据抓取行为分别进行管理,增加了管理数据抓取行为的难度,降低了管理效率。
本发明实施例提供了一种多平台爬虫调度方法、装置和存储介质,可以对在不同的数据抓取平台上的数据抓取行为进行统一的管理,提高了数据抓取行为的管理效率。并且,便于用户根据不同的数据抓取平台定制数据抓取策略。
图1为本发明一实施例提供的多平台爬虫调度方法的流程图,本发明实施例的执行主体例如可以是爬虫服务器,如图1所示,本实施例的方法可以包括:
S101、获取待爬虫任务的配置信息。
其中,待爬虫任务的配置信息包括多个数据来源平台的标识、N个数据抓取平台的类型标识、与每个数据来源平台对应的抓取开始时间以及待爬虫任务对应的多个爬虫子任务的相关信息,爬虫子任务的相关信息包括:数据来源平台与数据抓取平台的对应关系以及多条待抓取数据的属性信息;其中,N为大于或等于1的整数。
本实施例中,待爬虫任务包括多个爬虫子任务,每个爬虫子任务记为通过N个数据抓取平台上的同一个数据来源平台抓取数据。其中,数据抓取平台为抓取数据的端口,数据抓取平台例如可以是,安装在移动终端上的应用程序,小程序或者浏览器等,数据来源平台为所要抓取哪个公司或者网站的数据,例如,电商平台、旅游网站等。则一个爬虫子任务例如为通过小程序、浏览器、APP等多个数据抓取平台,抓取一个电商平台的数据。
获取待爬虫任务的配置信息的方式,例如可以是用户通过人机交互界面分别设置每个爬虫子任务的配置信息,每个爬虫子任务的配置信息包括:数据来源平台的标识、多个数据抓取平台的类型标识、抓取开始时间以及该爬虫子任务的相关信息。
对于其中一个爬虫子任务,例如,数据来源平台的标识为“XX旅游网站”,则可以通过图2所示的界面进行配置信息的输入。其中,图2所示界面截图中的每个抓取方式与每个数据抓取平台的类型标识对应,通过图2中的抓取方式输入框,用户可以输入多个抓取方式,或者点击输入框的下拉选择框,选择多个抓取方式,例如,选择的抓取方式为:pc-proto、h5-proto、app-proto、pc-kook、h5--kook。通过任务开始时间,设置该爬虫子任务的抓取开始时间,以及设置待抓取数据的属性信息,例如,通过界面设置抓取的数据为“XX旅游网站”中的酒店业务,则待抓取数据的属性信息包括:酒店标识(例如,hotelld、otald、mddld以及mddRange),入住人数、预定房间数、入住天数以及儿童数量,等。其中,根据图2所示的界面截图,还可以通过该界面设置抓取周期以及抓取待抓取数据时是否需要账号。其中,通过图2所示的界面输入抓取方式以及数据来源平台的标识为“XX旅游网站”后,爬虫服务器建立每个抓取方式与数据来源平台的标识之间的对应关系,即建立每个数据抓取平台与数据来源平台的标识之间的对应关系。
图3为与根据图2对应的输入爬虫子任务的配置信息后的界面,点击“确认”,即可提交爬虫子任务的配置信息,爬虫服务器获取该爬虫子任务的配置信息。采用上述方式,爬虫服务器获取多个爬虫子任务的配置信息,即获取待爬虫任务的配置信息。
S102、根据待爬虫任务的配置信息和预设的数据抓取分发算法,获得每个爬虫子任务的数据抓取调度信息。
其中,数据抓取调度信息中包括每条待抓取数据的抓取账号、抓取时间、数据来源平台的标识和数据抓取平台的类型标识。
本实施例中,由于互联网安全是每个互联网公司都要考虑到的事情,因此,互联网公司都会对自己的系统进行反爬处理。因此,为了抓取到真实有效数据,并且不会被数据来源平台破解,本发明实施例在对待爬虫任务进行调度时,采用根据用户浏览页面的行为获得的预设的数据抓取分发算法进行调度配置。例如,本发明实施例首先进行自动注册抓取账号,自动登录,从而可以使用多个抓取账号在同一数据抓取平台和同一个数据来源平台抓取数据。其中,自动注册抓取账号的实现方式例如为通过接收手机验证码平台进行获取验证码注册目标平台账号,自动登录的实现方式例如为使用python实现模拟点击行为,进行账号登录。使用多个账号在同一数据抓取平台和同一个数据来源平台抓取数据时,模拟用户浏览页面的行为获得的预设的数据抓取分发算法的流程为:
1、例如如图4所示,配置每一段时间内的抓取的次数,例如,1个小时抓取360次,即抓取360个数据,则每10秒分配一个抓取账号,其中,抓取账号为随机分配;
2、设置每个抓取账号在该段时间内的抓取上限。
根据预设的数据抓取分发算法确定每个待抓取数据的数据时间以及抓取账号,也可以确定每个抓取账号的抓取时间。需要说明的是,在每个抓取时间上,在没有抓取到数据时,抓取账号可能抓取到数据,也可能抓取失败,因此,待抓取数据并不表示一个具体的数据。
每个抓取子任务中包括多条待抓取数据,则每个爬虫子任务的数据抓取调度信息中包括多条待抓取数据的调度信息,其中,每个待抓取数据的调度信息中包括抓取该待抓取数据的抓取账号,抓取时间,以及该待抓取数据的数据来源平台的标识和数据抓取平台的类型标识。
可选的,S102之后,多平台爬虫调度方法还包括:将每个爬虫子任务的数据抓取调度信息以表格的形式存储。
本实施例中,在获取到每个爬虫子任务的数据抓取调度信息后,将所有爬虫子任务的数据抓取调度信息以表格的形式保存到数据库中。
S103、根据数据抓取调度信息,抓取数据。
本实施例中,根据数据抓取调度信息,使用预先设置的抓取脚本抓取数据。
可选的,S103的一种可能的实现方式为:根据数据抓取调度信息,通过多个并行心跳,抓取数据。
本实施例中,由于待抓取任务中包括多个抓取子任务,而不同的抓取子任务对应的数据抓取平台不同,因此,采用并行心跳,在不同的数据抓取平台中,采用多个爬虫脚本实现并行抓取数据。
例如,将所有爬虫子任务的数据抓取调度信息以表格的形式保存到数据库中后,在根据爬虫脚本抓取数据前,需要将保存到数据库中的每个数据抓取调度信息按照分配的抓取时间的正序读取每个数据抓取调度信息存入redis队列中,从而使得在爬虫脚本并行抓取数据是不会抓取到重复的数据。
本实施例,通过获取待爬虫任务的配置信息,待爬虫任务的配置信息包括多个数据来源平台的标识、N个数据抓取平台的类型标识、与每个数据来源平台对应的抓取开始时间以及待爬虫任务对应的多个爬虫子任务的相关信息,爬虫子任务的相关信息包括:数据来源平台与数据抓取平台的对应关系以及多条待抓取数据的属性信息,N为大于或等于1的整数;根据待爬虫任务的配置信息和预设的数据抓取分发算法,获得每个爬虫子任务的数据抓取调度信息,其中,数据抓取调度信息中包括每条待抓取数据的抓取账号、抓取时间、来源平台的标识和数据抓取平台的类型标识;根据数据抓取调度信息,抓取数据。实现了在抓取数据时,可以同时对多个数据抓取平台的抓取任务进行管理,而不必对每个数据抓取平台的抓取任务进行分别管理,提高了抓取任务的管理效率。
图5为本发明一实施例提供的多平台爬虫调度方法的流程框图。如图5所示,本实施例中,用户根据S101中的描述对待抓取任务的配置信息进行配置,在待抓取任务的配置信息配置完成后,爬虫服务器获取到用户配置的待抓取任务的配置信息。然后,用户根据S102中的描述,获得每个爬虫子任务的数据抓取调度信息,也可以说是获得每个待抓取数据的抓取调度信息,并将所有的待抓取数据的抓取调度信息以表格形式保存到数据库中其中,表格命名为“任务调度表”。然后,根据“任务调度表”中每个待抓取数据的抓取调度信息的抓取时间的顺序,将“任务调度表”中的待抓取数据的抓取调度信息存入到redis队列中,从而可以自根据爬虫脚本并发抓取时,避免抓取到重复的数据。然后,针对在不同的数据抓取平台上所要抓取的数据,设置多个爬虫脚本进行抓取,并将成功抓取到的数据对应的抓取调度信息从“任务调度表”以及redis队列中删除。
可选的,多平台爬虫调度方法还包括:若根据爬虫子任务的数据抓取调度信息,连续未抓取到数据的次数大于预设次数,则更新爬虫子任务的相关信息中的数据抓取平台的类型标识。
本实施例中,当在其中一个数据抓取平台上抓取其中一个数据来源平台中的数据时,数据抓取行为被该数据抓取平台上对应的数据来源平台风控,则无法继续从该数据抓取平台上的该数据来源平台抓取到数据。因此,通过对每个数据抓取平台上的每个数据来源平台中的数据抓取行为进行监控,当在其中一个数据抓取平台上抓取其中一个数据来源平台中的数据时,连续未抓取到数据的次数大于预设次数,则说明该数据抓取平台上的该数据来源平台中的数据抓取行为被风控,此时,可以更新爬虫子任务的相关信息中的数据抓取平台的类型标识,从而将需要从该数据抓取平台上的该数据来源平台中抓取的数据更换为从其他数据抓取平台抓取该数据来源平台中的数据,从而提高数据抓取成功率。
并且,当确定在其中一个数据抓取平台上抓取其中一个数据来源平台中数据抓取行为被风控时,例如还可以通过邮件的方式通知用户,使用户对在被风控的数据抓取平台上抓取数据来源平台中数据抓取行为进行重新破解。
可选的,S103之后,多平台爬虫调度方法还包括:将抓取到的数据的格式进行处理,获得同一格式的数据。
本实施例中,由于是从不同的数据抓取平台抓取数据,而不同的数据抓取平台上的数据格式不同,例如web端抓取到的数据是html格式,app抓取到的数据是json格式,因此,本发明实施例对各数据抓取平台抓取到的数据进行统一格式化并提供统一解析接口,并保存统一格式化后的抓取到的数据,便于数据使用者使用户数,例如,对于需要调取抓取到的数据的其他用户端,不必对数据格式进行处理,减少对接成本。
可选的,S103之后,多平台爬虫调度方法还包括:将已抓取到的数据的抓取账号、抓取时间、来源平台的标识和数据抓取平台的类型标识从数据抓取调度信息中删除。
本实施例中,当根据数据抓取调度信息,进行户数抓取后,如果成功抓取到所要抓取的数据,则将已抓取到的数据的抓取账号、抓取时间、来源平台的标识和数据抓取平台的类型标识从数据抓取调度信息中删除。例如,将数据抓取调度信息以表格形式存储时,若其中一个待抓取数据被成功抓取到,则将该待抓取数据的调度信息从表格中删除,从而减少处理的数据量,提高抓取效率。
可选的,多平台爬虫调度方法还包括:实时输出数据抓取进度信息。
本实施例中,图6为本发明一实施例提供的界面截图的示意图,图7为本发明另一实施例提供的界面截图的示意图,如图6和图7所示,爬虫服务器可以将数据抓取进度信息通过人机交互界面向用户显示,其中,数据抓取进度信息例如包括:当天、前一天各数据抓取平台(即各抓取方式)分别成功抓取到的数据量、每个数据抓取平台上在每个抓取时间点上抓取到的数据量,便于用户实时对数据抓取进度进行监控。
需要说明的是,图6和图7仅示例性的示出了数据抓取进度信息,其中,在界面上还可以示出本月各数据抓取平台分别成功抓取到的数据量、每个数据抓取平台上使用的抓取账号的数量以及每个数据抓取平台上成功抓取量统计和失败抓取量统计,等,本发明实施例对此不想进行限制。
图8为本发明一实施例提供的多平台爬虫调度装置的结构示意图,如图8所示,本实施例的装置可以包括:获取模块81和处理模块82。其中,可选的,多平台爬虫调度装置还可以包括:存储模块83。可选的,多平台爬虫调度装置还可以包括:删除模块84。其中,
获取模块81,用于获取待爬虫任务的配置信息,所述待爬虫任务的配置信息包括多个数据来源平台的标识、N个数据抓取平台的类型标识、与每个数据来源平台对应的抓取开始时间以及所述待爬虫任务对应的多个爬虫子任务的相关信息,所述爬虫子任务的相关信息包括:数据来源平台与数据抓取平台的对应关系以及多条待抓取数据的属性信息;其中,N为大于或等于1的整数;
处理模块82,用于根据所述待爬虫任务的配置信息和预设的数据抓取分发算法,获得每个爬虫子任务的数据抓取调度信息,其中,所述数据抓取调度信息中包括每条待抓取数据的抓取账号、抓取时间、来源平台的标识和数据抓取平台的类型标识;用于根据所述数据抓取调度信息,抓取数据。
可选的,所述存储模块83,用于在所述处理模块82获得每个爬虫子任务的数据抓取调度信息之后,将所述每个爬虫子任务的数据抓取调度信息以表格的形式存储。
可选的,所述处理模块82根据所述数据抓取调度信息,抓取数据时,具体用于:根据所述数据抓取调度信息,通过多个并行心跳,抓取数据。
可选的,所述处理模块82,还用于:若根据所述爬虫子任务的数据抓取调度信息,连续未抓取到数据的次数大于预设次数,则更新所述爬虫子任务的相关信息中的数据抓取平台的类型标识。
可选的,所述处理模块82根据所述数据抓取调度信息,抓取数据之后,还用于:将抓取到的数据的格式进行处理,获得同一格式的数据。
可选的,所述删除模块84,用于在所述处理模块82根据所述数据抓取调度信息,抓取数据之后,将已抓取到的数据的抓取账号、抓取时间、来源平台的标识和数据抓取平台的类型标识从所述数据抓取调度信息中删除。
可选的,所述处理模块82,还用于:实时输出数据抓取进度信息。
本实施例的装置,可以用于执行上述任一所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图9为本发明一实施例提供的电子设备的结构示意图,如图9所示,本实施例的电子设备可以包括:至少一个处理器91和存储器92。图9示出的是以一个处理器为例的电子设备,其中,
存储器92,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器92可能包含高速随机存取存储器(random access memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器91,用于执行所述存储器92存储的计算机执行指令,以实现上述任一实施例所示的多平台爬虫调度方法。
其中,处理器91可能是一个中央处理器(Central Processing Unit,CPU),或者是特定集成电路(Application Specific Integrated Circuit,ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。
可选的,在具体实现上,如果存储器92和处理器91独立实现,则存储器92和处理器91可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器92和处理器91集成在一块芯片上实现,则存储器92和处理器91可以通过内部接口完成相同间的通信。
本实施例以上所述的电子设备,可以用于执行上述各方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图10为本发明一实施例提供的计算机系统/服务器的结构示意框图。图10显示的计算机系统/服务器仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,计算机系统/服务器以通用计算设备的形式表现。计算机系统/服务器的组件可以包括但不限于:一个或者多个处理器或者处理器1001,系统存储器1002,连接不同系统组件(包括系统存储器1002和处理器1001)的总线1003。
总线1003表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture,ISA)总线,微通道体系结构(MicroChannel Architecture,MAC)总线,增强型ISA总线、视频电子标准协会(Vedio Electronic Standard Association,VESA)局域总线以及外围组件互连(Peripheral Component Interconnect,PCI)总线。
计算机系统/服务器典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器1002可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory,RAM)1004和/或高速缓存存储器1005。计算机系统/服务器可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统1006可以用于读写不可移动的、非易失性磁介质(图10未显示,通常称为“硬盘驱动器”)。尽管图10中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如紧凑型光盘只读储存器(Compact DiscRead-Only Memory,CD-ROM),数字通用光盘只读储存器(Digital Versatile Disc-ReadOnly Memory,DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线1003相连。存储器1002可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块1007的程序/实用工具1008,可以存储在例如存储器1002中,这样的程序模块1007包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块1007通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器也可以与一个或多个外部设备1009(例如键盘、指向设备、显示器1010等)通信,在本发明中,计算机系统/服务器与外部雷达设备进行通信,还可与一个或者多个使得用户能与该计算机系统/服务器交互的设备通信,和/或与使得该计算机系统/服务器能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1011进行。并且,计算机系统/服务器还可以通过网络适配器1012与一个或者多个网络(例如局域网(Local Area Network,LAN),广域网(Wide Area Network,WAN)和/或公共网络,例如因特网)通信。如图10所示,网络适配器1012通过总线1003与计算机系统/服务器的其它模块通信。应当明白,尽管图10中未示出,可以结合计算机系统/服务器使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、磁盘阵列(Redundant Arrays of IndependentDrives,RAID)系统、磁带驱动器以及数据备份存储系统等。
处理器1001通过运行存储在系统存储器1002中的程序,从而执行本发明所描述的实施例中的功能和/或方法。
上述的计算机程序可以设置于计算机存储介质中,即该计算机存储介质被编码有计算机程序,该程序在被一个或多个计算机执行时,使得一个或多个计算机执行本发明上述实施例中所示的方法流程和/或装置操作。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:只读存储器(read only memory,ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种多平台爬虫调度方法,其特征在于,包括:
获取待爬虫任务的配置信息,所述待爬虫任务的配置信息包括多个数据来源平台的标识、N个数据抓取平台的类型标识、与每个所述数据来源平台对应的抓取开始时间以及所述待爬虫任务对应的多个爬虫子任务的相关信息,所述爬虫子任务的相关信息包括:数据来源平台与数据抓取平台的对应关系以及多条待抓取数据的属性信息;其中,N为大于或等于1的整数;
根据所述待爬虫任务的配置信息和预设的数据抓取分发算法,获得每个爬虫子任务的数据抓取调度信息,其中,所述数据抓取调度信息中包括每条待抓取数据的抓取账号、抓取时间、数据来源平台的标识和数据抓取平台的类型标识;
根据所述数据抓取调度信息,抓取数据。
2.根据权利要求1所述的方法,其特征在于,获得每个爬虫子任务的数据抓取调度信息之后,还包括:
将所述每个爬虫子任务的数据抓取调度信息以表格的形式存储。
3.根据权利要求2所述的方法,其特征在于,所述根据所述数据抓取调度信息,抓取数据,包括:
根据所述数据抓取调度信息,通过多个并行心跳,抓取数据。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若根据所述爬虫子任务的数据抓取调度信息,连续未抓取到数据的次数大于预设次数,则更新所述爬虫子任务的相关信息中的数据抓取平台的类型标识。
5.根据权利要求1所述的方法,其特征在于,所述根据所述数据抓取调度信息,抓取数据之后,还包括:
将抓取到的数据的格式进行处理,获得同一格式的数据。
6.根据权利要求1所述的方法,其特征在于,所述根据所述数据抓取调度信息,抓取数据之后,还包括:
将已抓取到的数据的抓取账号、抓取时间、来源平台的标识和数据抓取平台的类型标识从所述数据抓取调度信息中删除。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
实时输出数据抓取进度信息。
8.一种多平台爬虫调度装置,其特征在于,包括:
获取模块,用于获取待爬虫任务的配置信息,所述待爬虫任务的配置信息包括多个数据来源平台的标识、N个数据抓取平台的类型标识、与每个所述数据来源平台对应的抓取开始时间以及所述待爬虫任务对应的多个爬虫子任务的相关信息,所述爬虫子任务的相关信息包括:数据来源平台与数据抓取平台的对应关系以及多条待抓取数据的属性信息;其中,N为大于或等于1的整数;
处理模块,用于根据所述待爬虫任务的配置信息和预设的数据抓取分发算法,获得每个爬虫子任务的数据抓取调度信息,其中,所述数据抓取调度信息中包括每条待抓取数据的抓取账号、抓取时间、来源平台的标识和数据抓取平台的类型标识;用于根据所述数据抓取调度信息,抓取数据。
9.一种电子设备,其特征在于,包括:存储器和至少一个处理器,存储器用于存储程序指令,处理器用于调用存储器中的程序指令执行如权利要求1-7任一项所述的多平台爬虫调度方法。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序;所述计算机程序被执行时,实现如权利要求1-7任一项所述的多平台爬虫调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911236647.3A CN111026945B (zh) | 2019-12-05 | 2019-12-05 | 多平台爬虫调度方法、装置和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911236647.3A CN111026945B (zh) | 2019-12-05 | 2019-12-05 | 多平台爬虫调度方法、装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111026945A true CN111026945A (zh) | 2020-04-17 |
CN111026945B CN111026945B (zh) | 2024-01-26 |
Family
ID=70204405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911236647.3A Active CN111026945B (zh) | 2019-12-05 | 2019-12-05 | 多平台爬虫调度方法、装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111026945B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113190736A (zh) * | 2021-04-30 | 2021-07-30 | 北京精准沟通传媒科技股份有限公司 | 数据处理方法、爬虫装置、介质及电子设备 |
CN113254747A (zh) * | 2021-06-09 | 2021-08-13 | 南京北斗创新应用科技研究院有限公司 | 基于分布式网络爬虫的地理空间数据获取系统及方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105045838A (zh) * | 2015-07-01 | 2015-11-11 | 华东师范大学 | 基于分布式存储系统的网络爬虫系统 |
CN107220297A (zh) * | 2017-05-02 | 2017-09-29 | 北京大学 | 面向软件项目的多源异构数据自动收集方法及系统 |
CN108874925A (zh) * | 2018-05-31 | 2018-11-23 | 深圳市酷达通讯有限公司 | 一种分布式垂直爬虫方法及终端设备 |
CN109213912A (zh) * | 2018-08-16 | 2019-01-15 | 北京神州泰岳软件股份有限公司 | 一种抓取网络数据的方法及网络数据抓取调度装置 |
CN109308330A (zh) * | 2018-07-24 | 2019-02-05 | 国家计算机网络与信息安全管理中心 | 基于互联网的企业泄露信息提取、分析及分类的方法 |
WO2019174613A1 (en) * | 2018-03-14 | 2019-09-19 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systems and methods for cloud computing |
CN110275901A (zh) * | 2019-06-25 | 2019-09-24 | 北京创鑫旅程网络技术有限公司 | 一种缓存数据调取方法及装置 |
KR20190124630A (ko) * | 2018-04-25 | 2019-11-05 | 주식회사쿠콘 | 스크립트 엔진을 이용한 데이터 스크래핑 시스템, 방법 및 컴퓨터 프로그램 |
-
2019
- 2019-12-05 CN CN201911236647.3A patent/CN111026945B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105045838A (zh) * | 2015-07-01 | 2015-11-11 | 华东师范大学 | 基于分布式存储系统的网络爬虫系统 |
CN107220297A (zh) * | 2017-05-02 | 2017-09-29 | 北京大学 | 面向软件项目的多源异构数据自动收集方法及系统 |
WO2019174613A1 (en) * | 2018-03-14 | 2019-09-19 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systems and methods for cloud computing |
KR20190124630A (ko) * | 2018-04-25 | 2019-11-05 | 주식회사쿠콘 | 스크립트 엔진을 이용한 데이터 스크래핑 시스템, 방법 및 컴퓨터 프로그램 |
CN108874925A (zh) * | 2018-05-31 | 2018-11-23 | 深圳市酷达通讯有限公司 | 一种分布式垂直爬虫方法及终端设备 |
CN109308330A (zh) * | 2018-07-24 | 2019-02-05 | 国家计算机网络与信息安全管理中心 | 基于互联网的企业泄露信息提取、分析及分类的方法 |
CN109213912A (zh) * | 2018-08-16 | 2019-01-15 | 北京神州泰岳软件股份有限公司 | 一种抓取网络数据的方法及网络数据抓取调度装置 |
CN110275901A (zh) * | 2019-06-25 | 2019-09-24 | 北京创鑫旅程网络技术有限公司 | 一种缓存数据调取方法及装置 |
Non-Patent Citations (3)
Title |
---|
K. S. KIM 等: "Design and implementation of web crawler based on dynamic web collection cycle", 《THE INTERNATIONAL CONFERENCE ON INFORMATION NETWORK 2012》, pages 562 - 566 * |
熊畅: "基于Python爬虫技术的网页数据抓取与分析研究", 《数字技术与应用》, pages 35 - 36 * |
陈学敏 等: "基于浏览器测试组件的社交网络数据获取技术研究", 《信息网络安全》, no. 5, pages 56 - 61 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113190736A (zh) * | 2021-04-30 | 2021-07-30 | 北京精准沟通传媒科技股份有限公司 | 数据处理方法、爬虫装置、介质及电子设备 |
CN113254747A (zh) * | 2021-06-09 | 2021-08-13 | 南京北斗创新应用科技研究院有限公司 | 基于分布式网络爬虫的地理空间数据获取系统及方法 |
CN113254747B (zh) * | 2021-06-09 | 2021-10-15 | 南京北斗创新应用科技研究院有限公司 | 基于分布式网络爬虫的地理空间数据获取系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111026945B (zh) | 2024-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10552083B2 (en) | Capturing snapshots of storage volumes | |
US11296941B2 (en) | Standby instances for auto-scaling groups | |
EP3030966B1 (en) | Virtual computing instance migration | |
CN105765534A (zh) | 虚拟计算系统和方法 | |
US11232071B2 (en) | Regressable differential data structures | |
US20180247234A1 (en) | Platform for management and tracking of collaborative projects | |
US9971563B2 (en) | Systems and methods for low interference logging and diagnostics | |
CN109726076B (zh) | 一种小程序生命周期管理方法和系统 | |
CN106357719A (zh) | 用于网络应用的基于页面的事件相关 | |
CN111813629A (zh) | 一种Web页面的监控数据生成方法、装置及设备 | |
CN111026945B (zh) | 多平台爬虫调度方法、装置和存储介质 | |
CN113254320A (zh) | 记录用户网页操作行为的方法及装置 | |
CN113704590A (zh) | 网页数据获取方法、装置、电子设备及存储介质 | |
CN108369503A (zh) | 对外部场可更换单元(fru)过程的自动系统响应 | |
US10324766B1 (en) | Task profile collection | |
US20120323999A1 (en) | Robust filters for social networking environments | |
CN108170605A (zh) | Bug信息的提交方法、客户端与计算机可读存储介质 | |
CN116661936A (zh) | 页面数据的处理方法、装置、计算机设备及存储介质 | |
CN109583192A (zh) | 一种基于仿真的移动终端应用固定保全系统及方法 | |
CN110262856B (zh) | 一种应用程序数据采集方法、装置、终端及存储介质 | |
CN113742104A (zh) | 基于ai的rpa分身功能的生成方法及装置 | |
CN112906387A (zh) | 风险内容识别方法、装置、设备、介质和计算机程序产品 | |
CN114172749B (zh) | 一种试卷下载方法、装置、设备以及存储介质 | |
CN112988291B (zh) | 页面事件管理方法、装置、计算机可读介质及电子设备 | |
CN112468829B (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 |