您的位置:首页 > 新闻资讯 >文章内容
大量采集数据,遇到验证码和IP限制问题怎么处理
来源:互联网 作者:admin 时间:2019-02-07 09:24:00

  一些爬取过程中的小问题,就不列举了,这里主要说的是验证码和IP限制的问题。对于网站的IP限制以及验证码限制,我们爬虫还是有不少的方法去解决的。下面小编先列举出问题所在:


  首当其冲,验证码,该网站采用了数字加中文的简单四则运算作为验证码。


  查询目标路径参数经过了加密,我并不能直接通过取路径加参数的方式来直接跳过某些页面。


  IP限制,该网站对访问的IP做了访问次数计数限制。经过我的测试,一个纯净IP访问该网站一小时内最多能爬取40个有效数据(这里针对我的抓取目标来说,HTTP请求次数差不多之多200次,但是若在30s内访问次数超过25次HTTP请求,那么这个IP就直接被封掉)


  一、验证码限制解决


大量采集数据,遇到验证码和IP限制问题怎么处理


  这种的验证码难度在于字符粘连,字符随机旋转问题。首先写了一个工具来测试:


大量采集数据,遇到验证码和IP限制问题怎么处理


  做特征库,通过分割出来的字符去匹配特征库的相似度来判断图片中的文字到底是什么。这里没有使用第三方的光学识别(OCR ),因为识别汉字感觉识别率还是比较差,而且验证码中的汉字其实并不多,就是几个特定的字符,加减乘除等。所以通过特征库来识别也是绰绰有余了。


  关于验证码,我来说说我的一些问题,对于灰度计算和二值化,但是对于降噪,也就是去干扰线,需要自己根据目标来写特定的算法。我这里是通过削皮的方式来去掉的,每次给所有阴影剥掉一层1px的范围,填充为白色。当然了,我这方法不具备通用性。不同的验证码需要根据观察来用不同的方式来去除。


  分割呢,也就是直方图了,其实我的验证码也是可以根据色彩来做单色的直方图,这样来一步完成分割字符和降噪(有这想法,但是没有实际去实现。不过看有些大牛的博客说这样的方法是可行的)。我所了解到的分割方法还有滴水分割,不过我拿了论文资料,可惜看得不是很懂。下面贴了一段简单绘制直方图的方法:


大量采集数据,遇到验证码和IP限制问题怎么处理


  关于随机旋转的字符问题,我的做法是,将验证码中的字符分割成独立单位后,进行正负30度旋转,每旋转一次,计算一次投影宽度,由于我们的字体基本上都是‘方块字’,所以呢,在旋转的时候,最小宽度肯定是‘摆正’了的,不过,这里有个小问题,那就是若源字符旋转超过45°,我们将字横着放置的时候,其宽度也是最小的。不过我们让机器多学习几次,将四个方向摆放的图形都学习了,就可以了。这就是卡壳法了。


  二、IP限制问题解决


  直接通过切换访问的代理来突破,这里没有丝毫技术性含量。挂上代理后,去访问目标网站,根据返回的结果判断代理是否还有效。若是无效了,将当前查询目标回滚一次,并切换代理就行了。可以直接使用代理精灵,IP可能率高达95%以上。


  三、爬虫实现爬取工作


大量采集数据,遇到验证码和IP限制问题怎么处理


  写了一个爬虫服务端和一个爬虫客户端,服务端当做中央处理器,来分配计算量,客户端爬虫用来抓取数据。这样的情况下,各个客户端执行的速度其实是不一样的,请求响应又快又慢,验证代理是否有效也需要时间,所有,客户端爬虫完成任务的时间肯定不一样,所以我安排了这样一台电脑做作为中央处理器,分批次,小剂量的去分发任务列表。并接收客户端回传的结果,等完成所有任务之后统一导出或者进行写入数据库等其他操作。


  每个节点上的爬虫,给17个线程去跑,10个做代理IP的验证,7个爬数据。若是给10台办公室的笔记本安装软件,一起去爬数据,那么,就相当于 70人/秒 的速度在访问这个网站。至此,效率问题也解决了。


  总线方面,将任务列表根据下面的节点数进行分配(上图是之前截的图,之前是均分出去,后来发现均分的客户端并不是同时完成,有的快有的慢,结果快的弄完了,就空闲了,慢的还在慢吞吞的跑,所以,之后进行了小剂量分配,变相的达到动态的安排任务量)。


相关文章内容简介
推荐阅读
  • 11 2019-12
    怎么更换电脑ip地址?

    怎么更换电脑ip地址?日常生活中,我们上网可能不想使用自己电脑的IP,又或者需要换IP申请某某的东西,甚至可以看看一些限制的网站,怎么办呢?下面教大家一种方法。

  • 19 2020-08
    代理IP会发现真实IP地址吗

    平时我们上网时,本地的IP地址可能会泄露给其他人,当被一些技术人员获取到时有可能产生我们的个人隐私安全问题。

  • 03 2020-03
    代理ip软件对推广的帮助

    在做网络推广的过程中,很多种方法都必不可免的需要更换电脑IP地址才可以执行的更好,今天给大家普及的就是更换电脑IP地址的常用方法,希望对屏幕前的你有所帮助。

  • 06 2020-02
    代理ip都有什么类型

    在当今时代互联网相当发达,有很多人需要其他某些网站的资源,在爬取时都需要利用代理IP来更换地址躲避反爬虫检测,所以有许多IP代理软件应然而生,比如机灵代理是非常不错的IP代理软件

  • 30 2019-12
    高匿代理对爬虫的重要性!

    高匿代理对爬虫的重要性!在进行爬虫采集数据的过程当中,我们经常会遇到爬虫被目标网站限制ip访问频率,为了攻克这个难题让爬虫采集数据变得顺利,我们必须使用代理ip来变换爬虫的ip访

  • 02 2019-09
    免费IP代理与收费IP代理的区别

    有些用户想着自己只是偶尔用一下代理IP,并不是经常需要用到来处理什么大项目,就去选择用一些网上搜到的免费代理。但是这么做看似是省了钱,实质上风险却很大,不然为什么越来越多人

在线咨询
大客户经理
大客户经理
1829380381
13316264505

大客户经理微信

微信公众号

微信公众号

回到顶部