一种解决Web证书认证的爬虫方法技术

技术编号:17779974 阅读:464 留言:0更新日期:2018-04-22 08:37
本发明专利技术公开了一种解决Web证书认证的爬虫方法,涉及有证书的Web爬虫方法领域;其包括步骤1:获取目标网站的Web证书后根据证书的类型选择不同的方式导入证书获取Scrapy爬虫框架访问URL的权限;步骤2:在Scrapy爬虫框架的下载中间件DownLoad Middleware中集成自动化工具Selenium实现Scrapy爬虫框架访问URL暨模拟为浏览器访问;步骤3:基于步骤2进入浏览器后重写Scrapy爬虫框架中的下载中间件Downloader Middleware,并使用自动化工具Selenium的Webdriver获取Web页内容,将其返回给Scrapy爬虫框架中的爬虫Spider并进行解析获取数据完成爬虫工作。本发明专利技术解决了现有Scrapy爬虫框架无法完成对有证书验证的网站的爬虫工作的问题,达到了高效实现对有证书验证的网站的爬虫工作的效果。

【技术实现步骤摘要】
一种解决Web证书认证的爬虫方法
本专利技术涉及有证书的Web爬虫方法领域,尤其是一种解决Web证书认证的爬虫方法。
技术介绍
Selenium自动化工具:基于Web的自动化测试工具,它提供了一系列测试函数,用于支持Web自动化测试,这些函数非常灵活,它们能够通过许多方式定位界面元素。Scrapy爬虫框架:是一个快速、高层次的屏幕抓取和Web抓取框架,用于抓取Web站点并从页面中提取结构化的数据。URL:统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址;互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。网站安全证书:通过在客户端浏览器和Web服务器之间建立一条SSL安全通道保证了双方传递信息的安全性,而且用户可以通过服务器证书验证他所访问的网站是否真实可靠。现在很多网站访问的时候都需要提供证书才能够正常访问,浏览器只对安装过证书的用户提供访问,这样可以让网站更具的安全性;对于无证书的网站,Scrapy爬虫框架比较完善,可以实现爬虫工作;当我们通过爬虫去访问一个有证书的网站的时候,Scrapy无法完成对有证书的Web进行数据采集,网站打不开并且采集不到任何信息;现有技术中Selenium自动化工具,对于一些简单的单机爬虫实现比较容易,但是对于大型的、分布式的爬虫系统来说,自动化工具Selenium是无法实现的;如何对有证书验证的网站进行爬虫工作是从事爬虫工作者来说是一个必须解决的问题,所以需要一种Web证书认证的爬虫方法通过结合自动化工具Selenium和Scrapy爬虫框架实现对有证书的网站进行爬虫工作的同时还可以扩展Scrapy爬虫框架和自动化工具Selenium的作用。
技术实现思路
本专利技术的目的在于:本专利技术提供了一种解决Web证书认证的爬虫方法,解决了现有Scrapy爬虫框架无法完成对有证书验证的网站的爬虫工作的问题。本专利技术采用的技术方案如下:一种解决Web证书认证的爬虫方法,包括如下步骤:步骤1:获取目标网站的Web证书后根据证书的类型选择不同的方式导入证书获取Scrapy爬虫框架访问URL的权限;步骤2:在Scrapy爬虫框架的下载中间件DownLoadMiddleware中集成自动化工具Selenium实现Scrapy爬虫框架访问URL暨模拟为浏览器访问;步骤3:基于步骤2进入浏览器后重写Scrapy爬虫框架中的下载中间件DownloaderMiddleware,并使用自动化工具Selenium的Webdriver获取Web页内容,将其返回给Scrapy爬虫框架中的爬虫Spider并进行解析获取数据完成爬虫工作。优选地,所述步骤3包括如下步骤:步骤3.1:Scrapy引擎从调度器Scheduler中取出要访问的URL,并将其封装为请求Request传给集成了自动化工具Selenium的下载器Downloader;步骤3.2:集成了自动化工具Selenium的下载器Downloader将资源下载后封装为应答包Response;步骤3.3:爬虫Spider解析应答包Response得到实体Item后交由实体Item管道处理并将处理完的数据进行存储完成爬虫工作。优选地,所述步骤1包括如下步骤:步骤1.1:获取目标网站的Web证书后判断采集数据过程中是否需要加载浏览器,若是,跳至步骤1.2;若否,跳至步骤1.3;步骤1.2:提前导入证书;步骤1.3:在爬虫Spider访问对应Web的URL时,附带证书的存放路径。综上所述,由于采用了上述技术方案,本专利技术的有益效果是:1.本专利技术通过在Scrapy爬虫框架集成自动化工具Selenium,通过运行代码后根据配置的网页驱动软件Webdriver启动对应的浏览器,实现对需要证书的访问,导入证书实现Scrapy爬虫框架访问URL,完成有证书验证浏览器的爬虫工作,Scrapy爬虫框架完善且成熟,功能齐全,解决了现有Scrapy爬虫框架无法完成对有证书验证的网站的爬虫工作的问题,达到了高效实现有证书验证的爬虫工作的效果;2.本专利技术的Scrapy爬虫框架结合自动化工具Selenium自动化测试,实现登录、并发、存储、监控和Scrapy,功能扩展极广,效率高且稳定性强;3.本专利技术的自动化工具Selenium结合Scrapy爬虫框架,优势扩大化,避免了单独的自动化工具Selenium只能实现简单的单机爬虫无法实现大型或者分布式的爬虫系统的工作的缺点,可以简便完成大型或者分布式的爬虫系统的爬虫工作。附图说明本专利技术将通过例子并参照附图的方式说明,其中:图1是本专利技术的方法流程图;图2是本专利技术的Scrapy爬虫框架的示意图。具体实施方式本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。下面结合图1-2对本专利技术作详细说明。实施例1一种解决Web证书认证的爬虫方法,其特征在于:包括如下步骤:步骤1:获取目标网站的Web证书后根据证书的类型选择不同的方式导入证书获取Scrapy爬虫框架访问URL的权限;步骤2:在Scrapy爬虫框架的下载中间件DownLoadMiddleware中集成自动化工具Selenium实现Scrapy爬虫框架访问URL暨模拟为浏览器访问;步骤3:基于步骤2进入浏览器后重写Scrapy爬虫框架中的下载中间件DownloaderMiddleware,并使用自动化工具Selenium的Webdriver获取Web页内容,将其返回给Scrapy爬虫框架中的爬虫Spider并进行解析获取数据完成爬虫工作;Scrapy爬虫框架包括调度器、自动化工具、下载器、下载器中间件、Scrapy引擎、爬虫Spider和实体Item。实施例2步骤1.1:获取目标网站的Web证书后判断采集数据过程中是否需要加载浏览器,若是,跳至步骤1.2;若否,跳至步骤1.3;步骤1.2:提前导入证书;步骤1.3:在爬虫Spider访问对应Web的URL时,附带证书的存放路径;步骤2:在Scrapy爬虫框架的下载中间件DownLoadMiddleware中集成自动化工具Selenium实现Scrapy爬虫框架访问URL暨模拟为浏览器访问;步骤3.1:Scrapy爬虫框架的Scrapy引擎从调度器Scheduler中取出要访问的URL,并将其封装为请求Request传给集成了自动化工具Selenium的下载器Downloader;步骤3.2:集成了自动化工具Selenium的下载器Downloader将资源下载后封装为应答包Response;步骤3.3:Scrapy爬虫框架的爬虫Spider解析应答包Response得到实体Item后交由实体Item管道处理并将处理完的数据进行存储完成爬虫工作。本专利技术集成自动化工具Selenium可以通过运行代码后根据配置的网页驱动软件Webdriver启动对应的浏览器实现对需要证书的访问;结合Scrapy爬虫框架进行爬虫抓取获取需要的数据完成爬虫工作,解决了现有Scrapy爬虫框架无法完成对有证书验证的网站的爬虫工作的问题,达到了高效实现有证书验证的爬虫工作、扩展Scrapy爬虫框架和自动化工具Seleni本文档来自技高网
...
一种解决Web证书认证的爬虫方法

