[发明专利]基于XPath序列的网页列表解析方法及系统有效
申请号: | 202010825868.0 | 申请日: | 2020-08-17 |
公开(公告)号: | CN111966930B | 公开(公告)日: | 2021-05-04 |
发明(设计)人: | 李钊;王瑞霜;陈通;卢凤;胡传会;魏静 | 申请(专利权)人: | 山东亿云信息技术有限公司 |
主分类号: | G06F16/955 | 分类号: | G06F16/955;G06F16/958;G06F40/14 |
代理公司: | 济南圣达知识产权代理有限公司 37221 | 代理人: | 黄海丽 |
地址: | 250014 山东省济南市*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 xpath 序列 网页 列表 解析 方法 系统 | ||
1.基于XPath序列的网页列表解析方法,包括:
根据URL获取网页的HTML源代码;
根据网页的HTML源代码,生成DOM Tree;
根据DOM Tree,获取网页中列表项的候选路径;
从候选路径中筛选出列表项的简化XPath路径,建立候选简化XPath路径与标签label的字典;
根据简化XPath路径与标签label的字典,获取网页列表项的结果;
根据DOM Tree,获取网页中列表项的候选路径;具体步骤包括:
获取DOM Tree中所有a下文本内容不为空的超链接a节点;
获取超链接a节点的实际XPath路径,对实际XPath路径进行简化,得到简化XPath路径;将简化XPath路径作为key,将实际XPath路径作为value,建立简化XPath路径与实际XPath路径的字典;
从简化XPath路径与实际XPath路径的字典中,判断简化XPath路径对应的实际XPath路径的数量是否大于等于设定阈值,如果是,则将当前简化XPath路径作为候选简化XPath路径;如果否,则将当前简化XPath路径删除;最后得到候选简化XPath路径与实际XPath路径的字典。
2.如权利要求1所述的方法,其特征是,对实际XPath路径进行简化,得到简化XPath路径;具体步骤包括:
将XPath路径中的标签元素位置索引替换为空串。
3.如权利要求1所述的方法,其特征是,设定阈值,是因为网页中的列表项的简化XPath相同,并且列表中的列表项数多;如果不设置阈值,则获取到的a标签的简化路径均为候选XPath路径,会降低程序的效率。
4.如权利要求1所述的方法,其特征是,从候选路径中筛选出列表项的简化XPath路径,建立候选简化XPath路径与标签label的字典;具体步骤包括:
(1):遍历候选简化XPath路径与实际XPath路径的字典,遍历候选简化路径对应的实际XPath路径,获取实际XPath路径对应的a节点;判断a节点下的文本是否包含日期项,如果不包含日期项,则进入(2),如果包含日期项,则将当前候选简化路径作为key,标签“c”作为value,建立候选简化XPath路径与标签label的字典项;结束本次循环,继续对下一个候选简化路径进行判断;
(2):根据超链接节点a获取其父节点记为node_p,在父节点node_p不为空的情况下,如果父节点node_p的tag为div或者父节点node_p节点下的超链接节点a个数大于等于2,认为节点a不是列表项中的a标签;如果父节点node_p的Html标签不为div或者父节点node_p节点下的超链接节点a个数小于2,则判断node_p节点下的文本中是否包含日期项,如果不包含,则执行(3);如果包含,则将当前候选简化路径作为key,标识“p”作为value,建立候选简化XPath路径与标签label的字典项,并结束本次循环,继续对下一个候选简化路径进行判断;
(3):记父节点node_p的父节点为node_pp,在node_pp不为空的情况下,如果node_pp节点的tag为div或者node_pp节点下的a节点个数大于等于2,此时认为该a节点不是列表项中的a标签;如果node_pp节点的tag不为div或者node_pp节点下的a节点个数小于2,则判断node_pp节点下的文本中是否包含日期项,如果不包含,则执行(4);如果包含,则将该简化路径作为key,标识“pp”作为value,建立候选简化XPath路径与标签label的字典项,并结束本次循环,继续对下一个候选简化路径进行判断;
(4):判断node_pp的父节点是否为空并且该节点下的a节点的个数是否小于2,如果是,则判断该节点下是否包含日期项,如果是,则将该简化路径作为key,标识“ppp”作为value,建立候选简化XPath路径与标签label的字典项,并结束本次循环,继续对下一个候选简化路径进行判断;直至所有候选简化路径被判断完毕,得到了候选简化XPath路径与标签label的字典。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东亿云信息技术有限公司,未经山东亿云信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010825868.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种依克多因的检测方法
- 下一篇:业务模块扩展实现方法和系统