今天主要讲解“web开发中的反爬技术有哪些”,感兴趣的朋友可以来看看。下面是
青岛网站建设公司总结的7项反爬技术及解决办法,大家可以一起交流:web开发中的反爬技术有哪些?
1、user-agent user-agent数据请求头,最初级的反爬,只要在请求中模拟请求头即可轻松飘过。解决方法:可以自己设置一下user-agent,或者更好的是,可以从一系列的user-agent里随机挑出一个符合标准的使用。
2、验证码 验证码是最常用的反爬虫措施,但简单验证码通过机器学习自动识别,通常正确率能达到50%以上甚至更高。复杂验证码通过提交到专门的打码平台进行人工打码,依据验证码的复杂度,打码工人平均每码收1-2分钱,成本比较低。也同样容易被绕过,使得数据容易被爬取。
3、封IP 封IP这是目前最有效也最容易误杀的方案。该策略建立在 IP 稀有的前提下,目前通过代理池购买,ADSL,或者拨号 VPS 等方式,可以低成本获取数十万的 IP 池,导致单纯的封IP策略效果越来越差。解决方法:就是通过ip代理,从不同的ip进行访问,这样就不会被封掉ip了。可是ip代理的获取本身就是一个很麻烦的事情,网上有免费和付费的,但是质量都层次不齐。如果是企业里需要的话,可以通过自己购买集群云服务来自建代理池。
4、滑块验证 滑块验证结合了机器学习技术,只需要滑动滑块,而不用看那些复杂到有时人眼也无法分辨的字母。但由于部分厂商实现时校验算法较为简单,导致经常只需要相对简单的模拟滑动操作就能绕过,从而使得数据被恶意爬取。类似案例:淘宝,阿里云。
5、关联请求上下文 反爬虫可以通过 Token 或网络请求上下文是否进行了完整流程的方式来判断是否真人访问。但对具有协议分析能力的技术人员来说进行全量模拟并没有太大困难。类似案例:知乎,百度登录过程。
6、JavaScript 参与运算 简单的爬虫无法进行 js 运算,如果部分中间结果需要 js 引擎对 js 进行解析和运算,那么就可以让攻击者无法简单进行爬取。但爬虫开发者依然可以通过自带 js 引擎模块或直接使用 phantomjs ,chrome等无端浏览器进行自动化解析。解决方法:这里就要请出一个大杀器:”PhantomJS“PhantomJS是一个Python包,他可以在没有图形界面的情况下,完全模拟一个”浏览器“,js脚本验证什么的再也不是问题了。
7、提高数据获取成本 当面对的是职业选手时,只能通过提升对方人力成本来实现,比如代码混淆、动态加密方案、假数据,混淆数据等方式,利用开发速度大于分析速度的优势,来拖垮对方的意志。如果对方咬定不放松,那只能持续对抗,直到一方由于机器成本或人力成本放弃。
如你的网站正在遭受爬虫困扰,可联系
青岛网站建设公司诚企网络,我们专业网站建设制作,程序开发。我们针对爬虫恶意爬去,专门开发了一款网站防火墙,针对性防护能有效减少这种恶意爬去情况,具体请跟客服联系。QQ:531971070,联系电话:15054251826
本文地址:http://www.city86.com/news_view_472/