【技术保护点】
一种解决Web证书认证的爬虫方法,其特征在于:包括如下步骤:步骤1:获取目标网站的Web证书后根据证书的类型选择不同的方式导入证书获取Scrapy爬虫框架访问URL的权限;步骤2:在Scrapy爬虫框架的下载中间件DownLoad Middleware中集成自动化工具Selenium实现Scrapy爬虫框架访问URL暨模拟为浏览器访问;步骤3:基于步骤2进入浏览器后重写Scrapy爬虫框架中的下载中间件Downloader Middleware,并使用自动化工具Selenium的Webdriver获取Web页内容,将其返回给Scrapy爬虫框架中的爬虫Spider并进行解析获取数据完成爬虫工作。

【技术特征摘要】
1.一种解决Web证书认证的爬虫方法,其特征在于:包括如下步骤:步骤1:获取目标网站的Web证书后根据证书的类型选择不同的方式导入证书获取Scrapy爬虫框架访问URL的权限;步骤2:在Scrapy爬虫框架的下载中间件DownLoadMiddleware中集成自动化工具Selenium实现Scrapy爬虫框架访问URL暨模拟为浏览器访问;步骤3:基于步骤2进入浏览器后重写Scrapy爬虫框架中的下载中间件DownloaderMiddleware,并使用自动化工具Selenium的Webdriver获取Web页内容,将其返回给Scrapy爬虫框架中的爬虫Spider并进行解析获取数据完成爬虫工作。2.根据权利要求1所述的一种解决Web证书认证的爬虫方法,其特征在于:所述步骤3包括如下步骤:步骤3.1:Scra...

【专利技术属性】
技术研发人员:王晓斌傅玉生勇萌哲田坤鹏
申请(专利权)人:成都优易数据有限公司
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1