问题分类

官网新闻
域名注册问题
虚拟主机问题
VPS主机问题
服务器相关问题
400电话问题
网络营销推广问题
代理系统问题
业界资讯
动态拔号VPS问题

当前栏目点击排行

热门点击

谈谈爬虫反屏蔽策略与服务器屏蔽策略是如何对抗的

[来源:www.yunlifang.cn] [作者:云立方动态vps代理ip] [日期:2019-05-16]

在这个所谓大数据热潮中,“大数据“被所有人提起。当时相比于其他行业,大数据始终只是个新型行业,很多大胆的想法,创新的观点,目前可能都没有人去实现或者正在实现。这就表明了一个事实:大数据的潜力是无穷的。当所有人发现这个事实之后,一场盲目抢占数据的”灾难“发生了。一场数据持有方和没有数据方的拉锯战就开始了。

对于数据持有方:

1、恶意的爬虫给服务器带来了增加了负载。

2、数据有价值,数据应该为我带来收益,扩展业务,别人不能无偿使用我的数据。

对于没有数据方:

1、数据有价值,我要去抢占数据(当然,我不愿去付费)。

爬虫

站在,数据持有方的立场,我们暂且将爬虫分为两种:善意爬虫和恶意爬虫。

善意爬虫:比如搜索引擎的spider,这样的spider非常守欢迎,这种spider抓取频率合理,不会给服务器带来额外的负担,

还可以增加网页的曝光率,增加PV值,提升价值。

恶意爬虫:不能为网页带来任何正面影响,恶意、糟糕的爬虫不仅巨大的增加的服务器的负担,而且掠走了有价值的数据。

给出一个可扩展的爬虫架构图:


爬虫与服务器的交火

OK,我们开始一场恶意爬虫爬取手段与服务器屏蔽策略的正面交锋。先从一个最为基础的爬虫开始逐渐升级,从最为简单的屏蔽策略开始逐渐升级。


LEVEL1:

爬虫:爬虫开始爬取后,很快,爬取遇到了问题,网站开始抛出验证码。爬取无法进行。

屏蔽策略:服务器发现短时间内某个IP的访问频率及其快,允许用户正常浏览网页,但是不允许继续爬取,服务器抛出验证码。


LEVEL2:

爬虫:服务器抛出了验证码,很可能是爬虫爬取的频率过于频繁,所以,为爬取设置时间间隔,伪装自己是一个正常用户。

屏蔽策略:服务器发现这个IP访问有时间间隔,但是访问及其的规律,而且访问总量巨大,那么认为他是爬虫。继续抛出验证码。


LEVEL3:

爬虫:设置时间间隔并没有停止验证码的抛出。爬取遭到验证码的阻塞,但是发现验证码比较传统,可识别。

验证码识别:

1、OCR技术,这里需要扯一下:Google的数字图书馆就是采用的OCR技术,将所有的纸质版扫描为电子版,但是OCR技术还在发展,识别并不完美,因此,Google在识别过程中,仍然有很多片段没能识别。Google采用了非常聪明的做法,他将未识别的片段作为了验证码来让用户识别,将大部分用户的识别结果做为识别正确结果,这样一举两得,既有得到了验证码素材,同时又完成了识别。厉害!!

2、寻求打码公司........1、借助别人服务器处理,加入了头疼的网络问题,效率会很低。2、需要付费。3、Google都有无法识别的验证码,

我不相信他们有能力去识别。

3、其他

屏蔽策略:服务器发现该IP访问频率依旧很快,而且访问量巨大,说明爬虫完成了验证码的识别,并且继续了他们的脚步。那么,提高验证码的难度,抛出更加复杂的验证码。比如12306的验证码(Github上已有通过OCR识别的方法,经实验,仅为学习使用。准确率非常低)。比如CSDN的验证码:

LEVEL4:

爬虫:面对更加复杂的验证码,继续研究识别验证码,会带来付出巨大的代价而且与初始目标渐行渐远。现在开始考虑,不是识别验证码,而是选择绕过验证码。

服务器如何为用户抛出验证码:一个IP高频率,高并发、大量的访问网页,作为不正常访问,为其抛出验证码。那么爬虫可以伪装自己,将自己的行为隐藏起来,让服务器看起来像是一个正常用户的访问。用户如何判定访问用户是否为一个爬虫:

1、用户IP

2、User-Agent

3、Cookies

开始伪装自己,利用代理IP池,User-Agent池,来动态变换自己的IP与User-Agent,将爬虫伪装为一个真实的用户。

屏蔽策略:

1、动态IP池,在互联网上获取大量高质量代理的IP,并将其加入黑名单。

2、记录每个请求的User-Agent信息,找出访问量最大的那些User-Agent。并排除真正浏览器的User-Agent,然后屏蔽爬虫。

3、对于那些修改User-Agent模拟浏览器行为的爬虫,需要通过网站流量系统记录的真实用户访问IP来进行识别。


后续问题:

对于屏蔽策略:

1、实时性的监控:如果有多节点,多个拨号服务器,多线程的爬虫在短时间内疯狂的抓取数据,离线的分析为时已晚。实时的监控,需要对IP,User-Agent,访问频率,

访问次数,并发量进行实时统计计算。

2、屏蔽手段的是否优雅:允许那些善意的爬虫,比如搜索引擎的爬虫。误屏之后的解决方案。

3、从源头解决问题:只要抓取开始,那么服务器就会承受负载,数据已经丢失。这就已经开始造成损失,

对于反屏蔽策略:

1、验证码素材改变:如果花大量时间如训练验证码识别模型,准确率可以上升。但是如果网站改换了另一套验证码......那么所有工作需要从头开始。

......

其实作为抓取数据方,恶意抓取数据本身就是一种不负责任的行为。应该出台相关的法律来让数据得到应有的保护,架起一台双方沟通,合作的桥梁,那么就少去了这么多的费劲心思的勾心斗角,应该花更多的时间去研究如何分析,挖掘数据,升华数据的价值。

云立方动态拨号VPS:https://www.yunlifang.cn/

云立方网产品导航:  动态拨号vps  混合拨号VPS  服务器租用 动态ip  动态ip代理  拨号服务器 挂机宝 香港VPS PPTP 

相关文章