一种网页爬取的方法、装置、存储介质及电子设备转让专利
申请号 : CN201811467095.2
文献号 : CN109582850B
文献日 : 2021-07-02
发明人 : 陈耽思
申请人 : 金瓜子科技发展(北京)有限公司
摘要 :
权利要求 :
1.一种网页爬取的方法,其特征在于,包括:获取目标网页的样式数据,所述样式数据为在所述目标网页的源数据中基于反爬策略生成的数据;
判断是否存在与所述样式数据相匹配的样式数据与真实数据之间的对应关系,在存在与所述样式数据相匹配的样式数据与真实数据之间的对应关系时,根据预先生成的样式数据与真实数据之间的对应关系确定与所述样式数据对应的真实数据,并将所述样式数据替换为相应的真实数据;其中,所述样式数据与真实数据之间的对应关系表示某一样式数据实际对应的真实数据;
确定所述目标网页所有的真实内容,所述真实内容包括与所述样式数据对应的真实数据;
其中,所述判断是否存在与所述样式数据相匹配的样式数据与真实数据之间的对应关系包括:
确定所述样式数据的文件名称,并判断是否存在与所述文件名称相匹配的历史文件名称,所述历史文件名称为解析过的历史样式数据的文件名称;
在存在相匹配的历史文件名称时,确定存在与所述样式数据相匹配的样式数据与真实数据之间的对应关系。
2.根据权利要求1所述的方法,其特征在于,在所述获取目标网页的样式数据之后,还包括:
在不存在与所述样式数据相匹配的样式数据与真实数据之间的对应关系时,建立与所述样式数据相匹配的样式数据与真实数据之间的对应关系。
3.根据权利要求1所述的方法,其特征在于,与所述样式数据相匹配的样式数据与真实数据之间的对应关系为:有效历史样式数据与基于所述有效历史样式数据的解析结果所确定的真实数据之间的对应关系;所述有效历史样式数据为与所述文件名称相匹配的历史文件名称所对应的历史样式数据。
4.根据权利要求1所述的方法,其特征在于,所述判断是否存在与所述文件名称相匹配的历史文件名称包括:
将所述文件名称和历史文件名称分别分为多个子字符串,并确定所述文件名称的每个子字符串在所述文件名称中的排列顺序、以及所述历史文件名称的每个子字符串在所述历史文件名称中的排列顺序;
从最后顺位的子字符串开始,判断所述文件名称的子字符串与所述历史文件名称的相对应的子字符串是否相同,在二者不同时确定所述文件名称与所述历史文件名称不匹配;
在二者相同时,倒序确定下一顺位的子字符串,并重复上述判断所述文件名称的子字符串与所述历史文件名称的相对应的子字符串是否相同的过程,直至确定所述文件名称与所述历史文件名称不匹配、或者确定所述文件名称的所有子字符串与所述历史文件名称的所有子字符串全部相匹配;在确定所述文件名称的所有子字符串与所述历史文件名称的所有子字符串全部相匹配时,确定所述文件名称与所述历史文件名称相匹配。
5.根据权利要求2所述的方法,其特征在于,所述建立与所述样式数据相匹配的样式数据与真实数据之间的对应关系包括:创建本地网页,并将所述目标网页的样式数据加载至所述本地网页中;
获取所述本地网页的网页图像,并识别所述网页图像,确定所述网页图像中的真实数据;
建立所述样式数据与识别出的相应的真实数据之间的对应关系。
6.根据权利要求2所述的方法,其特征在于,在所述建立与所述样式数据相匹配的样式数据与真实数据之间的对应关系之后,还包括:将与所述样式数据相匹配的样式数据与真实数据之间的对应关系存储至数据库中。
7.根据权利要求1所述的方法,其特征在于,所述样式数据包括文字样式数据和/或图片样式数据。
8.一种网页爬取的装置,其特征在于,包括:获取模块,用于获取目标网页的样式数据,所述样式数据为在所述目标网页的源数据中基于反爬策略生成的数据;
处理模块,用于根据预先生成的样式数据与真实数据之间的对应关系确定与所述样式数据对应的真实数据,并将所述样式数据替换为相应的真实数据;其中,所述样式数据与真实数据之间的对应关系表示某一样式数据实际对应的真实数据;
确定模块,用于确定所述目标网页所有的真实内容,所述真实内容包括与所述样式数据对应的真实数据;
判断模块,用于判断是否存在与所述样式数据相匹配的样式数据与真实数据之间的对应关系;在存在与所述样式数据相匹配的样式数据与真实数据之间的对应关系时,所述处理模块根据相匹配的样式数据与真实数据之间的对应关系确定与所述样式数据对应的真实数据;
其中,所述判断模块具体用于:确定所述样式数据的文件名称,并判断是否存在与所述文件名称相匹配的历史文件名称,所述历史文件名称为解析过的历史样式数据的文件名称;
在存在相匹配的历史文件名称时,确定存在与所述样式数据相匹配的样式数据与真实数据之间的对应关系。
9.一种存储介质,其特征在于,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1‑7任意一项所述的网页爬取的方法。
10.一种电子设备,其特征在于,包括:至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1‑7任意一项所述的网页爬取的方法。
说明书 :
一种网页爬取的方法、装置、存储介质及电子设备
技术领域
背景技术
足系统的一定停止条件。所有被爬虫抓取的内容将会被存储,按照关键字、文本、图片、音视
频等进行分类、分析、过滤,并建立索引,以便之后的查询和检索。
网页后进行截图保存图片,并通过OCR(Optical Character Recognition,光学字符识别)
识别图片来获取网页中的所有真实文本数据。但是使用OCR识别会占用大量的CPU资源和处
理时间,网页抓取效率较低。
发明内容
数据与真实数据之间的对应关系确定与所述样式数据对应的真实数据;
系为有效历史样式数据与基于所述有效历史样式数据的解析结果所确定真实数据之间的
对应关系;所述有效历史样式数据为与所述文件名称相匹配的历史文件名称所对应的历史
样式数据。
述历史文件名称中的排列顺序;
配;
称与所述历史文件名称不匹配、或者确定所述文件名称的所有子字符串与所述历史文件名
称的所有子字符串全部相匹配,在确定所述文件名称的所有子字符串与所述历史文件名称
的所有子字符串全部相匹配时,确定所述文件名称与所述历史文件名称相匹配。
对应的真实数据,从而可以快速、准确地获取网页的所有真实数据;该方式不需要重复使用
图像识别技术识别网页中的数据,节省了大量的处理资源,大大提高了抓取速度和抓取效
率。
附图说明
发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他的附图。
具体实施方式
针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于
描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特
定的方位构造和操作,因此不能理解为对本发明的限制。
隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,
除非另有明确具体的限定。
械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元
件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发
明中的具体含义。
标网页的源数据,该源数据可以为html源码,其中包含目标网页的各个节点,比如meta节
点、body节点等;由于目标网页基于反爬策略进行了特殊处理,目标网页的源数据中还包含
基于反爬策略生成的样式数据,该样式数据可以为某个样式文件,或者是样式链接。该样式
数据具体可以包括文字样式数据、图片样式数据等,其中,文字样式数据指的是将原网页的
文字替换为另一文字或另一种格式(或字体)的文字,此时采用传统的爬取方法可能获取到
的是错误的数据;例如,目标网页的页面显示某车辆的行驶里程是“12.66万公里”,但是目
标网页源码中的行驶里程是“45.22万公里”,目标网页通过对源码进行格式处理,使得显示
出真实的行驶里程12.66万公里;此处的行驶里程即为一种文字样式数据。
应的图片等,传统的爬取方法并不能正确获取到该电话号码,除非采用图像识别技术。
的真实文字等。根据该样式数据与真实数据之间的对应关系即可快速确定与该目标网页的
样式数据对应的真实数据,之后将目标网页中的样式数据替换为可识别的真实数据,方便
后续对目标网页的识别。
骤102中确定的与样式数据对应的真实数据。
对应的真实数据,从而可以快速、准确地获取网页的所有真实数据;该方式不需要重复使用
图像识别技术识别网页中的数据,节省了大量的处理资源,大大提高了抓取速度和抓取效
率。
不存在与样式数据相匹配的样式数据与真实数据之间的对应关系时,继续步骤203。
实数据之间的对应关系,或者说该样式数据是否曾经被解析过。当存在与样式数据相匹配
的样式数据与真实数据之间的对应关系时,即可根据该样式数据与真实数据之间的对应关
系确定与样式数据对应的真实数据。其中,本申请中的步骤202与步骤102中的“根据预先生
成的样式数据与真实数据之间的对应关系确定与样式数据对应的真实数据”本质相同,即
在存在与样式数据相匹配的样式数据与真实数据之间的对应关系时,可以继续执行步骤
102。
配的样式数据与真实数据之间的对应关系;即本次通过对样式数据进行解析来确定目标网
页的真实数据,并建立样式数据与真实数据之间的对应关系供后续爬取过程中使用。
的对应关系”包括:确定样式数据的文件名称,并判断是否存在与文件名称相匹配的历史文
件名称,该历史文件名称为解析过的历史样式数据的文件名称。
符串(比如64位字符串),两个样式数据采用相同名称的概率极低,而不同的链接地址也指
向不同的网络资源,故本发明实施例中,不同的文件名称对应不同的样式数据,通过判断文
件名称是否被解析过来确定是否存在相应的对应关系。
存在与该待解析的样式数据的文件名称相一致的历史文件名称,若存在,则说明该待解析
的样式数据曾经被解析过,即存在样式数据与真实数据之间的对应关系;否则不存在对应
关系。比如,文件名称为f1、f2、f3的三个样式数据已经被解析过,则该三个样式数据f1、f2、
f3即为三个历史样式数据;若当前需要解析一个文件名称为f2的样式数据,则根据文件名
称即可知该样式数据曾经被解析过,此时继续步骤202即可;若当前需要解析一个文件名称
为f4的样式数据,而不存在文件名称为f4的历史样式数据,此时需要解析该文件名称为f4
的样式数据,即需要继续步骤203。
关系为有效历史样式数据与基于有效历史样式数据的解析结果所确定真实数据之间的对
应关系;有效历史样式数据为与文件名称相匹配的历史文件名称所对应的历史样式数据。
史样式数据之后,将该历史样式数据的文件名称(即历史文件名称)标为被解析状态,同时
将历史样式数据与解析结果之间的对应关系作为样式数据与真实数据之间的对应关系。在
当前阶段,当判断存在与文件名称相匹配的历史文件名称时,说明存在与该样式数据相匹
配的样式数据与真实数据之间的对应关系,此时确定与该文件名称相匹配的历史样式数
据,即有效历史样式数据,并确定有效历史样式数据与解析结果之间的对应关系,该有效历
史样式数据与解析结果之间的对应关系即为与当前的样式数据相匹配的样式数据与真实
数据之间的对应关系。在确定样式数据与真实数据之间的对应关系之后,即可继续执行上
述的步骤202。
件名称中的排列顺序
历史文件名称不匹配、或者确定文件名称的所有子字符串与历史文件名称的所有子字符串
全部相匹配,在确定文件名称的所有子字符串与历史文件名称的所有子字符串全部相匹配
时,确定文件名称与历史文件名称相匹配。
字符串)是否相同会存在处理量过大的问题,故本实施例将文件名称分为多段的子字符串,
依次分段判断文件名称和历史文件名称的子字符串是否相同,若二者不同,则说明文件名
称和历史文件名称一定不相同,此时不需要判断其他的子字符串,从而减少处理量;若二者
相同,则可以继续判断下一个子字符串是否相同,直至确定某个子字符串不同(说明文件名
称和历史文件名称不同)或者所有的子字符串完全相同(说明文件名称和历史文件名称相
同)。
确定不同的子字符串,从而进一步提高处理效率。
文件名称为“aabbccddeeff”,历史文件名称为“aabbccddyeff”,首先将文件名称和历史文
件名称分段,比如三个字符为一组,分为多个子字符串,文件名称包括四个子字符串,依次
为“aab”、“bcc”、“dde”、“eff”,历史文件名称的子字符串为“aab”、“bcc”、“ddy”、“eff”。
需要判断二者其他的子字符串是否相同;若二者相同,则倒序选取下一顺位的子字符串,继
续判断两个子字符串是否相同,即选取下一顺位的子字符串“dde”与“ddy”,判断二者是否
相同,如此重复倒序判断的过程,直至确定文件名称与历史文件名称是否相同。本实施例
中,通过将文件名称分为多个子字符串,以子字符串为单位判断文件名称与历史文件名称
是否相同,在确定子字符串不同时不需要执行后续的判断过程,可以减少处理量,提高处理
效率;同时,基于文件名称的特点,采用倒序判断的方式可以更高概率定位到不同的子字符
串,进一步提高了处理效率。
标网页样式数据的方式来提取、并可视化显示该样式数据。
页,用于为多个样式数据添加唯一的标记,以在同一个本地网页中准确区分不同的样式数
据;例如在本地网页中添加序号①、②、③等,并将每个样式数据加载至与序号相对应的位
置,比如序号的后方。
像。例如,目标网页源代码中的行驶里程45.22万公里设有特殊样式处理,则该行驶里程为
一样式数据,此时将该样式数据加载至本地网页中后,本地网页中可视化显示的行驶里程
为12.66万公里,通过识别本地网页的网页图像即可确定该真实数据为“12.66万公里”,此
时即可建立样式数据与真实数据之间的对应关系,即该行驶里程的样式数据“45.22万公
里”与真实数据“12.66万公里”是对应的。其中,通过打开本地网页并截图即可得到本地网
页的网页图像,也可采用其他获取方式,本实施例对此不做限定。
网页的样式数据,不需要图像识别目标网页的所有内容,可以减少图像识别的处理量,提高
处理效率;同时,建立样式数据与真实数据之间的对应关系之后,后续再爬取具有该样式数
据的网页时不需要进行图像识别,根据样式数据与真实数据之间的对应关系即可方便快速
地确定真实文本,极大提高了抓取效率。
的对应关系存储至数据库中。
否已经被解析过。同时,通过数据库存储样式数据与真实数据之间的对应关系,方便对该对
应关系进行管理,比如添加、删除或更新样式数据与真实数据之间的对应关系等。
不存在与样式数据相匹配的样式数据与真实数据之间的对应关系时,继续步骤404。
对应的真实数据,从而可以快速、准确地获取网页的所有真实数据;该方式不需要重复使用
图像识别技术识别网页中的数据,节省了大量的处理资源,大大提高了抓取速度和抓取效
率。在解析样式数据时,只需要识别目标网页的样式数据即可,不需要图像识别目标网页的
所有内容,可以减少图像识别的处理量,提高处理效率;同时,建立样式数据与真实数据之
间的对应关系之后,后续再爬取具有该样式数据的网页时不需要进行图像识别,根据样式
数据与真实数据之间的对应关系即可方便快速地确定真实文本,极大提高了抓取效率。利
用样式数据文件名称不重复的特点,基于文件名称来判断该样式数据是否被解析过,且通
过对文件名称进行分段以及倒序判断的方式,可以进一步提高判断该样式数据是否被解析
过的处理效率。
应的真实数据;
过的历史样式数据的文件名称;
系为有效历史样式数据与基于所述有效历史样式数据的解析结果所确定真实数据之间的
对应关系;所述有效历史样式数据为与所述文件名称相匹配的历史文件名称所对应的历史
样式数据。
述历史文件名称中的排列顺序;
配;
称与所述历史文件名称不匹配、或者确定所述文件名称的所有子字符串与所述历史文件名
称的所有子字符串全部相匹配,在确定所述文件名称的所有子字符串与所述历史文件名称
的所有子字符串全部相匹配时,确定所述文件名称与所述历史文件名称相匹配。
对应关系存储至数据库中。
对应的真实数据,从而可以快速、准确地获取网页的所有真实数据;该方式不需要重复使用
图像识别技术识别网页中的数据,节省了大量的处理资源,大大提高了抓取速度和抓取效
率。在解析样式数据时,只需要识别目标网页的样式数据即可,不需要图像识别目标网页的
所有内容,可以减少图像识别的处理量,提高处理效率;同时,建立样式数据与真实数据之
间的对应关系之后,后续再爬取具有该样式数据的网页时不需要进行图像识别,根据样式
数据与真实数据之间的对应关系即可方便快速地确定真实文本,极大提高了抓取效率。利
用样式数据文件名称不重复的特点,基于文件名称来判断该样式数据是否被解析过,且通
过对文件名称进行分段以及倒序判断的方式,可以进一步提高判断该样式数据是否被解析
过的处理效率。
施例中的方法。
BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固
态硬盘(SSD))等。
端等。本发明具体实施例并不对电子设备的具体实现做限定。
1110、通信接口1120、以及存储器1130通过总线1140完成相互间的通信。
实施例的一个或多个集成电路。
是存储器阵列。存储器1130还可能被分块,并且所述块可按一定的规则组合成虚拟卷。存储
器1130存储的指令可被处理器1110执行,以使处理器1110能够执行上述任意方法实施例中
的网页爬取的方法。
盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。