CN112541104A - 一种数据抓取方法及装置 - Google Patents
一种数据抓取方法及装置 Download PDFInfo
- Publication number
- CN112541104A CN112541104A CN201910891789.7A CN201910891789A CN112541104A CN 112541104 A CN112541104 A CN 112541104A CN 201910891789 A CN201910891789 A CN 201910891789A CN 112541104 A CN112541104 A CN 112541104A
- Authority
- CN
- China
- Prior art keywords
- data
- website
- webpage
- template
- data capture
- 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 37
- 238000013481 data capture Methods 0.000 claims abstract description 163
- 230000009193 crawling Effects 0.000 claims description 21
- 230000003044 adaptive effect Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001960 triggered effect Effects 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
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 Transfer Between Computers (AREA)
Abstract
本申请提供一种数据抓取方法、装置、电子设备及存储介质,包括:确定待进行数据抓取的目标网站;确定所述目标网站对应的目标数据抓取模板;所述目标抓取模板由预设的、且与所述目标网站适配的多个通用代码块构成;所述多个通用代码块记录了用于生成爬虫工具的代码;基于所述目标数据抓取模板生成爬虫工具;采用所述爬虫工具从所述目标网站抓取数据。使用本申请提供的方法可以有效地提高数据抓取的效率。
Description
技术领域
本申请涉及计算机通信领域,尤其涉及一种数据抓取方法及装置。
背景技术
随着互联网知识数据的爆炸式增长以及大数据技术在互联网和信息行业的飞速发展,人们越来越希望从互联网中获取各类型数据,并采用获取到的各类型数据进行数据分析、数据挖掘来为企业创造更大的效益。
现有的数据抓取方式是:用户为各待进行数据抓取的网站编写爬虫工具,通过爬虫工具来爬取各网站上的数据。然而,在抓取数据前,用户都需要手段编写爬虫工具,由于人工编写爬虫工具较慢,并且容易出错,所以使得抓取数据的效率大大降低。
发明内容
有鉴于此,本申请提供一种数据抓取方法及装置,用以解决抓取数据效率低的问题。
具体地,本申请是通过如下技术方案实现的:
根据本申请的第一方面,提供一种数据抓取方法,所述方法包括:
确定待进行数据抓取的目标网站;
确定所述目标网站对应的目标数据抓取模板;所述目标抓取模板由预设的、且与所述目标网站适配的多个通用代码块构成;所述多个通用代码块记录了用于生成爬虫工具的代码;
基于所述目标数据抓取模板生成爬虫工具;
采用所述爬虫工具从所述目标网站抓取数据。
可选的,所述确定待进行数据抓取的目标网站,包括:
在接收到数据抓取指令时,获取所述数据抓取指令携带的网站地址,并将该网站地址所指示的网站作为所述目标网站;
或者,
定期遍历预设的网站地址列表,并将遍历到的网站地址所指示的网站作为目标网站。
可选的,所述确定所述目标网站对应的目标数据抓取模板,包括:
在预设的网站地址与数据抓取模板的对应关系中,以所述目标网站的网站地址作为关键字,查找与该关键字对应的数据抓取模板,并将查找到的数据抓取模板确定为所述目标数据抓取模板。
可选的,所述多个通用代码块包括:网页访问代码块、数据抓取代码块;
所述网页访问代码块,用于指示所述爬虫工具访问该网页访问代码块中记录的网页地址对应的网页,并将该网页的网页内容储存在指定存储空间;
所述数据抓取代码块,用于指示所述爬虫工具从所述指定存储空间中获取所述网页内容,并从网页内容中抓取数据。
可选的,所述网站地址与数据抓取模板的对应关系,通过如下方式建立:
接收模板配置指令,所述模板配置指令携带了网站地址、以及该网站地址所指示的网站包含的网页地址;
读取预设的网页访问代码块,并将所述模板配置指令携带的网页地址添加在所述网页访问代码块中;
在预配置的多个数据抓取代码块中,确定与所述网页地址所指示的网页上数据的数据格式类型适配的数据抓取代码块;
基于所述网页访问代码块和确定出的所述数据抓取代码块,生成数据抓取模板,并建立所述网站地址与生成的数据抓取模板的对应关系。
根据本申请的第二方面,提供一种数据抓取装置,所述装置包括:
第一确定单元,用于确定待进行数据抓取的目标网站;
第二确定单元,用于确定所述目标网站对应的目标数据抓取模板;所述目标抓取模板由预设的、且与所述目标网站适配的多个通用代码块构成;所述多个通用代码块记录了用于生成爬虫工具的代码;
调用单元,用于基于所述目标数据抓取模板生成爬虫工具;
抓取单元,用于采用所述爬虫工具从所述目标网站抓取数据。
可选的,所述第一确定单元,具体用于在接收到数据抓取指令时,获取所述数据抓取指令携带的网站地址,并将该网站地址所指示的网站作为所述目标网站;或者,定期遍历预设的网站地址列表,并将遍历到的网站地址所指示的网站作为目标网站。
可选的,所述第二确定单元,具体用于在预设的网站地址与数据抓取模板的对应关系中,以所述目标网站的网站地址作为关键字,查找与该关键字对应的数据抓取模板,并将查找到的数据抓取模板确定为所述目标数据抓取模板。
可选的,所述数据抓取模板包括:网页访问代码块、数据抓取代码块;
所述网页访问代码块,用于指示所述爬虫工具访问该网页访问代码块中记录的网页地址对应的网页,并将该网页的网页内容储存在指定存储空间;
所述数据抓取代码块,用于指示所述爬虫工具从所述指定存储空间中获取所述网页内容,并从网页内容中抓取数据。
可选的,所述网站地址与数据抓取模板的对应关系,通过如下方式建立:
接收模板配置指令,所述模板配置指令携带了网站地址、以及该网站地址所指示的网站包含的网页地址;
读取预设的网页访问代码块,并将所述模板配置指令携带的网页地址添加在所述网页访问代码块中;
在预配置的多个数据抓取代码块中,确定与所述网页地址所指示的网页上数据的数据格式类型适配的数据抓取代码块;
基于所述网页访问代码块和确定出的所述数据抓取代码块,生成数据抓取模板,并建立所述网站地址与生成的数据抓取模板的对应关系。
由上述描述可知,电子设备在抓取目标网站的数据时,通过调用与该目标网站对应的目标数据抓取模板,生成爬虫工具,并使用该爬虫工具来抓取目标网站上的数据。
由于在抓取目标网站上的数据时,用户不需要编写用于抓取该目标网站上的数据的爬虫工具,用户只需要输入目标网站地址,电子设备就可以自动调用与该目标网站地址对应的目标数据抓取模板生成爬虫工具,从而大大提高了抓取数据的效率,同时还为用户抓取数据提供了极大地便利。
此外,本申请的目标抓取模板由预设的、且与所述目标网站适配的多个通用代码块构成;多个通用代码块记录了用于生成爬虫工具的代码。由于将用于生成爬虫工具的代码做成通用代码块,将代码与逻辑分离,使得生成针对不同网站的数据爬取模板时只需要调用通用代码块,就可以实现数据抓取模板的生成,从而大大提高了数据抓取模板的生成效率。
附图说明
图1是本申请一示例性实施例示出的一种网站地址和数据抓取模板对应关系的建立方法的流程图;
图2是本申请一示例性实施例示出的一种数据抓取方法的流程图;
图3是本申请一示例性实施例示出的一种电子设备的硬件结构图;
图4是本申请一示例性实施例示出的一种数据抓取装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请旨在提出一种数据抓取方法,电子设备在抓取目标网站的数据时,通过调用与该目标网站对应的目标数据抓取模板,生成爬虫工具,并使用该爬虫工具来抓取目标网站上的数据。
由于在抓取目标网站上的数据时,用户不需要编写用于抓取该目标网站上的数据的爬虫工具,用户只需要输入目标网站地址,电子设备就可以自动调用与该目标网站地址对应的目标数据抓取模板生成爬虫工具,从而大大提高了抓取数据的效率,同时还为用户抓取数据提供了极大地便利。
此外,本申请的目标抓取模板由预设的、且与所述目标网站适配的多个通用代码块构成;多个通用代码块记录了用于生成爬虫工具的代码。由于将用于生成爬虫工具的代码做成通用代码块,将代码与逻辑分离,使得生成针对不同网站的数据爬取模板时只需要调用通用代码块,就可以实现数据抓取模板的生成,从而大大提高了数据抓取模板的生成效率。
下面在介绍本申请提供的数据抓取方法之前,先介绍本申请涉及的概念。
1、数据抓取模板
在本申请实施例中,数据抓取模板用于指示电子设备生成爬虫工具。数据抓取模板包括预设的多个通用代码块。比如,数据抓取模板包括:网页访问代码块、数据抓取代码块等。电子设备可以调用该数据抓取模板,基于该数据抓取模板记录的通用代码块,生成爬虫工具。
下面以“数据抓取模板包括网页访问代码块和数据抓取代码块”为例进行说明。
数据抓取模板记录的内容如下所示:
urlFilter:
url:(待访问的网页的URL地址)
to:body(将解析出的网页内容储存在body变量中)
cssFilter:
from body(从body变量中读取网页内容)
to param(将抓取到的数据存储在param变量中)
cass:.abc(解析并抓取.abc这种数据)
需要说明的是:
1)上述urlFilter为网页访问代码块,该网页访问代码块用于指示爬虫工具向该网页访问代码块记录的网页地址发起一个网页访问请求(比如HTTP请求),解析并获取该网页地址对应的网页的网页内容,并将待访问网页的网页内容存储在指定存储空间中,以供其他代码块使用。
例如,该urlFilter记录的内容如下所示:
urlFilter:
url:(待访问的网页的URL地址)
to:body(将解析出的网页内容储存在body变量中)
urlFilter用于指示爬虫工具向“url”记录的网页地址所指示的网页发送网页访问请求,解析并获取该网页的网页内容,并将该网页内容储存在body变量中。
2)上述cssFilter为数据抓取代码块,该数据抓取代码块用于指示爬虫工具从指定空间中获取该网页内容,解析并抓取基于html编写的网页上的数据,并抓取到的数据储存在另一指定存储空间。
例如,该cssFilter记录的内容如下所示:
cssFilter:
from body(从body变量中读取网页内容)
to param(将抓取到的数据存储在param变量中)
cass:.abc(解析并抓取.abc这种数据)
cssFilter用于指示爬虫工具从body变量中读取基于html的网页内容,并在该网页内容中抓取“.abc”这类型数据,并将抓取到的数据储存在param变量中。
3)上述该数据抓取模板表示:向待访问网页发送网页访问请求,解析并获取该待访问网页的网页内容,并将该网页内容存储在body变量中。从body变量中获取该网页内容,并从该网页内容中抓取“.abc”这类型数据,并将抓取到的数据保存在param变量中。
上述只是对数据抓取模板进行示例性地说明。当然,在实际应用中,该数据抓取模板还可包括其他代码块,这里不进行具体地限定。
此外,还需要说明的是,该数据抓取模板可以以数据库所支持的数据格式(比如key-value格式)储存在数据库(如mysql数据库,Oracle数据库)中,也可以储存在文件系统中,也可以保存在内存、缓存(如memcache,redis中),这里不对该数据抓取模板的存储介质进行具体地限定。
2、网站地址与数据抓取模板的对应关系
在本申请实施例中,还配置有网站地址和数据抓取模板的对应关系,该对应关系如表1所示。
网站地址 | 数据抓取模板 |
表1
其中,该网站地址可以是网站的URL地址等,这里只是对网站地址进行示例性地说明,不对该网站地址进行具体地限定。
下面详细描述下上述“网站地址与数据抓取模板的对应关系”的建立过程。
在本申请实施例中,开发人员预先配置了上述所示的多个通用代码块,多个通用代码块与网站的网页对应。换句话来说,每个网页与一个或者多个通用代码块适配。
例如,以网页访问代码块为例,该网页访问代码块适配于所有的网页。
以数据抓取代码块为例,数据抓取代码块包括多种类型:
比如数据抓取代码块包括:
数据抓取代码块cssFilter,用于指示爬虫工具解析并抓取数据格式为html的网页上的数据,并将抓取到的数据储存在指定的存储空间。所以,cssFilter与数据格式为html的网页适配。
数据抓取代码块jsonFilter,用于指示爬虫工具解析并抓取数据格式为json格式的网页上的数据,并将抓取到的数据储存在指定的存储空间。所以,jsonFilter与数据格式为json的网页适配。
在生成数据抓取模板与网站地址的对应关系时,电子设备可以选择与该网站的网页适配的一个或者多个通用代码块,并基于选择出的一个或者多个通用代码块生成与该网站对应的数据抓取模板,并建立该网站地址与该数据抓取模板的对应关系。
下面以数据抓取模板包括网页访问代码块和数据抓取代码块为例,并结合图1对“网站地址与数据抓取模板的对应关系的建立过程”进行详细地说明。
参见图1,图1是本申请一示例性实施例示出的一种网站地址和数据抓取模板对应关系的建立方法的流程图。
步骤101:电子设备可以接收模板配置指令;该模板配置指令携带了网站地址,以及该网站中的网页地址。
其中,该网页地址可以是网站中的所有网页的网页地址,也可以是该网站中的部分网页的网页地址,这里不对该网页地址进行具体地限定。
此外,该模板配置指令可以是用户输入的,也可以是其他设备发送来的,这里不对该模板配置指令的来源进行具体地限定。
步骤102:电子设备可以响应于该模板配置指令,读取预配置的网页访问代码块,并将所述模板配置指令携带的网页地址添加在所述网页访问代码块中。
需要说明的是,由于网页访问子模块是一个通用模板,该通用模板配置了“待访问网页地址”这一选项,但是并没有配置“待访问网页地址”的具体地址值,电子设备可将该配置指令携带的网页地址(比如网页的URL地址)添加在该网页访问代码块中,以触发网页访问代码块向该配置指令携带的网页发送网页访问请求,获取该网页的网页内容。
假设,该配置指令携带的网页地址为:https://www.baidu.com/。
假设,网页访问代码块为urlFilter。
通用网页访问代码块(即未添加待访问网页地址的网页访问代码块)如下所示:
urlFilter:
url:(待访问的网页的URL地址)
to:body(将解析出的网页内容储存在body变量中)
电子设备可将网页地址“https://www.baidu.com/”添加在urlFilter中的“url”选项后面。
添加了网页地址的网页访问代码块如下所示:
urlFilter:
url:https://www.baidu.com/(待访问网页的URL地址)
to:body(将解析出的网页内容储存在body变量中)
该添加了网页地址的网页访问代码块,用于指示爬虫工具向网址为“https://www.baidu.com/”的网页发起一个网页访问请求,解析并获取该网址为“https://www.baidu.com/”的网页的网页内容,并将获取到的网页内容存储在指定的body变量中,以供其他代码块使用。
步骤103:电子设备在预配置的多个数据抓取代码块中,确定与所述网页地址所指示的网页上数据的数据格式类型适配的数据抓取代码块。
在本申请实施例中,预先配置了数据格式类型与数据抓取代码块的对应关系。
其中,上述数据格式类型是指网页上数据的数据格式。比如网页上数据的数据格式可包括:HTML(如HTML 5)格式、json格式等。
例如,假设数据抓取代码块包括:cssFilter和jsonFilter。
其中,数据抓取代码块cssFilter,用于指示电子设备解析并抓取数据格式为html的网页上的数据,并将抓取到的数据储存在指定的存储空间。所以,cssFilter与html的数据格式适配。
数据抓取代码块jsonFilter,用于指示电子设备解析并抓取数据格式为json格式的网页上的数据,并将抓取到的数据储存在指定的存储空间。所以,jsonFilter与json的数据格式适配。
此时,数据格式类型与数据抓取代码块的对应关系如表2所示。
数据格式类型 | 数据抓取代码块 |
HTML | cssFilter |
json | jsonFilter |
表2
在实现步骤103时,电子设备可确定该模板配置指令中携带的网页表示所指示的网页上的数据的数据格式类型。然后,电子设备可在预配置的数据格式类型与数据抓取代码块的对应关系中,查找与该确定出的数据格式类型对应的数据抓取代码块。
步骤104:电子设备基于所述网页访问代码块和确定出的所述数据抓取代码块,生成数据抓取模板,并建立所述网站地址与生成的数据抓取模板的对应关系。
在实现时,电子设备可基于步骤102中添加了网页地址的网页访问代码块和步骤103中查找到的数据抓取代码块,生成数据抓取模板。电子设备可建立该模板配置指令中携带的网站地址与生成的数据抓取模板的对应关系
由上述描述可知,本申请预先配置了通用代码块,当电子设备接收到用户输入的模板配置指令时,可以依据该模板配置指令中携带的网站地址、网页地址,查找与该网站地址、网页地址匹配的通用代码块,基于通用代码块来生成该网站地址对应的数据抓取代码块。
由于用户只需输入网站地址、网页地址,电子设备就可以自动配置出与该网站地址对应的数据抓取代码块,所以大大提高了数据抓取代码块的效率。
本申请的目标抓取模板由预设的、且与所述目标网站适配的多个通用代码块构成;多个通用代码块记录了用于生成爬虫工具的代码。由于将用于生成爬虫工具的代码做成通用代码块,将代码与逻辑分离,从而使得生成针对不同网站的数据爬取模板时只需要调用通用代码块,就可以实现数据抓取模板的生成,从而大大提高了数据抓取模板的生成效率。
下面通过具体地例子对步骤101至步骤104进行介绍。
假设电子设备接收到的模板配置指令中携带的网站地址为https://www.tmall.com。
该模板配置指令携带的网页地址为:
https://www.tmall.com/?spm=a21bo.2017.201859.1.5af911d94oLQ7o
假设,预先配置了网页访问代码块urlFilter,数据抓取代码块cssFilter和数据抓取代码块jsonFilter。
假设,数据格式类型与数据抓取代码块的对应关系如表2所示。
电子设备在接收到该模板配置指令后,可以读取预配置的网页访问代码块urlFilter。
假设,读取到的网页访问代码块urlFilter如下所示:
urlFilter:
url:(待访问网页的URL地址)
to:body(将解析出的网页内容储存在body变量中)
电子设备可将该网页地址添加在网页访问代码块urlFilter中,添加了网页地址的网页访问代码块urlFilter如下所示:
urlFilter:
url:https://www.tmall.com/?spm=a21bo.2017.201859.1.5af911d94oLQ7o(待访问的网页的URL地址)
to:body(将解析出的网页内容储存在body变量中)
此外,电子设备还可确定网页地址为
https://www.tmall.com/?spm=a21bo.2017.201859.1.5af911d94oLQ7o的网页上的数据格式类型。
假设该网页的数据格式类型为html。
电子设备可在表2所示的对应关系中,查找HTML对应的数据抓取代码块。在本例中,查找到的数据抓取代码块为cssFilter。
假设,数据抓取代码块cssFilter如下所示:
cssFilter:
from body(从body变量中读取网页内容)
to param(将抓取到的数据存储在param变量中)
cass:.abc(解析并抓取.abc这种数据)
电子设备可以基于网页访问代码块urlFilter和数据抓取代码块cssFilter生成数据抓取模板1。生成数据抓取模板1如下所示:
urlFilter:
url:https://www.tmall.com/?spm=a21bo.2017.201859.1.5af911d94oLQ7o(网页的URL地址)
to:body(将解析出的网页内容储存在body变量中)
cssFilter:
from body(从body变量中读取网页内容)
to param(将抓取到的数据存储在param变量中)
cass:.abc(解析并抓取.abc这种数据)
电子设备可以建立网站地址(即https://www.tmall.com)与数据抓取模板1的对应关系。
网站地址与数据抓取模板1的对应关系如表3所示。
网站地址 | 数据抓取模板 |
https://www.tmall.com | 数据抓取模板1 |
表3
参见图2,图2是本申请一示例性实施例示出的一种数据抓取方法的流程图,该方法可应用在电子设备上,可包括如下所示步骤。
步骤201:电子设备确定待进行数据抓取的目标网站。
方式一:电子设备基于接收到的数据抓取指令来确定目标网站。换句话来说,电子设备在接收到该数据抓取指令后,被触发执行步骤201至步骤204。
在实现时,电子设备可以接收数据抓取指令。该数据抓取指令中携带有网站地址,电子设备可将该网站地址所指示的网站作为目标网站。
其中,该数据抓取指令可以是用户输入的,也可以是其他设备发送给电子设备的,这里不对该数据抓取指令进行具体地限定。
方式二:电子设备定期从预设的网站地址列表中确定目标网站。换句话来说,电子设备定期执行步骤201至步骤204。
在实现时,电子设备上可预配置有网站地址列表,该网站地址列表中记录了需要进行数据抓取的网站地址。
然后,电子设备可定期遍历该预设的网站地址列表,并将遍历到的网站地址所指示的网站作为目标网站。
这里只是对“确定待进行数据抓取的目标网站”进行示例性地说明,不对该步骤进行具体地限定。
步骤202:电子设备确定所述目标网站对应的目标数据抓取模板。所述目标抓取模板由预设的、且与所述目标网站适配的多个通用代码块构成;所述多个通用代码块记录了用于生成爬虫工具的代码。
电子设备可在上述网站地址与数据抓取模板的对应关系中,以该目标网站的网站地址为关键字,查找与该关键字对应的数据抓取模板,作为目标数据抓取模板。
例如,假设网站地址与数据抓取模板的对应关系如表4所示。
网站地址 | 数据抓取模板 |
网站地址1 | 数据抓取模板1 |
网站地址2 | 数据抓取模板2 |
表4
假设该目标网站的网站地址为网站地址1,电子设备可以以网站地址1作为关键字,在表4所示的对应关系中,查找该关键字(网站地址1)对应的数据抓取模板(即数据抓取模板1)作为目标数据抓取模板。
步骤203:电子设备基于所述目标数据抓取模板生成爬虫工具。
电子设备可基于该目标数据抓取模板,然后依据该目标数据抓取模板中的各代码块生成爬虫工具。
例如,电子设备可将目标数据抓取模板转换为标准格式的爬虫工具等。这里不对“基于所述目标数据抓取模板生成爬虫工具”进行具体地限定。
步骤204:电子设备采用所述爬虫工具从所述目标网站抓取数据。
电子设备可利用爬虫工具向目标网站发送网页访问请求,解析并获取该目标网站的网页内容,然后从解析到的网页内容中抓取数据。
由上述描述可知,电子设备在抓取目标网站的数据时,通过调用与该目标网站对应的目标数据抓取模板,生成爬虫工具,并使用该爬虫工具来抓取目标网站上的数据。
由于在抓取目标网站上的数据时,用户不需要编写用于抓取该目标网站上的数据的爬虫工具,用户只需要输入目标网站地址,电子设备就可以自动调用与该目标网站地址对应的目标数据抓取模板生成爬虫工具,从而大大提高了抓取数据的效率,同时还为用户抓取数据提供了极大地便利。
参见图3,图3是本申请一示例性实施例示出的一种电子设备的硬件结构图。
该电子设备包括:通信接口301、处理器302、机器可读存储介质303和总线304;其中,通信接口301、处理器302和机器可读存储介质303通过总线304完成相互间的通信。处理器302通过读取并执行机器可读存储介质303中与数据抓取控制逻辑对应的机器可执行指令,可执行上文描述的数据抓取方法。
本文中提到的机器可读存储介质303可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,机器可读存储介质303可以是RAM(Radom Access Memory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。
此外,本申请还提供了与上述数据抓取方法对应的数据抓取装置。
参见图4,图4是本申请一示例性实施例示出的一种数据抓取装置的框图,该装置可应用在电子设备上,可包括如下所示单元。
第一确定单元401,用于确定待进行数据抓取的目标网站;
第二确定单元402,用于确定所述目标网站对应的目标数据抓取模板;目标抓取模板由预设的、且与目标网站适配的多个通用代码块构成;多个通用代码块记录了用于生成爬虫工具的代码;
调用单元403,用于基于所述目标数据抓取模板生成爬虫工具;
抓取单元404,用于采用所述爬虫工具从所述目标网站抓取数据。
第一确定单元401,具体用于在接收到数据抓取指令时,获取数据抓取指令携带的网站地址,并将该网站地址所指示的网站作为目标网站;或者,定期遍历预设的网站地址列表,并将遍历到的网站地址所指示的网站作为目标网站。
第二确定单元402,具体用于在预设的网站地址与数据抓取模板的对应关系中,以目标网站的网站地址作为关键字,查找与该关键字对应的数据抓取模板,并将查找到的数据抓取模板确定为目标数据抓取模板。
数据抓取模板包括:网页访问代码块、数据抓取代码块;
网页访问代码块,用于指示爬虫工具访问该网页访问代码块中记录的网页地址对应的网页,并将该网页的网页内容储存在指定存储空间;
数据抓取代码块,用于指示爬虫工具从指定存储空间中获取网页内容,并从网页内容中抓取数据。
网站地址与数据抓取模板的对应关系,通过如下方式建立:
接收模板配置指令,模板配置指令携带了网站地址、以及该网站地址所指示的网站包含的网页地址;
读取预设的网页访问代码块,并将模板配置指令携带的网页地址添加在网页访问代码块中;
在预配置的多个数据抓取代码块中,确定与网页地址所指示的网页上数据的数据格式类型适配的数据抓取代码块;
基于网页访问代码块和确定出的数据抓取代码块,生成数据抓取模板,并建立网站地址与生成的数据抓取模板的对应关系。
此外,本申请还提供一种电子设备,包括处理器和机器可读存储介质,机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使执行数据抓取方法。
此外,本申请还提供一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,在被处理器调用和执行时,机器可执行指令促使处理器执行数据抓取方法。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种数据抓取方法,其特征在于,所述方法包括:
确定待进行数据抓取的目标网站;
确定所述目标网站对应的目标数据抓取模板;所述目标抓取模板由预设的、且与所述目标网站适配的多个通用代码块构成;所述多个通用代码块记录了用于生成爬虫工具的代码;
基于所述目标数据抓取模板生成爬虫工具;
采用所述爬虫工具从所述目标网站抓取数据。
2.根据权利要求1所述的方法,其特征在于,所述确定待进行数据抓取的目标网站,包括:
在接收到数据抓取指令时,获取所述数据抓取指令携带的网站地址,并将该网站地址所指示的网站作为所述目标网站;
或者,
定期遍历预设的网站地址列表,并将遍历到的网站地址所指示的网站作为目标网站。
3.根据权利要求1所述的方法,其特征在于,所述确定所述目标网站对应的目标数据抓取模板,包括:
在预设的网站地址与数据抓取模板的对应关系中,以所述目标网站的网站地址作为关键字,查找与该关键字对应的数据抓取模板,并将查找到的数据抓取模板确定为所述目标数据抓取模板。
4.根据权利要求3所述的方法,其特征在于,所述多个通用代码块包括:网页访问代码块、数据抓取代码块;
所述网页访问代码块,用于指示所述爬虫工具访问该网页访问代码块中记录的网页地址对应的网页,并将该网页的网页内容储存在指定存储空间;
所述数据抓取代码块,用于指示所述爬虫工具从所述指定存储空间中获取所述网页内容,并从网页内容中抓取数据。
5.根据权利要求4所述的方法,其特征在于,
所述网站地址与数据抓取模板的对应关系,通过如下方式建立:
接收模板配置指令,所述模板配置指令携带了网站地址、以及该网站地址所指示的网站包含的网页地址;
读取预设的网页访问代码块,并将所述模板配置指令携带的网页地址添加在所述网页访问代码块中;
在预配置的多个数据抓取代码块中,确定与所述网页地址所指示的网页上数据的数据格式类型适配的数据抓取代码块;
基于所述网页访问代码块和确定出的所述数据抓取代码块,生成数据抓取模板,并建立所述网站地址与生成的数据抓取模板的对应关系。
6.一种数据抓取装置,其特征在于,所述装置包括:
第一确定单元,用于确定待进行数据抓取的目标网站;
第二确定单元,用于确定所述目标网站对应的目标数据抓取模板;所述目标抓取模板由预设的、且与所述目标网站适配的多个通用代码块构成;所述多个通用代码块记录了用于生成爬虫工具的代码;
调用单元,用于基于所述目标数据抓取模板生成爬虫工具;
抓取单元,用于采用所述爬虫工具从所述目标网站抓取数据。
7.根据权利要求6所述的装置,其特征在于,所述第一确定单元,具体用于在接收到数据抓取指令时,获取所述数据抓取指令携带的网站地址,并将该网站地址所指示的网站作为所述目标网站;或者,定期遍历预设的网站地址列表,并将遍历到的网站地址所指示的网站作为目标网站。
8.根据权利要求6所述的装置,其特征在于,所述第二确定单元,具体用于在预设的网站地址与数据抓取模板的对应关系中,以所述目标网站的网站地址作为关键字,查找与该关键字对应的数据抓取模板,并将查找到的数据抓取模板确定为所述目标数据抓取模板。
9.根据权利要求8所述的装置,其特征在于,所述数据抓取模板包括:网页访问代码块、数据抓取代码块;
所述网页访问代码块,用于指示所述爬虫工具访问该网页访问代码块中记录的网页地址对应的网页,并将该网页的网页内容储存在指定存储空间;
所述数据抓取代码块,用于指示所述爬虫工具从所述指定存储空间中获取所述网页内容,并从网页内容中抓取数据。
10.根据权利要求9所述的装置,其特征在于,
所述网站地址与数据抓取模板的对应关系,通过如下方式建立:
接收模板配置指令,所述模板配置指令携带了网站地址、以及该网站地址所指示的网站包含的网页地址;
读取预设的网页访问代码块,并将所述模板配置指令携带的网页地址添加在所述网页访问代码块中;
在预配置的多个数据抓取代码块中,确定与所述网页地址所指示的网页上数据的数据格式类型适配的数据抓取代码块;
基于所述网页访问代码块和确定出的所述数据抓取代码块,生成数据抓取模板,并建立所述网站地址与生成的数据抓取模板的对应关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910891789.7A CN112541104A (zh) | 2019-09-20 | 2019-09-20 | 一种数据抓取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910891789.7A CN112541104A (zh) | 2019-09-20 | 2019-09-20 | 一种数据抓取方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112541104A true CN112541104A (zh) | 2021-03-23 |
Family
ID=75012622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910891789.7A Pending CN112541104A (zh) | 2019-09-20 | 2019-09-20 | 一种数据抓取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112541104A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113934913A (zh) * | 2021-11-12 | 2022-01-14 | 盐城金堤科技有限公司 | 数据抓取方法、装置、存储介质及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103389983A (zh) * | 2012-05-08 | 2013-11-13 | 阿里巴巴集团控股有限公司 | 一种用于网络爬虫系统的网页内容抓取方法及装置 |
US20180165364A1 (en) * | 2016-12-08 | 2018-06-14 | MetaSense Digital Marketing Management Inc. | Content Validation And Coding For Search Engine Optimization |
CN108334585A (zh) * | 2018-01-29 | 2018-07-27 | 湖北省楚天云有限公司 | 一种网页爬虫方法、装置以及电子设备 |
CN109460522A (zh) * | 2018-10-30 | 2019-03-12 | 北京网众共创科技有限公司 | 网站信息的获取方法及装置 |
CN110187877A (zh) * | 2019-05-29 | 2019-08-30 | 浙江大搜车软件技术有限公司 | 图标获取方法及装置、系统、电子设备、存储介质 |
CN110209909A (zh) * | 2019-04-19 | 2019-09-06 | 平安科技(深圳)有限公司 | 数据爬取方法、装置、计算机设备和存储介质 |
-
2019
- 2019-09-20 CN CN201910891789.7A patent/CN112541104A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103389983A (zh) * | 2012-05-08 | 2013-11-13 | 阿里巴巴集团控股有限公司 | 一种用于网络爬虫系统的网页内容抓取方法及装置 |
US20180165364A1 (en) * | 2016-12-08 | 2018-06-14 | MetaSense Digital Marketing Management Inc. | Content Validation And Coding For Search Engine Optimization |
CN108334585A (zh) * | 2018-01-29 | 2018-07-27 | 湖北省楚天云有限公司 | 一种网页爬虫方法、装置以及电子设备 |
CN109460522A (zh) * | 2018-10-30 | 2019-03-12 | 北京网众共创科技有限公司 | 网站信息的获取方法及装置 |
CN110209909A (zh) * | 2019-04-19 | 2019-09-06 | 平安科技(深圳)有限公司 | 数据爬取方法、装置、计算机设备和存储介质 |
CN110187877A (zh) * | 2019-05-29 | 2019-08-30 | 浙江大搜车软件技术有限公司 | 图标获取方法及装置、系统、电子设备、存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113934913A (zh) * | 2021-11-12 | 2022-01-14 | 盐城金堤科技有限公司 | 数据抓取方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9734261B2 (en) | Context aware query selection | |
CN106484862B (zh) | 页面控制方法及装置 | |
US10216848B2 (en) | Method and system for recommending cloud websites based on terminal access statistics | |
US8949799B2 (en) | Program log record optimization | |
CN102662944B (zh) | 通过浏览器地址栏的直接导航 | |
CN106919634B (zh) | 跨应用共享数据的方法及网页浏览器 | |
US20090222434A1 (en) | Inclusion of metadata in indexed composite document | |
US20160259856A1 (en) | Consolidating and formatting search results | |
CN104933056A (zh) | 统一资源定位符去重方法及装置 | |
CN108153716B (zh) | 表单处理方法、装置、存储介质及电子设备 | |
US20140075301A1 (en) | Information processing apparatus, control method, and recording medium | |
US10540325B2 (en) | Method and device for identifying junk picture files | |
CN103152391A (zh) | 一种日志输出方法和装置 | |
KR20120042529A (ko) | 웹 페이지 크롤링 방법 및 장치 | |
US9026612B2 (en) | Generating a custom parameter rule based on a comparison of a run-time value to a request URL | |
CN103605686A (zh) | 基于搜索的终端故障解决方案提供方法、服务器和系统 | |
CN103927252A (zh) | 一种跨组件日志记录方法、装置及系统 | |
CN102375881A (zh) | 内容签名通知 | |
CN112541104A (zh) | 一种数据抓取方法及装置 | |
CN104954363A (zh) | 用于生成接口文档的方法和装置 | |
CN105094857A (zh) | 用于应用加载的方法和系统 | |
US9996619B2 (en) | Optimizing web crawling through web page pruning | |
CN101231655A (zh) | 用于处理搜索引擎结果的方法和系统 | |
CN102129454A (zh) | 一种基于云存储的百科数据处理方法及系统 | |
CN103336671A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210323 |