[发明专利]一种自动获取xpath生成爬虫脚本的方法及系统有效
申请号: | 201711034452.1 | 申请日: | 2017-10-30 |
公开(公告)号: | CN107943838B | 公开(公告)日: | 2021-09-07 |
发明(设计)人: | 姬永杰;陈国强;任建新 | 申请(专利权)人: | 北京大数元科技发展有限公司 |
主分类号: | G06F16/951 | 分类号: | G06F16/951;G06F8/30 |
代理公司: | 北京天悦专利代理事务所(普通合伙) 11311 | 代理人: | 田明;任晓航 |
地址: | 100094 北京市海淀区西北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 自动 获取 xpath 生成 爬虫 脚本 方法 系统 | ||
1.一种自动获取政府网站xpath生成爬虫脚本的方法,包括以下步骤:
步骤1,获取网页的url地址,并通过url地址打开网页,遍历网页中所有的a标签;
所述a标签用于定义超链接;所述网页为包含主题信息列表的政府网站;所述遍历网页中所有的a标签的具体算法如下:调用jsoup包的方法,获取网页中所有的标签及其内容;
步骤2,取出每个a标签对应的xpath路径;
所述步骤2的具体步骤为:
步骤2.1,通过jsoup包,获取a标签的父级标签;
步骤2.2,递归调用,即对每个父级标签再获得其父级标签;
步骤2.3,直到获得的父级标签为html结束;
步骤2.4,将获得的所有父级标签依次连接,得到该a标签的xpath路径;
步骤3,按以下原则对a标签进行分组:xpath路径相同则划分为一组;然后,统计分组后a标签个数;
基于所述步骤3的分组,任意一个该组中的标签,所打开的链接网页都是相同的;
所述分组结果包括:菜单导航、主题信息列表、其他导航、广告及其他链接;
步骤4,取出每组中的一个a标签,打开该链接网页;
步骤5,对于步骤4中每个被打开的网页,统计网页中的a标签个数以及文字个数;
所述文字个数指a标签的文字个数;
步骤5的具体步骤为:通过jsoup获得所有a标签,及对应的text()内容,并统计a标签个数及text()内容的文字个数;
步骤6,取出文字个数最多且a标签个数最少的一组,记录其对应的xpath路径;
步骤7,基于Scrapy框架,根据对应的xpath路径生成爬虫脚本;
步骤7的具体步骤为:将步骤1中的网页的url地址及步骤6记录的xpath路径发送给Scrapy框架,生成相应的Scrapy爬虫脚本。
2.根据权利要求1所述的一种自动获取政府网站xpath生成爬虫脚本的方法,其特征在于:步骤1中,所述网页为包含主题信息列表的网页。
3.一种自动获取政府网站xpath生成爬虫脚本的系统,包括:
a标签遍历模块,用于打开url地址对应的网页,并遍历网页中所有的a标签;所述a标签用于定义超链接;所述网页为包含主题信息列表的政府网站;所述遍历网页中所有的a标签的具体算法如下:调用jsoup包的方法,获取网页中所有的标签及其内容;
xpath路径生成模块,用于取出每个a标签对应的xpath路径;所述xpath路径生成模块通过jsoup包,获取a标签的父级标签;然后递归调用,即对每个父级标签再获得其父级标签,直到获得的父级标签为html结束,最后将获得的所有父级标签依次连接,得到该a标签的xpath路径;
标签分组模块,用于对a标签进行分组,用于统计分组后a标签个数;基于所述标签分组模块的分组,任意一个该组中的标签,所打开的链接网页都是相同的;所述分组结果包括:菜单导航、主题信息列表、其他导航、广告及其他链接;
链接网页获取模块,用于根据a标签打开该链接网页;
信息统计模块,用于统计网页中的a标签个数以及文字个数;所述文字个数指a标签的文字个数;所述信息统计模块通过jsoup获得所有a标签,及对应的text()内容,并统计a标签个数及text()内容的文字个数;
xpath路径判别模块,用于分析出文字个数最多且a标签个数最少的分组对应的xpath路径;
爬虫脚本生成模块,用于根据对应的xpath路径生成爬虫脚本;所述爬虫脚本生成模块将所述a标签遍历模块的网页的url地址及所述xpath路径判别模块记录的xpath路径发送给Scrapy框架,生成相应的Scrapy爬虫脚本。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大数元科技发展有限公司,未经北京大数元科技发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711034452.1/1.html,转载请声明来源钻瓜专利网。