网页抓取方法及装置制造方法及图纸

技术编号:18289459 阅读:62 留言:0更新日期:2018-06-24 04:09
本发明专利技术公开了一种网页抓取方法及装置,属于计算机网络领域。所述方法包括:抓取游戏网站上的目标网页页面;根据目标网页页面的网页源代码,识别H5游戏对应的网页页面;对H5游戏对应的网页页面进行动态渲染,得到渲染后的网页页面;渲染后的网页页面中提取H5游戏对应的游戏详情信息。本发明专利技术通过网页源代码识别出H5游戏对应的网页页面,使得服务器能够从渲染后的该网页页面中提取出H5游戏对应的游戏详情信息,避免了抓取结果需要大量人工来筛选和信息提取的问题,达到了根据网页的源代码准确识别H5游戏对应的网页页面,进行从网页页面中提取游戏详情信息,从而提高提取过程的效率和准确率的效果。

【技术实现步骤摘要】
网页抓取方法及装置
本专利技术实施例涉及计算机网络领域,特别涉及一种网页抓取方法及装置。
技术介绍
H5(HypertextMarkupLanguage5,超文本链接标示语言5)游戏是指在诸如智能手机、平板电脑等电子设备的Web端上运行的游戏。在建立一个H5游戏网站时,需要网站管理员收集多个H5游戏的游戏详情信息,比如:游戏名、游戏简介信息、游戏运行图片等。在收集过程中,网站管理员会使用网络爬虫对已有的H5游戏网站的所有网页页面进行抓取,所有网页页面中包括H5游戏对应的网页页面和非H5游戏对应的网页页面;然后由人工在所有网页页面中提取与H5游戏有关的游戏详情信息。由于在上述技术中,网络爬虫只能简单地抓取所有网页页面,需要大量的人工来识别H5游戏所对应的网页页面,以及从H5游戏所对应的网页页面提取信息,整个提取过程的效率较为低下,准确率也较低。
技术实现思路
为了解决现有技术的问题,本专利技术实施例提供了一种网页抓取方法及装置。所述技术方案如下:第一方面,提供了一种网页抓取方法,所述方法包括:抓取游戏网站上的目标网页页面;根据所述目标网页页面的网页源代码,识别H5游戏对应的网页页面;对所述H5游戏对应的网页页面进行动态渲染,得到渲染后的网页页面;从所述渲染后的网页页面中提取所述H5游戏对应的游戏详情信息;其中,所述游戏详情信息包括游戏名、游戏图标、游戏运行图片、游戏详情、游戏运行地址、游戏类型中的至少一种。第二方面,提供了一种网页抓取装置,所述装置包括:抓取模块,用于抓取游戏网站上的目标网页页面;识别模块,用于根据所述目标网页页面的网页源代码,识别H5游戏对应的网页页面;渲染模块,用于对所述H5游戏对应的网页页面进行动态渲染,得到渲染后的网页页面;提取模块,用于从所述渲染后的网页页面中提取所述H5游戏对应的游戏详情信息;其中,所述游戏详情信息包括游戏名、游戏图标、游戏运行图片、游戏详情、游戏运行地址、游戏类型中的至少一种。本专利技术实施例提供的技术方案带来的有益效果是:通过抓取游戏网站上的目标网页页面;根据目标网页页面的网页源代码,识别H5游戏对应的网页页面;对H5游戏对应的网页页面进行动态渲染,得到渲染后的网页页面;从渲染后的网页页面中提取H5游戏对应的游戏详情信息;使得服务器能够根据网页源代码识别出H5游戏对应的网页页面,从渲染后的该网页页面中提取出H5游戏对应的游戏详情信息,避免了抓取结果需要大量人工来筛选和信息提取的问题,达到了根据网页的源代码准确识别H5游戏对应的网页页面,进行从网页页面中提取游戏详情信息,从而提高提取过程的效率和准确率的效果。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例提供的网页抓取方法所涉及的一种实施环境的结构示意图;图2是本专利技术实施例提供的网页抓取方法所涉及的另一种实施环境的结构示意图;图3是本专利技术一个实施例提供的网页抓取方法的流程图;图4是本专利技术另一个实施例提供的网页抓取方法的流程图;图5A是本专利技术一个实施例提供的网页抓取方法的原理图;图5B是本专利技术另一个实施例提供的网页抓取方法的原理图;图5C是本专利技术另一个实施例提供的网页抓取方法的原理图;图6是本专利技术一个实施例提供的网页抓取装置的结构图;图7是本专利技术另一个实施例提供的网页抓取装置的结构图;图8是本专利技术一个实施例提供的服务器的框图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。请参考图1,其示出了本专利技术实施例提供的网页抓取方法所涉及的一种实施环境的结构示意图。该实施环境包括:抓取系统100和游戏服务器160,该抓取系统100包括分析服务器120和至少两个抓取服务器140。分析服务器120,用于获取n个抓取服务器140与游戏服务器160之间的通信时间;其中,n为大于1的整数。可选地,分析服务器120还用于对抓取到的网页页面进行分析。由于抓取服务器140与游戏服务器160之间的通信时间越短表示网络状况越好,抓取服务器140访问该游戏服务器160的网速越快,因此,分析服务器120,还用于确定通信时间最短的抓取服务器140作为本次使用的抓取服务器140。可选地,通信时间为抓取服务器140从发送HTTP请求至获取到HTTP响应结果的各个阶段耗时,包括:连接时间、发送请求时间、等待响应时间、接收数据时间。需要说明的是,可以将连接时间确定为抓取服务器140与游戏服务器160之间的通信时间,本实施例对通信时间的确定方式不加以限定。分析服务器120可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。分析服务器120用于与抓取服务器140交互实现本次使用的抓取服务器140的确定。分析服务器120与抓取服务器140之间通过通信网络相连。可选地,通信网络是有线网络或无线网络。游戏服务器160游戏服务器160游戏服务器160游戏服务器160抓取服务器140可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。抓取服务器140用于与游戏服务器160交互,实现游戏服务器160上的网页页面的抓取。抓取服务器140可以单独设立;也可以由互联网服务商(英文:InternetServiceProvider,ISP)来设立。其中,根据互联网服务提供商的不同和游戏服务器160的位置区域的不同,一个网络环境下可以部署多个抓取服务器140,每一个抓取服务器140对应一个地域和/或一个ISP。比如,将抓取服务器140部署在各个位置区域的电信、移动和联通中。在网络访问中,跨地域和/或跨网络访问网站会带来很大的网络时延,导致通信时间较长。比如从服务商A机房的机器去访问部署在服务商B机房的某个网站,那么跨网带来的时延可能由ms级别上升到s级。即使是从服务商A机房去访问部署在其他服务商A机房的网站,如果选择的IP不合适同样有可能造成耗时增高。由此可知,,跨地域和/或跨网络访问通常会导致访问网速较慢,即通信时间较长。因此,可选地,访问游戏服务器160的通信时间最短的目标抓取服务器应该与游戏服务器160属于相同位置区域的同一ISP,使得从该目标抓取服务器访问该游戏服务器160不属于跨地区且跨网络访问,具有较快的访问网速,即较短的通信时间。抓取服务器140与游戏网站160之间通过通信网络相连。可选地,通信网络是有线网络或无线网络。通常,分析服务器120获取n个抓取服务器140与游戏服务器160之间的通信时间,分析服务器120确定通信时间最短的抓取服务器140作为本次使用的抓取服务器140;然后,由抓取服务器140抓取游戏服务器160上的目标网页页面。可选地,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(LocalAreaNetwork,LAN)、城域网(MetropolitanAreaNetwork,MAN)、广域网(WideAreaNetwork,WAN)、移动、有线或者无线网络、专用网络或者本文档来自技高网...
网页抓取方法及装置

