爬虫和反爬的技术「如何应对反爬虫」
今天给大家普及一下爬虫和反爬的技术「如何应对反爬虫」相关知识,最近很多在问爬虫和反爬的技术「如何应对反爬虫」,希望能帮助到您。
1. 习惯性唠叨点啥
最近很久一段时间没有更新文章了,坚持这个词确实很重要,就跟我们学习一样。但是对于很多身在职场又或在学校的朋友们来讲的话,工作、学业繁忙确实少有精力跟时间能静下来写写文章。有很多人觉得写文章其实就是给自己看而已。其实不管是给自己或者是他人,用心创作最重要!为什么这么说呢?用心的过程中你会发现你对知识的归纳、经验的总结、技术的运用能力都在不断的提升。我相信每一位作者的初心都是通过写文章的方式去巩固自身的知识点、记录自己的学习过程、分享自己的学习方法与经验。
夜深的时候躺在床上准备入睡的时候,拿起手机刷刷博客,会发现很多优秀的作者ta们的文章阅读的时候无论从哪个方面都是很Nice的,我个人而言的话,还是比较倾向技术与生活或者技术与感悟结合在一起的文章。纯技术输出的文章讲实话还是缺少些许乐趣吧,我看着的话容易犯困,虽然我们是程序员!毕竟在一个知识共享的平台,创作文章总不能像自己平时记Liunx命令那样吧,HaHa
其实我跟在座的各位DaLao一样,一个在互联网公司求生的程序员!工作占据了大部分时间,爬虫系列的文章虽未坚持及时更新,但是!每天工作归嘎的我仍心系远方,希望有朝一日能实现财富自由、也同样希望早日荣归故里
我想未来我的文章里并不只限于爬虫技术文章更有Python领域的其他文章。当然还有这个圈子的感悟以及经历!所以今天它来了,它带着反爬、揣着梦想向你走来了!
2. 什么造就了爬虫
爬虫一直伴你我左右,只不过近两年伴随着Python的热度也慢慢锋芒毕露。在而今眼目下的大数据时代,市场涌现了大批大数据公司。前两年前大数据火得一塌糊涂(当然现在也很火)各行各业都在宣称大数据是未来的趋势,很多资本大佬涌进这波浪潮中占领自己的一席之地。所以呢!为什么很多中小微企业招爬虫职位的需求会比较多?而且你会发现薪资待遇很是诱人。数据是一家企业壮大的资本,但是!作为一家大数据公司,数据在哪呢?
大佬:我们虽然没有数据但是我们有爬虫工程师呀!
What?是的,你没有听错。ta说ta们有爬虫团队,你的站慌了吗?另外偷偷告诉你们,有些大数据企业它拥有的数据量可能都没有你大学四年收藏在U盘的资源多
作为一个大数据公司,这么点数据必然是不能推进整个公司的战略布局!这点数据量无法支持一家企业的野心,怎么去忽悠投资爸爸?这个时候公司的先锋小队就要顶上去了,开始按需编写爬虫、拼命的采集各大站点的数据资源。很快这些数据不再是你大学四年所积累的那点资源能比拟的了。这些数据将是企业拉融资的资本、也同样是后续战略布局展开的奠基石
3. 为什么要反爬虫
爬虫作为获取数据的重要手段,早期起源于搜索引擎。但是搜索引擎它是一只善意的爬虫,可以检索你的一切信息,并提供给其他用户访问。它们建立了robots君子协定,带来的结果是双赢!
看累了吧?讲个段子给你听听如何?(漏出本性的笑容):
有三家公司,它们分别是电商A、电商B、电商C。有一天这个电商A的后台人员发现很多流量查询一个商品,但是并未生成订单信息,那不就是根本没购买咱们的商品呀。这是怎么回事呢?难道是价格太高了吗?要不咱们写个爬虫看看同行的这个数据信息?于是电商A的爬虫工程师分别使用爬虫拜访了电商B跟电商C的网站。过了几天!B跟C的后台人员分别检测到大量异常流量来袭,技术人员都感觉不可思议,没有生成任何订单却访问量这么高?B跟C在同一时间想到另外两家公司
技术负责人:肯定是他们两家写爬虫来搞事,召集开发人员开会!
技术负责人:都骑到我们头上来拉SHI了,这是对技术人员的鄙视!
前端&后台开发人员:我们一定要报这个仇
第一个反爬上线…
电商A开发人员:第一天…哎鸭~封我IP?看我破你
第二天…哎鸭~封我账号?看我破你
第三天…哎鸭~验证码、请求加密?
…
然而,做反爬的B、C公司技术人员加班天天研究如何拦截爬虫。做爬虫的A公司天天研究如何破解反爬虫策略。三家公司就这么把资源全都浪费在了这场较量中。最后通过某种途径,三家公司的技术人员添加了彼此的联系方式,通过沟通最终都心平气和的坐在一起某个咖啡馆…
爬虫抱怨:老哥,反爬能不能别更新这么快?主要还整这么多花样?
反爬虫抱怨:老哥,那你就不能少抓点吗?或者限制一下频率?
但是!很快市场涌现了大量的伪君子。现在很多网站访问量里面正常用户可以说很少。大部分来自爬虫它们会加重网站服务器负担、影响正常用户访问。严重一点甚至会造成DDos攻击!站在商业的角度再去思量的话,这些流失的数据很有可能会成为竞争对手的战略资本。
凭以上几点,反爬虫就有足够的存在价值。网站爸爸自然不会让爬虫肆虐放纵!反爬虫技术也奔向前线。不管是爬虫工程师还是网站前后端开发人员来说,ta们都在履行着自己的使命,双方之间的这场对决哪怕只是为了证明“谁技术更强”
在爬虫与反爬虫的江湖里,周而复始,轮回不止~
4. 反反爬虫的权重
反反爬虫重要吗?在爬虫工程师的职业生涯里我的回答是:很重要、非常重要。可以看到现在市场对爬虫职业的要求都会有:熟悉反爬机制、精通各种反爬…等要求。对于一名职业爬虫开发人员来讲的话,爬虫就是他们的饭碗,想要吃这碗饭就需要面对这些问题并有能力处理这些问题。
5. 高级的反爬手段
说到爬虫技术的手段,很多人不仅仅是爬虫工作者都知道常见的封IP。但是封IP这种手段有一个最大的缺点就是:误伤。这个方法它的效果还很差,现在哪怕是入门级的新手写爬虫都知道使用IP池。这些资源并不用花费多大的成本,就更不用说免费的资源了。之后的发展趋势有了我上图的那些反爬技术
验证码反爬:这个反爬曾经可能是可行的,随着技术的更新换代,带来了机器学习,还有OCR。很多图片验证码很多都能搞定!更何况在这个资本主义的时代,打码平台!了解一下~~
CSS加密 SVG映射反爬:前端女大佬上线!跟我比知识面?我们都知道从请求到数据响应展示不仅仅是后端的事。前端要处理大量的事,比如用CSS做一些渲染。另外JS可以玩出大量招式与花样,一周一个Feature,365天里面基本都不会带重样的。就问你爬虫老哥!你遭得住嘛?
指纹反爬:今时今日出现了一种新的方法替代cookie可以来跟踪用户。在这两年中,许多网站和跟踪软件都开始利用HTML5指纹。如果单单对于canvas指纹识别的话。可以利用它的原理实现破解,可以修改浏览器设置、更换浏览器、更换浏览器不同版本等系统环境,让他失效。但是一般指纹识别会附加很多其他识别因素。再者!这个东西有一个缺陷就是无法验证它的合法性。因其冲突概率非常高!因此,看似“高级”的操作有时候也不一定能实用哦。
我之前看到一个爬dzdp的哥们在论坛像各位爬友发出求救信号,大致内容是这样的:
现在dzdp的反爬机制是字符集映射和CSS加密两种方式,这两种方式是轮着来的,比如同一家店的第一页评论是用的CSS,那么第二页或者其他页就是映射,上午这个网页可能用的CSS,下午就用的映射了,怎么破啊??同情三分钟…
其实CSS加密 SVG映射 字体反爬网上的教程基本都遍地能看到,解决思路也很明了,但是随着被各路大佬破解以后的技术共享,不得不让dzdp等其他网站的开发人员变着花样的玩呐
但是呢?所有的反爬虫都会有被破解的一天,只不过是时间的问题。我这倒是有一招可破天底下各种反爬的奇招,不过又有点难以启齿,是否采纳各位自行斟酌!
如果你或者你的公司有矿的话,在印度、菲律宾、柬埔寨或者非洲开一个分公司!可以雇佣廉价的劳动力,怎么操作呢?问得很好,就是像我们玩电脑一样,用鼠标点就行了!哪个网站都不好使,能拿你怎么办?
6. 爬虫的发展方向
学习爬虫的话,如果只是爬爬小网站,当作学习、爱好的的话,当然,它不难!如果是想当饭碗,那么学习到可以吃饭的境界,还是很难的!你将要迎接的爬虫生涯第一个难点就是如何对付反爬机制!后面还需要学习多进程、多线程爬虫、分布式爬虫等等
任何爬虫工程师,只搞爬虫,只要专研得够深,你的爬虫:功能很强大、性能很高、扩展性很好…那么还是很有前途的。
之前文章也有提到过复合型人才是市场最吃香的核心竞争人才。爬虫人员可以试着往大数据方向发展,爬虫并不仅仅局限于爬取数据,数分、数挖、机器学习等方面发展,前途也是不可限量的!
如果只搞爬虫的话,技术又只停留在当前水平的话。不再学习新知识,不再进步的话,那么是没有前途的,总有一天会被时代淘汰。
很多时候我也充满了这个时代的危机感!也在迷茫着未来的方向!在往后的日子里我会更好的鞭策自己,充实自己。让我们在未来的日子里有更多的选择与机会!希望我们一同进步、一同努力、拥有更好的人生、拥有更好的生活。加油!
7. 致谢
好了,到这里又要跟大家说再见的时候了。我只是一个会写爬虫的段子手而已,希望我的文章能带给您知识,带给您欢笑!同时也谢谢您能抽出宝贵的时间阅读,创作不易,如果您喜欢的话,点个关注再走吧。您的支持是我创作的动力,希望今后能带给大家更多优质的文章