一种基于selenium的爬虫抓取方法及系统与流程

文档序号:12177157阅读:2416来源:国知局

本发明属于网络爬虫的技术领域,具体地涉及一种基于selenium的爬虫抓取方法及系统。



背景技术:

网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。

一般的爬虫都是直接使用http/https协议,下载指定url的html内容,并对内容进行爬虫抓取分析。例如在java中使用urlconnection,httpclient等。

但是现在很多页面是通过js以及ajax动态加载的,这就使得抓取数据变得异常艰难。



技术实现要素:

本发明的技术解决问题是:克服现有技术的不足,提供一种基于selenium的爬虫抓取方法,其能够解决数据抓取中遇到难破解的网页/网站,并且抓取效率有所提高,开发者无需关注破解js如何加密,是否丢请求、丢参数,大大减少开发人员的工作时间和出错概率。

本发明的技术解决方案是:这种基于selenium的爬虫抓取方法,该方法包括以下步骤:

(1)执行初始url;

(2)通过selenium驱动系统浏览器执行url地址;

(3)当页面加载完毕后,获取页面进行页面数据解析。

本发明通过执行初始URL,因为selenium提供一组API可以与真实的浏览器内核交互,通过selenium驱动系统浏览器执行url地址,当页面加载完毕后,获取页面进行页面数据解析,因此能够解决数据抓取中遇到难破解的网页/网站,并且抓取效率有所提高,开发者无需关注破解js如何加密,是否丢请求、丢参数,大大减少开发人员的工作时间和出错概率。

还提供了一种基于selenium的爬虫抓取系统,该系统包括:

初始url执行模块,其配置来执行初始url;

url地址执行模块,其配置来通过selenium驱动系统浏览器执行url地址;

解析模块,其配置来当页面加载完毕后,获取页面进行页面数据解析。

附图说明

图1是根据本发明的基于selenium的爬虫抓取方法的流程图。

具体实施方式

如图1所示,这种基于selenium的爬虫抓取方法,该方法包括以下步骤:

(1)执行初始url;

(2)通过selenium驱动系统浏览器执行url地址;

(3)当页面加载完毕后,获取页面进行页面数据解析。

本发明通过执行初始URL,因为selenium提供一组API可以与真实的浏览器内核交互,通过selenium驱动系统浏览器执行url地址,当页面加载完毕后,获取页面进行页面数据解析,因此能够解决数据抓取中遇到难破解的网页/网站,并且抓取效率有所提高,开发者无需关注破解js如何加密,是否丢请求、丢参数,大大减少开发人员的工作时间和出错概率。

更进一步地,在所述步骤(3)中,还获取系统中返回的cookie信息。

另外,所述步骤(1)中:

为设置目标执行地址到selenium服务块,然后selenium通过内部webDriver wire协议调用浏览器原生api操作浏览器执行请求。

更进一步地,所述步骤(2)中:

通过selenium服务发送获取页面服务请求到wire协议,然后操作浏览器api获取浏览器加载的原始页面。

更进一步地,所述步骤(3)中:

通过wire协议返回到selenium服务中,当selenium服务拿到页面后交给解析模块进行页面解析。

本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括上述实施例方法的各步骤,而所述的存储介质可以是:ROM/RAM、磁碟、光盘、存储卡等。因此,与本发明的方法相对应的,本发明还同时包括一种基于selenium的爬虫抓取系统,该系统通常以与方法各步骤相对应的功能模块的形式表示。使用该方法的系统,其包括:

初始url执行模块,其配置来执行初始url;

url地址执行模块,其配置来通过selenium驱动系统浏览器执行url地址;

解析模块,其配置来当页面加载完毕后,获取页面进行页面数据解析。

更进一步地,在解析模块中,还获取系统中返回的cookie信息。

另外,在初始url执行模块中:

为设置目标执行地址到selenium服务块,然后selenium通过内部webDriver wire协议调用浏览器原生api操作浏览器执行请求。

更进一步地,在url地址执行模块中:

通过selenium服务发送获取页面服务请求到wire协议,然后操作浏览器api获取浏览器加载的原始页面。

更进一步地,在解析模块中:

通过wire协议返回到selenium服务中,当selenium服务拿到页面后交给解析模块进行页面解析。

以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本发明技术方案的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1