CN109614539A - 数据抓取方法、装置及计算机可读存储介质 - Google Patents
数据抓取方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN109614539A CN109614539A CN201910041304.5A CN201910041304A CN109614539A CN 109614539 A CN109614539 A CN 109614539A CN 201910041304 A CN201910041304 A CN 201910041304A CN 109614539 A CN109614539 A CN 109614539A
- Authority
- CN
- China
- Prior art keywords
- data
- grabber
- task
- grabbed
- data grabber
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000012545 processing Methods 0.000 claims abstract description 41
- 230000007246 mechanism Effects 0.000 claims description 52
- 238000005516 engineering process Methods 0.000 abstract description 5
- 230000005540 biological transmission Effects 0.000 abstract 1
- 230000008569 process Effects 0.000 description 12
- 238000006243 chemical reaction Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 6
- 238000000547 structure data Methods 0.000 description 6
- 239000000155 melt Substances 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000003032 molecular docking Methods 0.000 description 3
- 238000006748 scratching Methods 0.000 description 3
- 230000002393 scratching effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 235000014510 cooky Nutrition 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及数据采集技术领域,揭露了一种数据抓取方法,该方法包括:接收用户触发的用于数据抓取的规则配置指令,执行规则设置操作,配置数据抓取所需的规则数据;接收数据抓取操作指令,读取已配置的所述规则数据,按照所述规则数据对应的数据抓取规则,建立数据抓取任务;根据建立的所述数据抓取任务,采用分布式多线程的数据抓取方式,抓取目标网站对应的数据;针对已抓取的数据,按照预先配置的数据加工规则进行数据处理,生成对应的结构化数据并存储。本发明还提出一种数据抓取装置以及一种计算机可读存储介质。本发明可根据不同应用的数据需求,配置化实现数据组装功能并对接下游传输数据,提高了数据处理效率。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据抓取方法、装置及计算机可读存储介质。
背景技术
随着互联网信息技术的不断进步,中国互联网已经初步形成规模,互联网应用走向多元化。互联网越来越深刻地改变着人们的工作、学习以及生活方式,甚至影响着整个社会的进程。信息抓取是将非结构化的信息从网站中抓取出来,保存到结构化的数据库中的过程。信息抓取是企业信息化的根基和第一步,只有利用先进的技术作好了信息抓取工作,才能为信息化带来最大的价值。
目前市场上的数据抓取系统(也称为“爬虫系统”)中,数据抓取方式比较固定,且功能单一,现有的数据抓取系统也没有平台化的思想,在整个数据抓取任务的流程中,没有真正实现各功能模块的独立,在数据抓取、数据加工、数据组装、接口对接等方面没有实现配置化开发,另外,在运行情况可视化、人工介入重复执行等方面也有很大欠缺。因此,针对现有的数据抓取系统,如何真正地实现该数据抓取系统中各功能模块的独立以及针对数据抓取的配置化开发,以便更好地进行数据抓取任务,成为目前亟待解决的问题之一。
发明内容
本发明提供一种数据抓取方法、装置及计算机可读存储介质,其主要目的在于针对数据抓取进行配置化开发,提高数据抓取效率。
为实现上述目的,本发明提供一种数据抓取方法,所述数据抓取方法包括:
接收用户触发的用于数据抓取的规则配置指令,执行规则设置操作,配置数据抓取所需的规则数据;
接收数据抓取操作指令,读取已配置的所述规则数据,按照所述规则数据对应的数据抓取规则,建立数据抓取任务;
根据建立的所述数据抓取任务,采用分布式多线程的数据抓取方式,抓取目标网站对应的数据;
针对已抓取的数据,按照预先配置的数据加工规则进行数据处理,生成对应的结构化数据并存储。
可选地,所述根据建立的所述数据抓取任务,采用分布式多线程的数据抓取方式,抓取目标网站对应的数据,包括:
根据建立的所述数据抓取任务,获取所述数据抓取任务对应的待抓取数据的目标网站;
针对所述目标网站的网页进行初次解析,识别所述目标网站的网页是否设置了反爬虫机制;
若设置了反爬虫机制,则对设置反爬虫机制的网页进行二次解析,根据解析结果,获取网页设置的反爬虫机制内容并采用能够绕过所述反爬虫机制的数据抓取方式,对所述目标网站的网页进行数据抓取;
若没有设置反爬虫机制,则根据所述目标网站对应的所述数据抓取任务,在所述目标网站的网页上提取所需的目标数据。
可选地,所述根据建立的所述数据抓取任务,采用分布式多线程的数据抓取方式,抓取目标网站对应的数据,包括:
根据所述数据抓取任务,抓取目标网站对应的数据,若数据抓取操作无法正常结束,则发送错误报告信息;
若数据抓取操作正常结束,则发送状态报告信息。
可选地,所述针对已抓取的数据,按照预先配置的数据加工规则进行数据处理,生成对应的结构化数据并存储,包括:
针对已抓取的数据,获取与所述已抓取数据对应的下游应用所需的数据特征;
根据下游应用所需的数据特征,设置数据加工规则,并选取对应的数据加工引擎;
按照数据加工规则,利用数据加工引擎对已抓取的数据进行包括二次加工和格式转换的数据处理操作,生成结构化数据,并将生成的所述结构化数据保存至关系型数据库中。
可选地,所述配置数据抓取所需的规则数据包括设置对应的数据抓取优先级;
当接收到数据抓取操作指令时,通过读取所述规则数据,获取数据抓取优先级,根据数据抓取优先级,按照数据优先级的由高到低生成对应的数据抓取任务;
在执行数据抓取任务时,按照所述数据抓取任务的优先级高低,为各数据抓取任务匹配对应的资源。
此外,为实现上述目的,本发明还提供一种数据抓取装置,其特征在于,所述数据抓取装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的数据抓取程序,所述数据抓取程序被所述处理器执行时实现如下步骤:
接收用户触发的用于数据抓取的规则配置指令,执行规则设置操作,配置数据抓取所需的规则数据;
接收数据抓取操作指令,读取已配置的所述规则数据,按照所述规则数据对应的数据抓取规则,建立数据抓取任务;
根据建立的所述数据抓取任务,采用分布式多线程的数据抓取方式,抓取目标网站对应的数据;
针对已抓取的数据,按照预先配置的数据加工规则进行数据处理,生成对应的结构化数据并存储。
可选地,所述数据抓取程序还可以被所述处理器执行,以根据建立的所述数据抓取任务,采用分布式多线程的数据抓取方式,抓取目标网站对应的数据,包括:
根据建立的所述数据抓取任务,获取所述数据抓取任务对应的待抓取数据的目标网站;
针对所述目标网站的网页进行初次解析,识别所述目标网站的网页是否设置了反爬虫机制;
若设置了反爬虫机制,则对设置反爬虫机制的网页进行二次解析,根据解析结果,获取网页设置的反爬虫机制内容并采用能够绕过所述反爬虫机制的数据抓取方式,对所述目标网站的网页进行数据抓取;
若没有设置反爬虫机制,则根据所述目标网站对应的所述数据抓取任务,在所述目标网站的网页上提取所需的目标数据。
可选地,所述数据抓取程序还可以被所述处理器执行,以根据建立的所述数据抓取任务,采用分布式多线程的数据抓取方式,抓取目标网站对应的数据,包括:
根据所述数据抓取任务,抓取目标网站对应的数据,若数据抓取操作无法正常结束,则发送错误报告信息;
若数据抓取操作正常结束,则发送状态报告信息。
可选地,所述数据抓取程序还可以被所述处理器执行,以针对已抓取的数据,按照预先配置的数据加工规则进行数据处理,生成对应的结构化数据并存储,包括:
针对已抓取的数据,获取与所述已抓取数据对应的下游应用所需的数据特征;
根据下游应用所需的数据特征,设置数据加工规则,并选取对应的数据加工引擎;
按照数据加工规则,利用数据加工引擎对已抓取的数据进行包括二次加工和格式转换的数据处理操作,生成结构化数据,并将生成的所述结构化数据保存至关系型数据库中。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据抓取程序,所述数据抓取程序可被一个或者多个处理器执行,以实现如上所述的数据抓取方法的步骤。
本发明提出的数据抓取方法、装置及计算机可读存储介质,接收用户触发的用于数据抓取的规则配置指令,执行规则设置操作,配置数据抓取所需的规则数据;接收数据抓取操作指令,读取已配置的所述规则数据,按照所述规则数据对应的数据抓取规则,建立数据抓取任务;根据建立的所述数据抓取任务,采用分布式多线程的数据抓取方式,抓取目标网站对应的数据;针对已抓取的数据,按照预先配置的数据加工规则进行数据处理,生成对应的结构化数据并存储。本发明通过根据配置的数据抓取规则(该数据抓取规则是用户根据自身的数据抓取需求预先配置的)进行数据抓取,实现了按照用户所需进行目标数据抓取的目的,避免了大量不必要数据的抓取,提高了数据抓取的效率,使得数据抓取更具针对性;且针对已抓取的数据,根据不用的下游数据需求预先配置数据加工规则,并按照预先配置的数据加工规则对已抓取的数据进行二次加工、格式转换等操作,最终生成所需的结构化数据,并存储至对应的分布式数据库中,提高了数据处理的效率,使得下游数据的对接也更加灵活和高效。
附图说明
图1为本发明一实施例提供的数据抓取方法的流程示意图;
图2为本发明一实施例提供的数据抓取装置的内部结构示意图;
图3为本发明一实施例提供的数据抓取装置中数据抓取程序的模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种数据抓取方法。如图1所示,图1为本发明一实施例提供的数据抓取方法的流程示意图。该数据抓取方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,所述数据抓取方法包括:
步骤S10,接收用户触发的用于数据抓取的规则配置指令,执行规则设置操作,配置数据抓取所需的规则数据。
本发明实施例中,针对数据抓取进行配置化开发;即在实施数据抓取操作之前,首先根据不用下游应用的数据需求,配置数据抓取规则,即配置数据抓取对应的规则数据,以便后续在执行数据抓取操作时,根据配置的数据抓取规则,实施数据抓取操作。
数据抓取规则的配置根据触发的规则配置指令启动,其中,触发规则配置指令的对象可以是用户基于配置客户端进行触发,也可以是根据用户客户端的操作指令自动触发,本发明实施例对规则配置指令的具体触发对象以及具体配置过程不进行限定。
步骤S20,接收数据抓取操作指令,读取已配置的所述规则数据,按照所述规则数据对应的数据抓取规则,建立数据抓取任务。
步骤S30,根据建立的所述数据抓取任务,采用分布式多线程的数据抓取方式,抓取目标网站对应的数据。
本发明实施例中,根据触发的数据抓取操作指令,读取已配置的数据抓取规则数据,按照数据抓取规则,建立数据抓取任务,采用分布式多线程的数据抓取方式进行数据抓取;比如,根据任务的紧急程度,越紧急的任务越先执行,且执行时为紧急度最高的数据抓取任务配置最优的资源,从而基于配置的最优资源最先执行紧急度最高的数据抓取任务;同时,在不影响执行上述紧急度最高的数据抓取任务时,按照多线程方式同时执行其他数据抓取任务。或者,根据数据需求或者数据处理所需数据的先后顺序,建立数据抓取任务队列,在执行上述数据抓取任务时,若系统资源允许,则启动多线程同时执行任务队列中对应的数据抓取任务。
进一步地,在本发明的一个实施例中,配置数据抓取所需的规则数据包括设置对应的数据抓取优先级;当接收到数据抓取操作指令时,通过读取所述规则数据,获取数据抓取优先级,根据数据抓取优先级,按照数据优先级的由高到低生成对应的数据抓取任务;在执行数据抓取任务时,按照所述数据抓取任务的优先级高低,为各数据抓取任务匹配对应的系统资源。基于配置的系统资源,按照分布式多线程的数据抓取方式,抓取目标网站对应的数据。
步骤S40,针对已抓取的数据,按照预先配置的数据加工规则进行数据处理,生成对应的结构化数据并存储。
针对已抓取的数据,根据不同下游应用或者不同场景的数据需求,按照预先配置的数据加工规则,对已抓取的上述数据进行数据加工;例如,针对已抓取的非结构化数据,采用完全配置化的方式,使用数据加工引擎对上述非结构化数据进行二次加工、格式转换等数据处理操作,生成可直接对接下游应用等用途的结构化数据,并将生成的结构化数据保存至分布式数据库比如Mysql数据库中。
本实施例提出的数据抓取方法,接收用户触发的用于数据抓取的规则配置指令,执行规则设置操作,配置数据抓取所需的规则数据;接收数据抓取操作指令,读取已配置的所述规则数据,按照所述规则数据对应的数据抓取规则,建立数据抓取任务;根据建立的所述数据抓取任务,采用分布式多线程的数据抓取方式,抓取目标网站对应的数据;针对已抓取的数据,按照预先配置的数据加工规则进行数据处理,生成对应的结构化数据并存储。本发明通过根据配置的数据抓取规则(该数据抓取规则是用户根据自身的数据抓取需求预先配置的)进行数据抓取,实现了按照用户所需进行目标数据抓取的目的,避免了大量不必要数据的抓取,提高了数据抓取的效率,使得数据抓取更具针对性;且针对已抓取的数据,根据不用的下游数据需求预先配置数据加工规则,并按照预先配置的数据加工规则对已抓取的数据进行二次加工、格式转换等操作,最终生成所需的结构化数据,并存储至对应的分布式数据库中,提高了数据处理的效率,使得下游数据的对接也更加灵活和高效。
在数据抓取过程中,为了避免因目标网站设置的反爬虫机制所导致的数据无法抓取的现象,进一步地,在本发明数据抓取方法的一个实施例中,根据建立的所述数据抓取任务,采用分布式多线程的数据抓取方式,抓取目标网站对应的数据,可以按照如下描述的方式进行实施:
根据建立的所述数据抓取任务,获取所述数据抓取任务对应的待抓取数据的目标网站;
针对所述目标网站的网页进行初次解析,识别所述目标网站的网页是否设置了反爬虫机制;
若设置了反爬虫机制,则对设置反爬虫机制的网页进行二次解析,根据解析结果,获取网页设置的反爬虫机制内容并采用能够绕过所述反爬虫机制的数据抓取方式,对所述目标网站的网页进行数据抓取;
若没有设置反爬虫机制,则根据所述目标网站对应的所述数据抓取任务,在所述目标网站的网页上提取所需的目标数据。
比如,在执行分布式多线程爬取目标网站的数据抓取任务时,采用IP代理、用户代理、改变cookie以及JavaScript交互检测等技术,对网页进行初次解析,识别上述目标网站对应的网页是否设置了反爬虫机制。由于设置反爬虫机制的网页,采用普通的爬虫程序是无法抓取到网页数据的;因此,若识别出目标网站对应的网页设置了反爬虫机制,则针对设置反爬虫机制的网页进行二次解析,根据解析结果,获取网页设置的反爬虫机制内容并采用能够绕过所述反爬虫机制的数据抓取方式,对所述目标网站的网页进行数据抓取;若识别出目标网站对应的网页没有设置反爬虫机制,则根据该目标网站对应的数据抓取任务,直接抓取所需的目标数据即可。
为了实时掌握数据抓取进度,并对数据抓取的全流程进行监控和跟踪处理,进一步地,在本发明数据抓取方法的一个实施例中,所述根据建立的数据抓取任务,采用分布式多线程的数据抓取方式,抓取目标网站对应的数据时,根据所述数据抓取任务,抓取目标网站对应的数据,若数据抓取操作无法正常结束,则发送错误报告信息;若数据抓取操作正常结束,则发送对应的执行状态报告信息。
为了方便地对接下游应用的数据需求,进一步地,在本发明数据抓取方法的一个实施例中,针对已抓取的数据,按照预先配置的数据加工规则进行数据处理,生成对应的结构化数据并存储,可以按照如下描述的方式进行实施:
针对已抓取的数据,获取与所述已抓取数据对应的下游应用所需的数据特征;
根据下游应用所需的数据特征,设置数据加工规则,并选取对应的数据加工引擎;
按照数据加工规则,利用数据加工引擎对已抓取的数据进行包括二次加工和格式转换的数据处理操作,生成结构化数据,并将生成的所述结构化数据保存至关系型数据库中。
本发明实施例中,由于抓取的数据可能的应用场景不同,和/或对接的下游应用不同,因此,针对已抓取的数据进行二次加工时,针对数据加工规则,可以直接根据该已抓取数据对应的下游应用所需的数据特征,来设置对应的数据加工规则,并选取匹配的数据加工引擎,进而根据配置的数据加工规则,利用选取的数据加工引擎,对已抓取的数据进行二次数据加工、格式转换等数据处理操作,最终生成所需的格式化数据并存储至数据库中(比如关系型数据库)。通过采用本实施例所描述的方案,可灵活适配并对接下游应用,达到方便、快捷地配合和支撑项目的数据要求的有益效果。
本发明还提供了一种数据抓取装置。如图2所示,图2为本发明一实施例提供的数据抓取装置的内部结构示意图。
在本实施例中,数据抓取装置1可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、便携计算机等终端设备。该数据抓取装置1至少包括存储器11、处理器12,通信总线13,以及网络接口14。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是数据抓取装置1的内部存储单元,例如该数据抓取装置1的硬盘。存储器11在另一些实施例中也可以是数据抓取装置1的外部存储设备,例如数据抓取装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括数据抓取装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于数据抓取装置1的应用软件及各类数据,例如数据抓取程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行数据抓取程序01等。
通信总线13用于实现这些组件之间的连接通信。
网络接口14可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该装置1与其他电子设备之间建立通信连接。
可选地,该装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在数据抓取装置1中处理的信息以及用于显示可视化的用户界面。
图2仅示出了具有组件11-14以及数据抓取程序01的数据抓取装置1,本领域技术人员可以理解的是,图2示出的结构并不构成对数据抓取装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在图2所示的装置1实施例中,存储器11中存储有数据抓取程序01;处理器12执行存储器11中存储的数据抓取程序01时实现如下步骤:
接收用户触发的用于数据抓取的规则配置指令,执行规则设置操作,配置数据抓取所需的规则数据。
本发明实施例中,针对数据抓取进行配置化开发;即在实施数据抓取操作之前,首先根据不用下游应用的数据需求,配置数据抓取规则,即配置数据抓取对应的规则数据,以便后续在执行数据抓取操作时,根据配置的数据抓取规则,实施数据抓取操作。
数据抓取规则的配置根据触发的规则配置指令启动,其中,触发规则配置指令的对象可以是用户基于配置客户端进行触发,也可以是根据用户客户端的操作指令自动触发,本发明实施例对规则配置指令的具体触发对象以及具体配置过程不进行限定。
接收数据抓取操作指令,读取已配置的所述规则数据,按照所述规则数据对应的数据抓取规则,建立数据抓取任务。
根据建立的所述数据抓取任务,采用分布式多线程的数据抓取方式,抓取目标网站对应的数据。
本发明实施例中,根据触发的数据抓取操作指令,读取已配置的数据抓取规则数据,按照数据抓取规则,建立数据抓取任务,采用分布式多线程的数据抓取方式进行数据抓取;比如,根据任务的紧急程度,越紧急的任务越先执行,且执行时为紧急度最高的数据抓取任务配置最优的资源,从而基于配置的最优资源最先执行紧急度最高的数据抓取任务;同时,在不影响执行上述紧急度最高的数据抓取任务时,按照多线程方式同时执行其他数据抓取任务。或者,根据数据需求或者数据处理所需数据的先后顺序,建立数据抓取任务队列,在执行上述数据抓取任务时,若系统资源允许,则启动多线程同时执行任务队列中对应的数据抓取任务。
进一步地,在本发明的一个实施例中,配置数据抓取所需的规则数据包括设置对应的数据抓取优先级;当接收到数据抓取操作指令时,通过读取所述规则数据,获取数据抓取优先级,根据数据抓取优先级,按照数据优先级的由高到低生成对应的数据抓取任务;在执行数据抓取任务时,按照所述数据抓取任务的优先级高低,为各数据抓取任务匹配对应的系统资源。基于配置的系统资源,按照分布式多线程的数据抓取方式,抓取目标网站对应的数据。
针对已抓取的数据,按照预先配置的数据加工规则进行数据处理,生成对应的结构化数据并存储。
针对已抓取的数据,根据不同下游应用或者不同场景的数据需求,按照预先配置的数据加工规则,对已抓取的上述数据进行数据加工;例如,针对已抓取的非结构化数据,采用完全配置化的方式,使用数据加工引擎对上述非结构化数据进行二次加工、格式转换等数据处理操作,生成可直接对接下游应用等用途的结构化数据,并将生成的结构化数据保存至分布式数据库比如Mysql数据库中。
在数据抓取过程中,为了避免因目标网站设置的反爬虫机制所导致的数据无法抓取的现象,进一步地,在本发明数据抓取方法的一个实施例中,根据建立的所述数据抓取任务,采用分布式多线程的数据抓取方式,抓取目标网站对应的数据,可以按照如下描述的方式进行实施:
根据建立的所述数据抓取任务,获取所述数据抓取任务对应的待抓取数据的目标网站;
针对所述目标网站的网页进行初次解析,识别所述目标网站的网页是否设置了反爬虫机制;
若设置了反爬虫机制,则对设置反爬虫机制的网页进行二次解析,根据解析结果,获取网页设置的反爬虫机制内容并采用能够绕过所述反爬虫机制的数据抓取方式,对所述目标网站的网页进行数据抓取;
若没有设置反爬虫机制,则根据所述目标网站对应的所述数据抓取任务,在所述目标网站的网页上提取所需的目标数据。
比如,在执行分布式多线程爬取目标网站的数据抓取任务时,采用IP代理、用户代理、改变cookie以及JavaScript交互检测等技术,对网页进行初次解析,识别上述目标网站对应的网页是否设置了反爬虫机制。由于设置反爬虫机制的网页,采用普通的爬虫程序是无法抓取到网页数据的;因此,若识别出目标网站对应的网页设置了反爬虫机制,则针对设置反爬虫机制的网页进行二次解析,根据解析结果,获取网页设置的反爬虫机制内容并采用能够绕过所述反爬虫机制的数据抓取方式,对所述目标网站的网页进行数据抓取;若识别出目标网站对应的网页没有设置反爬虫机制,则根据该目标网站对应的数据抓取任务,直接抓取所需的目标数据即可。
为了实时掌握数据抓取进度,并对数据抓取的全流程进行监控和跟踪处理,进一步地,在本发明数据抓取方法的一个实施例中,所述根据建立的数据抓取任务,采用分布式多线程的数据抓取方式,抓取目标网站对应的数据时,根据所述数据抓取任务,抓取目标网站对应的数据,若数据抓取操作无法正常结束,则发送错误报告信息;若数据抓取操作正常结束,则发送对应的执行状态报告信息。
为了方便地对接下游应用的数据需求,进一步地,在本发明数据抓取方法的一个实施例中,针对已抓取的数据,按照预先配置的数据加工规则进行数据处理,生成对应的结构化数据并存储,可以按照如下描述的方式进行实施:
针对已抓取的数据,获取与所述已抓取数据对应的下游应用所需的数据特征;
根据下游应用所需的数据特征,设置数据加工规则,并选取对应的数据加工引擎;
按照数据加工规则,利用数据加工引擎对已抓取的数据进行包括二次加工和格式转换的数据处理操作,生成结构化数据,并将生成的所述结构化数据保存至关系型数据库中。
本发明实施例中,由于抓取的数据可能的应用场景不同,和/或对接的下游应用不同,因此,针对已抓取的数据进行二次加工时,针对数据加工规则,可以直接根据该已抓取数据对应的下游应用所需的数据特征,来设置对应的数据加工规则,并选取匹配的数据加工引擎,进而根据配置的数据加工规则,利用选取的数据加工引擎,对已抓取的数据进行二次数据加工、格式转换等数据处理操作,最终生成所需的格式化数据并存储至数据库中(比如关系型数据库)。通过采用本实施例所描述的方案,可灵活适配并对接下游应用,达到方便、快捷地配合和支撑项目的数据要求的有益效果。
本实施例提出的数据抓取装置,接收用户触发的用于数据抓取的规则配置指令,执行规则设置操作,配置数据抓取所需的规则数据;接收数据抓取操作指令,读取已配置的所述规则数据,按照所述规则数据对应的数据抓取规则,建立数据抓取任务;根据建立的所述数据抓取任务,采用分布式多线程的数据抓取方式,抓取目标网站对应的数据;针对已抓取的数据,按照预先配置的数据加工规则进行数据处理,生成对应的结构化数据并存储。本发明通过根据配置的数据抓取规则(该数据抓取规则是用户根据自身的数据抓取需求预先配置的)进行数据抓取,实现了按照用户所需进行目标数据抓取的目的,避免了大量不必要数据的抓取,提高了数据抓取的效率,使得数据抓取更具针对性;且针对已抓取的数据,根据不用的下游数据需求预先配置数据加工规则,并按照预先配置的数据加工规则对已抓取的数据进行二次加工、格式转换等操作,最终生成所需的结构化数据,并存储至对应的分布式数据库中,提高了数据处理的效率,使得下游数据的对接也更加灵活和高效。
可选地,在其他实施例中,数据抓取程序还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述数据抓取程序在数据抓取装置中的执行过程。
例如,参照图3所示,图3为本发明数据抓取装置一实施例中的数据抓取程序的程序模块示意图,该实施例中,数据抓取程序01可以被分割为规则配置模块10、任务抓取模块20、数据加工模块30,其中,本发明数据抓取装置针对整个系统架构中的功能模块进行独立性设计,以及针对数据抓取实施配置化开发。比如,在一具体的应用场景中,基于整个数据抓取的全流程,本发明数据抓取装置的系统架构可以划分为一平台三中心的系统架构,即数据抓取平台、管理中心、爬虫中心(即数据抓取中心)和加工中心,这三中心负责实施数据抓取的全部流程。
示例性地:
规则配置模块10用于:接收用户触发的用于数据抓取的规则配置指令,执行规则设置操作,配置数据抓取所需的规则数据;
任务抓取模块20用于:接收数据抓取操作指令,读取已配置的所述规则数据,按照所述规则数据对应的数据抓取规则,建立数据抓取任务;根据建立的所述数据抓取任务,采用分布式多线程的数据抓取方式,抓取目标网站对应的数据;
数据加工模块30用于:针对已抓取的数据,按照预先配置的数据加工规则进行数据处理,生成对应的结构化数据并存储。
上述规则配置模块10、任务抓取模块20、数据加工模块30等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有数据抓取程序,所述数据抓取程序可被一个或多个处理器执行,以实现如下操作:
接收用户触发的用于数据抓取的规则配置指令,执行规则设置操作,配置数据抓取所需的规则数据;
接收数据抓取操作指令,读取已配置的所述规则数据,按照所述规则数据对应的数据抓取规则,建立数据抓取任务;
根据建立的所述数据抓取任务,采用分布式多线程的数据抓取方式,抓取目标网站对应的数据;
针对已抓取的数据,按照预先配置的数据加工规则进行数据处理,生成对应的结构化数据并存储。
本发明计算机可读存储介质具体实施方式与上述数据抓取装置和方法各实施例基本相同,在此不作累述。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种数据抓取方法,其特征在于,所述数据抓取方法包括:
接收用户触发的用于数据抓取的规则配置指令,执行规则设置操作,配置数据抓取所需的规则数据;
接收数据抓取操作指令,读取已配置的所述规则数据,按照所述规则数据对应的数据抓取规则,建立数据抓取任务;
根据建立的所述数据抓取任务,采用分布式多线程的数据抓取方式,抓取目标网站对应的数据;
针对已抓取的数据,按照预先配置的数据加工规则进行数据处理,生成对应的结构化数据并存储。
2.如权利要求1所述的数据抓取方法,其特征在于,所述根据建立的所述数据抓取任务,采用分布式多线程的数据抓取方式,抓取目标网站对应的数据,包括:
根据建立的所述数据抓取任务,获取所述数据抓取任务对应的待抓取数据的目标网站;
针对所述目标网站的网页进行初次解析,识别所述目标网站的网页是否设置了反爬虫机制;
若设置了反爬虫机制,则对设置反爬虫机制的网页进行二次解析,根据解析结果,获取网页设置的反爬虫机制内容并采用能够绕过所述反爬虫机制的数据抓取方式,对所述目标网站的网页进行数据抓取;
若没有设置反爬虫机制,则根据所述目标网站对应的所述数据抓取任务,在所述目标网站的网页上提取所需的目标数据。
3.如权利要求1或2所述的数据抓取方法,其特征在于,所述根据建立的所述数据抓取任务,采用分布式多线程的数据抓取方式,抓取目标网站对应的数据,包括:
根据所述数据抓取任务,抓取目标网站对应的数据,若数据抓取操作无法正常结束,则发送错误报告信息;
若数据抓取操作正常结束,则发送状态报告信息。
4.如权利要求1所述的数据抓取方法,其特征在于,所述针对已抓取的数据,按照预先配置的数据加工规则进行数据处理,生成对应的结构化数据并存储,包括:
针对已抓取的数据,获取与所述已抓取数据对应的下游应用所需的数据特征;
根据下游应用所需的数据特征,设置数据加工规则,并选取对应的数据加工引擎;
按照数据加工规则,利用数据加工引擎对已抓取的数据进行包括二次加工和格式转换的数据处理操作,生成结构化数据,并将生成的所述结构化数据保存至关系型数据库中。
5.如权利要求1或2或4所述的数据抓取方法,其特征在于,所述配置数据抓取所需的规则数据包括设置对应的数据抓取优先级;
当接收到数据抓取操作指令时,通过读取所述规则数据,获取数据抓取优先级,根据数据抓取优先级,按照数据优先级的由高到低生成对应的数据抓取任务;
在执行数据抓取任务时,按照所述数据抓取任务的优先级高低,为各数据抓取任务匹配对应的资源。
6.一种数据抓取装置,其特征在于,所述数据抓取装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的数据抓取程序,所述数据抓取程序被所述处理器执行时实现如下步骤:
接收用户触发的用于数据抓取的规则配置指令,执行规则设置操作,配置数据抓取所需的规则数据;
接收数据抓取操作指令,读取已配置的所述规则数据,按照所述规则数据对应的数据抓取规则,建立数据抓取任务;
根据建立的所述数据抓取任务,采用分布式多线程的数据抓取方式,抓取目标网站对应的数据;
针对已抓取的数据,按照预先配置的数据加工规则进行数据处理,生成对应的结构化数据并存储。
7.如权利要求6所述的数据抓取装置,其特征在于,所述数据抓取程序还可以被所述处理器执行,以根据建立的所述数据抓取任务,采用分布式多线程的数据抓取方式,抓取目标网站对应的数据,包括:
根据建立的所述数据抓取任务,获取所述数据抓取任务对应的待抓取数据的目标网站;
针对所述目标网站的网页进行初次解析,识别所述目标网站的网页是否设置了反爬虫机制;
若设置了反爬虫机制,则对设置反爬虫机制的网页进行二次解析,根据解析结果,获取网页设置的反爬虫机制内容并采用能够绕过所述反爬虫机制的数据抓取方式,对所述目标网站的网页进行数据抓取;
若没有设置反爬虫机制,则根据所述目标网站对应的所述数据抓取任务,在所述目标网站的网页上提取所需的目标数据。
8.如权利要求6或7所述的数据抓取装置,其特征在于,所述数据抓取程序还可以被所述处理器执行,以根据建立的所述数据抓取任务,采用分布式多线程的数据抓取方式,抓取目标网站对应的数据,包括:
根据所述数据抓取任务,抓取目标网站对应的数据,若数据抓取操作无法正常结束,则发送错误报告信息;
若数据抓取操作正常结束,则发送状态报告信息。
9.如权利要求6所述的数据抓取装置,其特征在于,所述数据抓取程序还可以被所述处理器执行,以针对已抓取的数据,按照预先配置的数据加工规则进行数据处理,生成对应的结构化数据并存储,包括:
针对已抓取的数据,获取与所述已抓取数据对应的下游应用所需的数据特征;
根据下游应用所需的数据特征,设置数据加工规则,并选取对应的数据加工引擎;
按照数据加工规则,利用数据加工引擎对已抓取的数据进行包括二次加工和格式转换的数据处理操作,生成结构化数据,并将生成的所述结构化数据保存至关系型数据库中。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据抓取程序,所述数据抓取程序可被一个或者多个处理器执行,以实现如权利要求1至5中任一项所述的数据抓取方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910041304.5A CN109614539A (zh) | 2019-01-16 | 2019-01-16 | 数据抓取方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910041304.5A CN109614539A (zh) | 2019-01-16 | 2019-01-16 | 数据抓取方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109614539A true CN109614539A (zh) | 2019-04-12 |
Family
ID=66017631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910041304.5A Pending CN109614539A (zh) | 2019-01-16 | 2019-01-16 | 数据抓取方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109614539A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110489626A (zh) * | 2019-08-05 | 2019-11-22 | 苏州闻道网络科技股份有限公司 | 一种信息采集方法和装置 |
CN111125488A (zh) * | 2019-12-25 | 2020-05-08 | 东南大学 | 一种主机负荷智能感知的定向爬虫方法及系统 |
CN111401979A (zh) * | 2020-02-19 | 2020-07-10 | 北京值得买科技股份有限公司 | 分布式信息采集方法以及装置 |
WO2020211351A1 (zh) * | 2019-04-19 | 2020-10-22 | 平安科技(深圳)有限公司 | 使用爬虫获取外部数据的方法及装置 |
CN112818201A (zh) * | 2021-02-07 | 2021-05-18 | 四川封面传媒有限责任公司 | 一种网络数据采集方法、装置、计算机设备及存储介质 |
CN115730150A (zh) * | 2022-12-09 | 2023-03-03 | 广州富莱星科技有限公司 | 一种数据抓取方法、系统、设备及可存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105243159A (zh) * | 2015-10-28 | 2016-01-13 | 福建亿榕信息技术有限公司 | 一种基于可视化脚本编辑器的分布式网络爬虫系统 |
CN105956175A (zh) * | 2016-05-24 | 2016-09-21 | 考拉征信服务有限公司 | 网页内容爬取的方法和装置 |
CN108932285A (zh) * | 2018-05-22 | 2018-12-04 | 北京工业大学 | 一种基于浏览器扩展的数据抓取方法及系统 |
CN108959398A (zh) * | 2018-06-04 | 2018-12-07 | 北京至信普林科技有限公司 | 异构存储扩展系统及方法 |
-
2019
- 2019-01-16 CN CN201910041304.5A patent/CN109614539A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105243159A (zh) * | 2015-10-28 | 2016-01-13 | 福建亿榕信息技术有限公司 | 一种基于可视化脚本编辑器的分布式网络爬虫系统 |
CN105956175A (zh) * | 2016-05-24 | 2016-09-21 | 考拉征信服务有限公司 | 网页内容爬取的方法和装置 |
CN108932285A (zh) * | 2018-05-22 | 2018-12-04 | 北京工业大学 | 一种基于浏览器扩展的数据抓取方法及系统 |
CN108959398A (zh) * | 2018-06-04 | 2018-12-07 | 北京至信普林科技有限公司 | 异构存储扩展系统及方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020211351A1 (zh) * | 2019-04-19 | 2020-10-22 | 平安科技(深圳)有限公司 | 使用爬虫获取外部数据的方法及装置 |
CN110489626A (zh) * | 2019-08-05 | 2019-11-22 | 苏州闻道网络科技股份有限公司 | 一种信息采集方法和装置 |
CN111125488A (zh) * | 2019-12-25 | 2020-05-08 | 东南大学 | 一种主机负荷智能感知的定向爬虫方法及系统 |
CN111401979A (zh) * | 2020-02-19 | 2020-07-10 | 北京值得买科技股份有限公司 | 分布式信息采集方法以及装置 |
CN112818201A (zh) * | 2021-02-07 | 2021-05-18 | 四川封面传媒有限责任公司 | 一种网络数据采集方法、装置、计算机设备及存储介质 |
CN115730150A (zh) * | 2022-12-09 | 2023-03-03 | 广州富莱星科技有限公司 | 一种数据抓取方法、系统、设备及可存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109614539A (zh) | 数据抓取方法、装置及计算机可读存储介质 | |
CN110427252B (zh) | 基于任务依赖关系的任务调度方法、装置及存储介质 | |
CN110442816A (zh) | 网页表单配置方法、装置及计算机可读存储介质 | |
CN110737659A (zh) | 图数据存储和查询方法、装置及计算机可读存储介质 | |
CN105243159A (zh) | 一种基于可视化脚本编辑器的分布式网络爬虫系统 | |
CN107391775A (zh) | 一种通用的网络爬虫模型实现方法及系统 | |
CN110427257A (zh) | 多任务调度方法、装置及计算机可读存储介质 | |
CN105447072B (zh) | 可配置的界面框架及利用该框架的搜索方法和系统 | |
CN108845839A (zh) | 应用页面加载方法、装置及计算机可读存储介质 | |
CN110162682A (zh) | 一种网络数据的爬取方法、装置、存储介质和终端设备 | |
CN110457346A (zh) | 数据查询方法、装置及计算机可读存储介质 | |
CN106502709B (zh) | 应用业务提示方法及应用业务提示装置 | |
CN109816481A (zh) | 账单处理方法、装置及计算机可读存储介质 | |
CN109544266A (zh) | 产品数据推送方法、装置及计算机可读存储介质 | |
CN104598570A (zh) | 资源的抓取方法及装置 | |
CN104462158A (zh) | 数据抓取方法和数据抓取系统 | |
CN115129753A (zh) | 数据血缘关系分析方法、装置、电子设备及存储介质 | |
CN110020060B (zh) | 网页数据爬取方法、装置及存储介质 | |
CN110471832A (zh) | 程序运行的处理方法、装置及计算机可读存储介质 | |
CN111026945B (zh) | 多平台爬虫调度方法、装置和存储介质 | |
CN110764745B (zh) | 变量的传输和收集方法、装置及计算机可读存储介质 | |
CN113886204A (zh) | 用户行为数据收集方法、装置、电子设备及可读存储介质 | |
CN109492149A (zh) | 爬虫任务处理方法及装置 | |
CN109492088A (zh) | 搜索结果优化排序方法、装置及计算机可读存储介质 | |
CN111553133B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190412 |
|
WD01 | Invention patent application deemed withdrawn after publication |