用于通用型爬虫的页面渲染类型自动化检测方法及系统技术方案

技术编号:32132004 阅读:14 留言:0更新日期:2022-01-29 19:33
本公开提供了一种用于通用型爬虫的页面渲染类型自动化检测方法及系统,包括:确定网页的页面类型;基于网页的页面类型,分别进行页面渲染类型的判定;其中,当页面类型为公共页/索引页时,基于静态请求与动态请求分别获取的链接数量,实现渲染类型判定;当页面类型为内容页时,基于静态请求与动态请求中页面HTML中纯文本的相似度,实现渲染类型判定。所述方案通过对页面进行分类,设定渲染类型标识,并对每种类型的页面进行渲染类型判定,最终回填判定结果,以指导后续页面的采集。以指导后续页面的采集。以指导后续页面的采集。

【技术实现步骤摘要】
用于通用型爬虫的页面渲染类型自动化检测方法及系统


[0001]本公开属于网络爬虫
,尤其涉及一种用于通用型爬虫的页面渲染类型自动化检测方法及系统。

技术介绍

[0002]本部分的陈述仅仅是提供了与本公开相关的
技术介绍
信息,不必然构成在先技术。
[0003]爬虫又称为网页蜘蛛,网络机器人,是一种按照一定的规则自动地抓取万维网信息的程序或者脚本;渲染类型是爬虫获取WEB页面中内容的方式,可分为两种:静态渲染,直接通过HTTP请求直接获取原始的HTML内容;动态渲染,通过浏览器引擎请求HTML以及必要的资源文件,执行页面内脚本并生成最终页面内容。
[0004]专利技术人发现,大多数对搜索引擎优化良好的页面,直接使用静态渲染即可获取页面中真实的内容。但部分网站,会使用JavaScript动态加载页面内容、页脚、翻页按钮等,此时则必须使用动态渲染才能获取完整的页面内容。静态渲染效率高,但容易造成页面解析不完整。动态渲染可以准确还原页面结构,但效率较低,需要更大的带宽及CPU资源。
[0005]如果需要兼顾采集效率与准确率,则需要在首次采集时,对站点中不同类型页面的渲染类型进行判定,以便后续页面的正确、快速采集。通用型爬虫由于需要采集特定领域的一批站点,无法有针对性的编写脚本,且采集过程中无人值守,因此,如何提供一种能够智能的、自动化的完成渲染类型检测的方法是现有通用型爬虫急需解决的问题。

技术实现思路

