网站的导航栏信息提取方法、装置、电子设备及存储介质制造方法及图纸

技术编号:25522012 阅读:102 留言:0更新日期:2020-09-04 17:12
本发明专利技术涉及文本提取技术领域,提出一种网站的导航栏信息提取方法、装置、电子设备及存储介质,方法包括:下载待提取企业网站域名的主页面及任意子页面源代码,获取第一HTML代码解析为第一节点DOM树,获取第二HTML代码解析为第二节点DOM树;剔除第一节点DOM树和第二节点DOM树外链得到第三节点DOM树和第四节点DOM树,使用NAV标签法、A标签密度法、最大公共区域法及关键词链接区块法提取导航栏信息后去重过滤,计算每个节点的节点得分并输出待提取企业的导航栏信息。本发明专利技术通过NAV标签法、A标签密度法、最大公共区域法以及关键词链接区块法提取导航栏信息,提高了提取页面中的导航栏信息的准确性及效率。

【技术实现步骤摘要】
网站的导航栏信息提取方法、装置、电子设备及存储介质
本专利技术涉及文本提取
,具体涉及一种网站的导航栏信息提取方法、装置、电子设备及存储介质。
技术介绍
企业官网为了展示企业文化以及产品、简介、联系方式等信息,通常会将关键信息的链接以导航栏的形式展示在页面顶部或页面左侧,为准确建立一个企业官网的内容索引,需要准确地把导航栏信息提取出来,但因编写网页所使用的HTML语言的自由性以及代码编写不规范等原因让提取导航栏这件事难以实施。现有技术通过使用NAV标签法,但是该方法需要页面使用HTML5版本且开发者严格遵循开发手册规范才能精准提取到导航栏节点信息。因此,对于非HTML5的页面,或者代码编写不规范等,提取的导航栏节点信息的准确率不高,甚至无法提取。
技术实现思路
鉴于以上内容,有必要提出一种网站的导航栏信息提取方法、装置、电子设备及存储介质,能够准确且快速的提取任意页面中的导航栏节点信息。本专利技术的第一方面提供一种网站的导航栏信息提取方法,所述方法包括:下载待提取企业的网站域名对应的主页面源代码以及任意子页面源代码,获取所述主页面源代码中的第一HTML代码并将所述第一HTML代码解析为第一节点DOM树,及获取所述任意子页面源代码中的第二HTML代码,并将所述第二HTML代码解析为第二节点DOM树;根据所述网站域名及所述第一节点DOM树中的每个节点的导航栏信息中的href属性剔除所述第一节点DOM树中的外链得到第三节点DOM树,根据所述网站域名及所述第二节点DOM树中的每个节点的导航栏信息中的href属性剔除所述第二节点DOM树中的外链得到第四节点DOM树;使用NAV标签法提取所述第三节点DOM树的导航栏信息得到第一导航栏信息集,使用A标签密度法提取所述第三节点DOM树的导航栏信息得到第二导航栏信息集,使用最大公共区域法提取所述第三节点DOM树和所述第四节点DOM树的导航栏信息得到第三导航栏信息集,使用关键词链接区块法提取所述第三节点DOM树的导航栏信息得到第四导航栏信息集;将所述第一导航栏信息集、所述第二导航栏信息集、所述第三导航栏信息集及所述第四导航栏信息集合并得到第五导航栏信息集;对所述第五导航栏信息集中的每个节点的导航栏信息进行去重并过滤,得到第六导航栏信息集;使用节点评分算法计算所述第六导航栏信息集中每个节点的节点得分;根据所述每个节点的节点得分对所述第六导航栏信息集中的所有节点进行排序并输出所述待提取企业的导航栏信息。优选的,所述使用NAV标签法提取所述第三节点DOM树的导航栏信息得到第一导航栏信息集包括:提取所述第三节点DOM树中的所有节点的导航栏信息中的PATH路径;判断每个PATH路径中是否存在NAV标签;当任意PATH路径中存在所述NAV标签时,提取所述任意PATH路径对应的节点的导航栏信息,合并所有提取的节点的导航栏信息得到第一导航栏信息集;或者提取所述第三节点DOM树中的所有节点的导航栏信息中的CLASS属性;判断每个CLASS属性中是否包含预设的NAV关键词;当任意CLASS属性的中包含有所述预设的NAV关键词时,提取所述任意CLASS属性对应的节点的导航栏信息,合并所有提取的节点的导航栏信息得到第一导航栏信息集。优选的,所述使用A标签密度法提取所述第三节点DOM树的导航栏信息得到第二导航栏信息集包括:提取所有节点的导航栏信息中的href属性;计算每个节点的href属性的字符串长度进行合并得到href属性长度列表;由零元素将所述href属性长度列表分割为多个子集,其中,每个子集中包含多个连续的非零字符串长度;累加所述每个子集中的每个节点的href属性的字符串长度得到每个子集的总字符串长度;提取出总字符串长度最长的子集中的每个节点的PATH路径;获取所有所述PATH路径的公共前缀满足最长公共前缀对应的节点的导航栏信息进行合并得到第二导航栏信息集。优选的,所述使用最大公共区域法提取所述第三节点DOM树和所述第四节点DOM树的导航栏信息得到第三导航栏信息集包括:提取所述第三节点DOM树中每个节点的导航栏信息与所述第四节点DOM树中每个节点的导航栏信息的最大连续公共子集;提取出所述最大连续公共子集中所有节点的导航栏信息;将所述所有节点的导航栏信息中存在预设A标签的导航栏信息进行合并得到第三导航栏信息集。优选的,所述使用关键词链接区块法提取所述第三节点DOM树的导航栏信息得到第四导航栏信息集包括:提取所述第三节点DOM树中的所有节点的导航栏信息中的锚文本;获取所述所有节点的导航栏信息中的锚文本属于预设多语言关键词集的锚文本对应的节点的PATH路径;获取所有所述PATH路径的公共前缀满足最长公共前缀对应的节点的导航栏信息进行合并得到第四导航栏信息集。优选的,所述对所述第五导航栏信息集中的每个节点的导航栏信息进行去重并过滤,得到第六导航栏信息集包括:提取所述第五导航栏信息集中的每个节点的锚文本和href属性;当任意两个节点的锚文本和href属性完全一致时,保留先出现的节点,删除后出现的节点得到目标第五导航栏信息集;利用正则匹配将所述目标第五导航栏信息集中任意一个节点的锚文本和href属性与多个预设的规则集中的任意一个规则集中的文本信息进行匹配;获取所述目标第五导航栏信息集中与所述任意一个规则集中的文本信息匹配失败的导航栏信息,并将获取的导航栏信息进行合并得到第六导航栏信息集。优选的,所述使用节点评分算法计算所述第六导航栏信息集中每个节点的节点得分包括:采用如下公式计算所述第六导航栏信息集中的每个节点的PATH路径的得分:其中,α表示PATH路径权重,a_note表示所述第六导航栏信息集的节点列表,len(a_note)表示所述节点列表中的节点个数,index_note表示所述每个节点在所述节点列表中对应的位置下标,f()表示值域为[0,1]的拟合函数;采用如下公式计算所述第六导航栏信息集中的每个节点的锚文本的得分:其中,β表示锚文本权重,text表示所述每个节点的锚文本,keywords表示预设多语言关键词集,other表示所述第六导航栏信息集中的每个节点的锚文本不属于所述预设多语言关键词集;采用如下公式计算所述第六导航栏信息集中的每个节点的href属性的得分采用如下公式计算得到:其中,γ表示href属性权重,layer代表所述每个节点的href属性中链接的层数,α+β+γ=100;累加所述第六导航栏信息集中每个节点的所述PATH路径的得分、锚文本的得分和href属性的得分得到每个节点的节点得分。本专利技术的第二方面提供一种网站的导航栏信息提取装置,所述装置包括:解析模块,用于下载待提取企业的网站域名对应的主页面源代码以及任意子页面源代码,获取所述主页面源代码中的本文档来自技高网...