【技术保护点】
1.一种网页抓取方法,其特征在于,所述方法包括:抓取游戏网站上的目标网页页面;根据所述目标网页页面的网页源代码,识别H5游戏对应的网页页面;对所述H5游戏对应的网页页面进行动态渲染,得到渲染后的网页页面;从所述渲染后的网页页面中提取所述H5游戏对应的游戏详情信息;其中,所述游戏详情信息包括游戏名、游戏图标、游戏运行图片、游戏详情、游戏运行地址、游戏类型中的至少一种。

【技术特征摘要】
1.一种网页抓取方法,其特征在于,所述方法包括:抓取游戏网站上的目标网页页面;根据所述目标网页页面的网页源代码,识别H5游戏对应的网页页面;对所述H5游戏对应的网页页面进行动态渲染,得到渲染后的网页页面;从所述渲染后的网页页面中提取所述H5游戏对应的游戏详情信息;其中,所述游戏详情信息包括游戏名、游戏图标、游戏运行图片、游戏详情、游戏运行地址、游戏类型中的至少一种。2.根据权利要求1所述的方法,其特征在于,所述根据所述目标网页页面的网页源代码,识别H5游戏对应的网页页面,包括:检测所述目标网页页面的网页源代码是否符合预定条件;若所述网页源代码符合所述预定条件,则将所述网页页面识别为所述H5游戏对应的网页页面;其中,所述预定条件中的至少一种条件:所述网页页面的主题名称与预设游戏关键字匹配;和/或,携带有采用预定渲染技术的代码,所述预定渲染技术包括canvas和WebGL中的至少一种;和/或,携带有预定游戏引擎对应的代码,所述预定游戏引擎包括Egret白鹭引擎,cocos2dx-js引擎,GameMakerStudio引擎,Construct2引擎中的至少一个。3.根据权利要求2所述的方法,其特征在于,所述预定条件包括至少两种条件;检测所述目标网页页面的网页源代码是否符合预定条件,包括:检测所述目标网页页面的网页源代码是否符合第i种条件;根据检测结果和如下公式计算所述网页源代码是所述H5游戏对应的网页页面的概率值:检测所述概率值是否大于预设阈值;若所述概率值大于所述预设阈值,则确定所述网页源代码符合所述预定条件;其中,y表示所述概率值,ai表示第i种所述条件对应的权值,当所述网页源代码符合所述第i种条件时,bi的取值为大于0的预定值,当所述网页源代码不符合所述第i种条件时,bi的取值为0,1≤n≤N,N为所述预定条件的个数。4.根据权利要求1所述的方法,其特征在于,所述抓取游戏网站上的目标网页页面,包括:通过网络爬虫抓取所述游戏网站的第一层URL对应的第一网页页面;从所述第一网页页面中获取第二层URL,所述第二层URL是与游戏分类对应的URL;通过所述网络爬虫抓取所述第二层URL对应的第二网页页面;从所述第二网页页面中获取第三层URL,所述第三层URL包括与所述H5游戏对应的URL;通过所述网络爬虫抓取所述第三层URL对应的第三网页页面,将所述第三网页页面确定为所述目标网页页面。5.根据权利要求4所述的方法,其特征在于,所述通过所述网络爬虫抓取所述第二层URL对应的第二网页页面之后,还包括:从所述第二网页页面中提取所述游戏名和游戏简介信息;将所述游戏简介信息添加至与所述游戏名对应的所述游戏详情信息中。6.根据权利要求1所述的方法,其特征在于,所述从所述渲染后的网页页面中提取所述H5游戏对应的游戏详情信息,包括:根据预先设置的数据采集规则,采集所述渲染后的网页页面中与所述数据采集规则匹配的网页数据;对所述网页数据进行数据挖掘,获取所述H5游戏对应的游戏详情信息;和/或,根据预先训练出的机器学习模型,从所述渲染后的网页页面中提取所述H5游戏对应的游戏详情信息;和/或,对所述渲染后的网页页面进行视觉分析,检测所述渲染后的网页页面中是否包含所述H5游戏对应的游戏详情信息;若包含,则根据所述视觉分析的分析结果,将所述H5游戏对应的游戏详情信息和所述渲染后的网页页面的背景图像分离,提取所述H5游戏对应的游戏详情信息。7.根据权利要求1所述的方法,其特征在于,所述从所述渲染后的网页页面中提取所述H5游戏对应的游戏详情信息,包括:根据所述网页源代码,建立所述渲染后的网页页面的文档对象模型树结构,所述文档对象模型树结构包括一个或多个节点;获取所述游戏网站的至少一个模板,所述模板是文档对象模型树结构的;从所述模板中选择所述游戏详情信息的路径信息,并将所述游戏详情信息的路径信息与所述文档对象模型树结构中的各个节点进行匹配;若匹配成功,则提取所述渲染后的网页页面中与所述路径信息对应的所述游戏详情信息。8.根据权利要求1至7任一所述的方法,其特征在于,所述抓取游戏网站上的目标网页页面之前,还包括:获取n个抓取服务器与所述游戏网站之间的通信时间,n为大于1的整数;确定所述通信时间最短的所述抓取服务器作为本次使用的抓取服务器。9.根据权利要求1至7任一所述的方法,其特征在于,所述抓取游戏网站上的目标网页页面之前,还包括:获取与所述游戏网站对应的n个游戏服务器之间的通信时间;确定所述通信时间最短的所述游戏服务器作为本次抓取的游戏服务器。10.根据权利要求1至7任一所述的方法,其特征在于,所述抓取游戏网站上的目标网页页面之前,还包括:设置TCP拥塞窗口的初始值为预设阈值,所述预设阈值是用于接收抓取到的所述目标网页页面时所需要的经验上限值。11.一种网页抓取装置,其特征在于,所述装置包括:抓取模块,用于抓取游戏网站上的目标网页页面;识别模块,用于根据所述目标网页页面的网页源代码,识别H5游戏对应的网页页面;渲染模块,用于对所述H5游戏对应的网页页面进行动态渲染,得到渲染后的网页页面;提取模块,用于从所述渲染后的网页页面中提...

【专利技术属性】
技术研发人员:程志峰邱柏宇
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1