
本发明属于网络爬虫技术领域,尤其涉及一种基于硒的爬虫爬虫的方法和系统.
背景技术:
Web爬网程序(在FOAF社区中也称为Web蜘蛛,Web机器人,更常称为Web追踪器)是一种程序或脚本,可以根据某些规则自动在万维网上捕获信息
常规爬网程序直接使用http / https协议下载指定url的html内容,并对内容进行爬网分析. 例如,在Java中使用urlconnection,httpclient等.
但是现在许多页面是通过js和ajax动态加载的selenium做爬虫,这使得抓取数据变得极为困难.
技术实施要素:
本发明的技术方案是克服现有技术的缺点,提供一种基于硒的爬行器爬行方法,可以解决数据爬行中遇到的困难网页/网站,并且爬行效率高. 因此,开发人员无需关注如何破解JS加密,丢失请求还是丢失参数,从而大大减少了开发人员的工作时间和错误概率.
本发明的技术方案是: 这种基于硒的爬行器的爬行方法,该方法包括以下步骤:

(1)执行初始URL;
(2)驱动浏览器通过硒执行URL地址;
(3)加载页面后,获取用于页面数据解析的页面.
本发明执行初始URL,因为硒提供了一组与真实浏览器内核进行交互的API,并且硒驱动系统浏览器执行URL地址. 页面加载后,获取页面进行页面数据分析,解决了数据抓取中难以破解的网页/网站,提高了抓取效率. 开发人员无需关注如何破解js加密,无论丢失请求还是丢失参数,都大大减少了开发人员的工作时间和错误概率.
还提供了基于硒的爬虫爬网系统. 该系统包括:
初始URL执行模块,用于执行初始URL;
URL地址执行模块,用于通过Selenium驱动的系统浏览器执行URL地址;
解析模块,用于在页面加载后获取页面进行页面数据解析.

图纸说明
图. 图1是根据本发明的基于硒的爬行器爬行方法的流程图.
具体实现
如图1所示,这种基于硒的爬虫爬网方法包括以下步骤:
(1)执行初始URL;
(2)驱动浏览器通过硒执行URL地址;
(3)加载页面后,获取用于页面数据解析的页面.
本发明执行初始URL,因为硒提供了一组与真实浏览器内核进行交互的API,并且硒驱动系统浏览器执行URL地址. 页面加载后,获取页面进行页面数据分析,解决了数据抓取中难以破解的网页/网站,提高了抓取效率. 开发人员无需关注如何破解js加密,无论丢失请求还是丢失参数,都大大减少了开发人员的工作时间和错误概率.

此外,在步骤(3)中,还获得了系统中返回的cookie信息.
此外,在步骤(1)中:
将目标执行地址设置为selenium服务块,然后selenium调用浏览器的本机api操作浏览器以通过内部webDriver有线协议执行请求.
进一步,在步骤(2)中:
通过selenium服务将服务请求发送到Wire协议,然后操作浏览器api以获取浏览器加载的原始页面.
进一步,在步骤(3)中:
通过有线协议返回到硒服务,当硒服务获取页面时,将其交给解析模块进行页面解析.
本领域普通技术人员可以理解,上述实施例方法中的全部或部分步骤可以通过指令相关硬件的程序来完成,并且可以将该程序存储在计算机可读存储介质中. 当执行该程序时,它包括前述实施例中方法的每个步骤,并且存储介质可以是: ROM / RAM,磁盘,光盘,存储卡等. 因此,对应于本发明的方法,本发明还包括基于硒的爬行器爬行系统,其通常以对应于该方法的每个步骤的功能模块的形式来表达. 使用此方法的系统包括:

初始URL执行模块,用于执行初始URL;
URL地址执行模块,用于通过Selenium驱动的系统浏览器执行URL地址;
解析模块selenium做爬虫,用于在页面加载后获取页面进行页面数据解析.
此外,在解析模块中,还获得了系统返回的cookie信息.
此外,在初始URL执行模块中:
将目标执行地址设置为selenium服务块,然后selenium调用浏览器的本机api操作浏览器以通过内部webDriver有线协议执行请求.
此外,在网址执行模块中:
通过selenium服务将服务请求发送到Wire协议,然后操作浏览器api以获取浏览器加载的原始页面.
进一步,在解析模块中:
通过有线协议返回到硒服务,当硒服务获取页面时,将其交给解析模块进行页面解析.
以上仅是本发明的优选实施方式,而不以任何形式限制本发明. 根据本发明的技术实质对上述实施例所作的任何简单修改,等同变化以及修改,仍然属于本发明技术方案的保护范围.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-153517-1.html
加油
你还在为美爹洗地