【技术保护点】
1.一种网站的导航栏信息提取方法,其特征在于,所述网站的导航栏信息提取方法包括:/n下载待提取企业的网站域名对应的主页面源代码以及任意子页面源代码,获取所述主页面源代码中的第一HTML代码并将所述第一HTML代码解析为第一节点DOM树,及获取所述任意子页面源代码中的第二HTML代码,并将所述第二HTML代码解析为第二节点DOM树;/n根据所述网站域名及所述第一节点DOM树中的每个节点的导航栏信息中的href属性剔除所述第一节点DOM树中的外链得到第三节点DOM树,根据所述网站域名及所述第二节点DOM树中的每个节点的导航栏信息中的href属性剔除所述第二节点DOM树中的外链得到第四节点DOM树;/n使用NAV标签法提取所述第三节点DOM树的导航栏信息得到第一导航栏信息集,使用A标签密度法提取所述第三节点DOM树的导航栏信息得到第二导航栏信息集,使用最大公共区域法提取所述第三节点DOM树和所述第四节点DOM树的导航栏信息得到第三导航栏信息集,使用关键词链接区块法提取所述第三节点DOM树的导航栏信息得到第四导航栏信息集;/n将所述第一导航栏信息集、所述第二导航栏信息集、所述第三导航栏信息集及所述第四导航栏信息集合并得到第五导航栏信息集;/n对所述第五导航栏信息集中的每个节点的导航栏信息进行去重并过滤,得到第六导航栏信息集;/n使用节点评分算法计算所述第六导航栏信息集中每个节点的节点得分;/n根据所述每个节点的节点得分对所述第六导航栏信息集中的所有节点进行排序并输出所述待提取企业的导航栏信息。/n...

