[发明专利]快速验证CSS选择器的方法在审
申请号: | 201710734682.2 | 申请日: | 2017-08-24 |
公开(公告)号: | CN107463713A | 公开(公告)日: | 2017-12-12 |
发明(设计)人: | 张超 | 申请(专利权)人: | 四川长虹电器股份有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 成都虹桥专利事务所(普通合伙)51124 | 代理人: | 李凌峰 |
地址: | 621000 四*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 快速 验证 css 选择器 方法 | ||
技术领域
本发明涉及利用Java下载网页源码技术,特别涉及CSS选择器技术。
背景技术
网络爬虫是按照一定规则自动抓取WEB信息的程序或脚本,也被称为网络追逐者。在网络迅速发展的今天,万维网成为最大的信息载体,传统的搜索引擎作为辅助人们检索信息的工具也存在着一定的局限性:1.不同的用户往往有不同的检索目的,而搜索引擎会返回大量的无用信息,导致资源的浪费;2.搜索引擎的目标是尽可能大的网络资源覆盖,而随着网络资源的日益丰富,搜索引擎有限的资源越来越不能满足需要;3.搜索引擎对种类越来越多的网络资源越来越无能为力,具有一定结构的图片、数据库、音频、视频等密集资源是搜索引擎所不能解决的;4.搜索引擎都是通过关键字进行索引,很难通过语义进行分析检索。为了解决上述问题定向抓取网络资源的聚焦网络爬虫应运而生,聚焦网络爬虫根据目标信息,定向访问网络资源,从而快速获得想要的信息。
目前,如何高效快速的编写网络爬虫成为热点,在编写聚焦网络爬虫时,快速准确的获得CSS(层叠样式表)选择器成为信息抓取的关键。CSS,即层叠样式表,通常定义如何显示HTML元素,通过CSS文档可以改变页面中的布局和外观,而CSS选择器则可以选择出你所需要的样式的HTML元素,因此,快速准确的获取CSS选择器成为信息抓取的关键。目标网站中通常通过动态加载HTML信息进行反爬取,因此很难快速获取到有效的CSS选择器,本专利提出了一个快速验证CSS选择器的方法,通过界面化工具快速验证CSS选择器是否能够抓取HTML信息,当出现CSS选择器无效时,使用调用浏览器内核的方式下载网页源码,根据下载的网络源码,重新编写CSS选择器表达式,解决网页动态加载造成的信息爬取失败问题。
Httpclient可以更好地处理向Web站点请求,它是一个简单的HTTP客户端,可以用于发送HTTP请求,接收HTTP响应,但不会缓存服务器的响应,不能执行HTML页面中嵌入的JavaScript代码,也不会对页面内容进行任何解析及处理。
发明内容
本发明的目的是提供一种快速验证CSS选择器的方法,解决在编写聚焦网络爬虫时,目标网站中通常通过动态加载信息进行反爬,很难快速有效的获取CSS选择器的问题。
本发明解决其技术问题,采用的技术方案是:快速验证CSS选择器的方法,其特征在于,包括以下步骤:
步骤1、从所需网页获取目标网址和CSS选择器并输入目标网址;
步骤2、通过HttpClient下载目标网页的网页源码并解析;
步骤3、输入CSS选择器并对解析出的信息进行抓取;
步骤4、判断抓取的信息是否满足需要,若满足,则结束,若不满足,则进入步骤5;
步骤5、判断抓取的信息是否为动态加载信息,若是,则进入步骤6,若不是,则进入步骤3;
步骤6、调用浏览器内核重新下载目标网页的网页源码并解析;
步骤7、重新编写CSS选择器,并输入;
步骤8、利用重新编写的CSS选择器对解析出的信息进行抓取;
步骤9、判断抓取的信息是否满足需要,若满足,则结束,若不满足,则进入步骤8。
具体的,步骤1中,所述从所需网页获取目标网址使用的是GetText()函数。
进一步的,步骤2中,所述通过HttpClient下载目标网页的网页源码具体包括以下步骤:
步骤201、设定HttpCliet网络连接参数;
步骤202、建立Http网络连接;
步骤203、使用HttpClient的Get方法获得目标网页的网页源码。
具体的,步骤201中,HttpCliet网络连接参数的设定具体包括:
a、请求超时时间,默认设置为2秒;
b、等待数据超时时间,默认设置为2秒;
c、连接不够用等待超时时间,默认设置为500毫秒;
d、整个连接池最大连接数,默认设置为200。
再进一步的,步骤2及步骤6中,对目标网页的网页源码的解析使用了Jsoup解析器。
具体的,步骤6中,使用Selenium Webdriver调用浏览器内核。
再进一步的,步骤6中,所述浏览器为型号为Chrome的浏览器。
本发明的有益效果是,通过上快速验证CSS选择器的方法,当判断由于网页动态信息导致CSS选择器不可用时,调用浏览器内核重新下载目标网页的网页源码并解析,然后重新编写CSS选择器,从而快速获得有效的CSS选择器。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川长虹电器股份有限公司,未经四川长虹电器股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710734682.2/2.html,转载请声明来源钻瓜专利网。