[0006]本公开为了解决上述问题,提供了一种用于通用型爬虫的页面渲染类型自动化检测方法及系统,所述方案通过对页面进行分类,设定渲染类型标识,并对每种类型的页面进行渲染类型判定,最终回填判定结果,以指导后续页面的采集。
[0007]根据本公开实施例的第一个方面,提供了一种用于通用型爬虫的页面渲染类型自动化检测方法,包括:
[0008]确定网页的页面类型;
[0009]基于网页的页面类型,分别进行页面渲染类型的判定;其中,
[0010]当页面类型为公共页/索引页时,基于静态请求与动态请求分别获取的链接数量,实现渲染类型判定;
[0011]当页面类型为内容页时,基于静态请求与动态请求中页面HTML中纯文本的相似度,实现渲染类型判定。
[0012]进一步的,当页面类型为公共页/索引页时,分别发起一次静态请求和动态请求,获取页面内全部链接,若静态请求链接数不小于动态请求链接数,则当前页为静态渲染,否则为动态渲染。
[0013]进一步的,当页面类型为索引页时,发起一次静态请求,获取页面内全部链接及翻
页按钮,若静态请求的链接数大于预设第一阈值,且包含翻页按钮,则直接判定为静态渲染面。
[0014]进一步的,若静态请求不满足链接数大于预设第一阈值且包含翻页按钮,则发起动态请求,获取页面内全部链接及翻页按钮;那么判定为动态渲染的条件为:
[0015]动态请求存在下一页,静态请求不存在下一页;
[0016]或
[0017]动态请求存在下一页,且超文本引用中不是URL。
[0018]进一步的,当页面类型为内容页时,分别发起一次静态请求和动态请求,获取页面HTML文本,并从HTML文本中提取纯文本;比较文本的相似度,若文本相似度大于预设第二阈值,则判定为静态渲染,否则为动态渲染。
[0019]根据本公开实施例的第二个方面,提供了一种用于通用型爬虫的页面渲染类型自动化检测系统,包括:
[0020]页面类型确定单元,其用于确定网页的页面类型;
[0021]渲染类型判定单元,其用于基于网页的页面类型,分别进行页面渲染类型的判定;其中,当页面类型为公共页/索引页时,基于静态请求与动态请求分别获取的链接数量,实现渲染类型判定;当页面类型为内容页时,基于静态请求与动态请求中页面HTML中纯文本的相似度,实现渲染类型判定。
[0022]根据本公开实施例的第三个方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上运行的计算机程序,所述处理器执行所述程序时实现所述的一种用于通用型爬虫的页面渲染类型自动化检测方法。
[0023]根据本公开实施例的第四个方面,提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述的一种用于通用型爬虫的页面渲染类型自动化检测方法。
[0024]与现有技术相比,本公开的有益效果是:
[0025](1)本公开提供了一种用于通用型爬虫的页面渲染类型自动化检测方法及系统,所述方案通过对页面进行分类,设定渲染类型标识,并对每种类型的页面进行渲染类型判定,最终回填判定结果,以指导后续页面的采集。
[0026](2)实际场景中,静态渲染的站点的比例占绝大多数,本公开通过自动化的页面渲染类型检测,可以有效的降低带宽的使用率,减少动态渲染器带来的CPU、内存的消耗。
[0027](3)所述方案中,当渲染类型为DETECT或CONFIG时,在爬虫正常结束后,会回填配置表中渲染类型字段下次运行爬虫时,当默认渲染类型为CONFIG时,则可以直接读取已经估算好的渲染类型,不需要再次运行渲染类型检测。
[0028]本公开附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。
附图说明
[0029]构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。
[0030]图1为本公开实施例一中所述的公共页渲染类型的检测流程图;
[0031]图2为本公开实施例一中所述的索引页渲染类型的检测流程图;
[0032]图3为本公开实施例一中所述的内容页渲染类型的检测流程图。
具体实施方式
[0033]下面结合附图与实施例对本公开做进一步说明。
[0034]应该指出,以下详细说明都是示例性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属
的普通技术人员通常理解的相同含义。
[0035]需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
[0036]在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
[0037]实施例一:
[0038]本实施例的目的是提供一种用于通用型爬虫的页面渲染类型自动化检测方法。
[0039]一种用于通用型爬虫的页面渲染类型自动化检测方法,包括:
[0040]确定网页的页面类型;
[0041]基于网页的页面类型,分别进行页面渲染类型的判定;其中,
[0042]当页面类型为公共页/索引页时本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于通用型爬虫的页面渲染类型自动化检测方法,其特征在于,包括:确定网页的页面类型;基于网页的页面类型,分别进行页面渲染类型的判定;其中,当页面类型为公共页/索引页时,基于静态请求与动态请求分别获取的链接数量,实现渲染类型判定;当页面类型为内容页时,基于静态请求与动态请求中页面HTML中纯文本的相似度,实现渲染类型判定。2.如权利要求1所述的一种用于通用型爬虫的页面渲染类型自动化检测方法,其特征在于,当页面类型为公共页/索引页时,分别发起一次静态请求和动态请求,获取页面内全部链接,若静态请求链接数不小于动态请求链接数,则当前页为静态渲染,否则为动态渲染。3.如权利要求1所述的一种用于通用型爬虫的页面渲染类型自动化检测方法,其特征在于,当页面类型为索引页时,发起一次静态请求,获取页面内全部链接及翻页按钮,若静态请求的链接数大于预设第一阈值,且包含翻页按钮,则直接判定为静态渲染面。4.如权利要求3所述的一种用于通用型爬虫的页面渲染类型自动化检测方法,其特征在于,若静态请求不满足链接数大于预设第一阈值且包含翻页按钮,则发起动态请求,获取页面内全部链接及翻页按钮;那么判定为动态渲染的条件为:动态请求存在下一页,静态请求不存在下一页;或动态请求存在下一页,且超文本引用中不是URL。5.如权利要求1所述的一种用于通用型爬虫的页面渲染类型自动化检测方法,其特征在于,当页面类型为内容页时,分别发起一次静态请求和动态请求,获取页面HTML文本,并...

【专利技术属性】
技术研发人员:郭磊辛国茂吴士伟
申请(专利权)人:山东亿云信息技术有限公司
类型:发明
国别省市:

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

1