【技术特征摘要】
1.一种网站的导航栏信息提取方法,其特征在于,所述网站的导航栏信息提取方法包括:
下载待提取企业的网站域名对应的主页面源代码以及任意子页面源代码,获取所述主页面源代码中的第一HTML代码并将所述第一HTML代码解析为第一节点DOM树,及获取所述任意子页面源代码中的第二HTML代码,并将所述第二HTML代码解析为第二节点DOM树;
根据所述网站域名及所述第一节点DOM树中的每个节点的导航栏信息中的href属性剔除所述第一节点DOM树中的外链得到第三节点DOM树,根据所述网站域名及所述第二节点DOM树中的每个节点的导航栏信息中的href属性剔除所述第二节点DOM树中的外链得到第四节点DOM树;
使用NAV标签法提取所述第三节点DOM树的导航栏信息得到第一导航栏信息集,使用A标签密度法提取所述第三节点DOM树的导航栏信息得到第二导航栏信息集,使用最大公共区域法提取所述第三节点DOM树和所述第四节点DOM树的导航栏信息得到第三导航栏信息集,使用关键词链接区块法提取所述第三节点DOM树的导航栏信息得到第四导航栏信息集;
将所述第一导航栏信息集、所述第二导航栏信息集、所述第三导航栏信息集及所述第四导航栏信息集合并得到第五导航栏信息集;
对所述第五导航栏信息集中的每个节点的导航栏信息进行去重并过滤,得到第六导航栏信息集;
使用节点评分算法计算所述第六导航栏信息集中每个节点的节点得分;
根据所述每个节点的节点得分对所述第六导航栏信息集中的所有节点进行排序并输出所述待提取企业的导航栏信息。


2.如权利要求1所述的网站的导航栏信息提取方法,其特征在于,所述使用NAV标签法提取所述第三节点DOM树的导航栏信息得到第一导航栏信息集包括:
提取所述第三节点DOM树中的所有节点的导航栏信息中的PATH路径;判断每个PATH路径中是否存在NAV标签;当任意PATH路径中存在所述NAV标签时,提取所述任意PATH路径对应的节点的导航栏信息,合并所有提取的节点的导航栏信息得到第一导航栏信息集;或者
提取所述第三节点DOM树中的所有节点的导航栏信息中的CLASS属性;判断每个CLASS属性中是否包含预设的NAV关键词;当任意CLASS属性的中包含有所述预设的NAV关键词时,提取所述任意CLASS属性对应的节点的导航栏信息,合并所有提取的节点的导航栏信息得到第一导航栏信息集。


3.如权利要求1所述的网站的导航栏信息提取方法,其特征在于,所述使用A标签密度法提取所述第三节点DOM树的导航栏信息得到第二导航栏信息集包括:
提取所有节点的导航栏信息中的href属性;
计算每个节点的href属性的字符串长度进行合并得到href属性长度列表;
由零元素将所述href属性长度列表分割为多个子集,其中,每个子集中包含多个连续的非零字符串长度;
累加所述每个子集中的每个节点的href属性的字符串长度得到每个子集的总字符串长度;
提取出总字符串长度最长的子集中的每个节点的PATH路径;
获取所有所述PATH路径的公共前缀满足最长公共前缀对应的节点的导航栏信息进行合并得到第二导航栏信息集。


4.如权利要求1所述的网站的导航栏信息提取方法,其特征在于,所述使用最大公共区域法提取所述第三节点DOM树和所述第四节点DOM树的导航栏信息得到第三导航栏信息集包括:
提取所述第三节点DOM树中每个节点的导航栏信息与所述第四节点DOM树中每个节点的导航栏信息的最大连续公共子集;
提取出所述最大连续公共子集中所有节点的导航栏信息;
将所述所有节点的导航栏信息中存在预设A标签的导航栏信息进行合并得到第三导航栏信息集。


5.如权利要求1所述的网站的导航栏信息提取方法,其特征在于,所述使用关键词链接区块法提取所述第三节点DOM树的导航栏信息得到第四导航栏信息集包括:
提取所述第三节点DOM树中的所有节点的导航栏信息中的锚文本;
获取所述所有节点的导航栏信息中的锚文本属于预设多语言关键词集的锚文本对应的节点的PATH路径;
获取所有所述PATH路径的公共前缀满足最长公共前缀对应的节点的导航栏信息进行合并得到第四导...

【专利技术属性】
技术研发人员:祁俊辉
申请(专利权)人:深圳市小满科技有限公司
类型:发明
国别省市:广东;44

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

1