
python
文章平均质量分 91
源码头
稀有源码资源提供者
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
反爬虫兵法演绎结束语|达到理想不太易
在一切的“保密”只有我们自己知道的情况下, 我们发现,我们不仅可以忽悠竞对,也可以很容易地忽悠自己的老板,欺骗自己的同事和公司。另一方面,公司又给了我们其余人垂涎欲滴的资源,我们在业务的核心,被众多人关注(当然,也会面对别人的质疑)。也可以选择忍痛不用,然后用自己最原始的办法,慢慢找解决方案,然后因为没有完成KPI,最终还是成为了公司的罪人。但是请记住,喜剧的内核,其实是悲剧。我们的整个课程都结束了,也许你会觉得,有些课程讲得好好玩啊,像13讲一样,吃着小龙虾的时候,下一个双月规划就已经有了,非常搞笑。原创 2023-04-19 08:23:16 · 483 阅读 · 0 评论 -
反爬虫兵法演绎春节加餐03 _ 低调驶得万年船
当然,再强调一次,我并非法律专业人士,这些法律指导思想也仅仅是我个人的想法,实际上法律是一门非常严谨的学科,要让专业人士去讨论。实际上,爬虫虽然是个历史悠久的技术,但是从法律上来说,这还是一个新生事物,因此也会引发很多的争议。技术本身,确实是无罪的。最后,我再次和你强调一下,今天的分析只是我个人的一些观点,我是一个纯纯的技术人员,不是专业法务,所以一切还是以法律人士的说法为准。最后,我再次和你强调一下,今天的分析只是我个人的一些观点,我是一个纯纯的技术人员,不是专业法务,所以一切还是以法律人士的说法为准。原创 2023-04-19 08:22:40 · 381 阅读 · 0 评论 -
反爬虫兵法演绎春节加餐02 _ 真实世界里,小心屠龙勇士变恶龙
你好,我是DS Hunter。新年快乐!今天已经是大年初二了,不知道你有没有开始准备走亲访友呢?在上一节加餐里,我们讲了两个小故事。第一个故事告诉我们,有些事情,尤其是反爬虫这件事情,不靠技术也能解决问题。而另一个故事呢?它告诉我们,在这样你来我往的博弈中,从不同的角度部署反爬虫代码,没准会有意想不到的收获。好像爬虫、反爬虫的战场就是这么的不同。有的时候,我们必须把目光放在战场外,才能找到更加合适、更加出其不意的策略。那今天,我就再给你讲讲另外两个小故事吧。今天的故事,会稍稍偏非技术一些。原创 2023-04-19 08:21:47 · 2782 阅读 · 0 评论 -
反爬虫兵法演绎春节加餐01 _ 破解还是不破解,这是一个问题
你好,我是DS Hunter。今天是除夕夜,在这里先祝你新春快乐。终于远离爬虫和反爬虫尔虞我诈的战场了,有没有轻松一些?今天,我们就先远离这些纷乱的硝烟和危险的斗争,远离爬虫和反爬虫的“知识点”。我在开篇词的时候就和你说过,希望这门课能够帮助你堂堂正正地,还把工作完成了。而这种虚无缥缈的话,你肯定不信;那些苦口婆心的说教,你肯定也不爱听。所以,咱们就来点轻松的,看看在无故事王国里,爬虫和反爬虫的战场是什么样的。先给你预告一下,春节期间呢,我一共会给你讲三次故事。原创 2023-04-19 08:21:11 · 706 阅读 · 0 评论 -
反爬虫兵法演绎20 _ 如何搞定老板(下):团队考核怎么做?
你好,我是DS Hunter。这是本专栏正文的最后一讲了,恭喜你坚持到了最后!在整个进阶篇里,你招好了人,搭好了团队,到了最后,你的团队也许已经获得了一定的业绩。而年底应该也到了,又到了愉快的发奖金时间。对于没有做过管理的人来说,考评是一个很容易的事情。而做过管理的人都知道,这简直不是人干的事。那么,考评到底哪里难呢?。每个人都会高估自己,可是考评的结果一般都会低估自己,这个落差是大部分人不能承受的——除非领导给的是考评的上限,否则一般都不满意。原创 2023-04-19 08:20:07 · 888 阅读 · 0 评论 -
反爬虫兵法演绎19 _ 如何搞定老板(中):如何组建团队
你好,我是DS Hunter。上一讲,我们讲了如何编写合适的OKR。如果你运作得顺利,那么你应该申请下了项目,申请了HC。结合再前面的JD如何编写,你可能招到了一些人。目前为止,你可能认为自己的团队已经组建好了。且慢!不是这样的,并不是人凑够了就叫团队!就像你打游戏一样,只要凑够了5个人,能去打排位了,这就是一个好的团队了吗?并不是。随着不断的掉分,可能内讧就产生了,甚至刚到逆风局的时候,内讧可能就已经开始了。慢慢的,团队人数越来越少,凑起来的团队也烟消云散了。原创 2023-04-19 08:18:13 · 946 阅读 · 0 评论 -
反爬虫兵法演绎18 _ 如何搞定老板(上):如何编造虚无缥缈的OKR?
你好,我是DS Hunter。众所周知,每个项目创建的时候,都要频繁的设定目标,即使这些目标每天都在变化,刚设置完就已经没用了。但是,上层的大老板没时间细致地去管所有的实现细节,他们只能通过纸面上的目标设定、执行计划,近似地去猜测一个项目是否值得投入。所以,即使你觉得这些汇报技巧让人不屑,也依然不得不遵守这个世界现有的规则。我们在曾经提到过,反爬虫主要的收益包括:信息保护,商业优势,竞对压制以及竞对爬虫的资源消耗,这四点的可操作性是逐个递增的,我们这一讲也会主要通过这些方面来进行讲解。原创 2023-04-18 08:45:50 · 869 阅读 · 0 评论 -
反爬虫兵法演绎17 _ 招聘篇:如何写一个合适的JD?
你好,我是DS Hunter,反爬虫专家,又见面了。我在开篇词里说过,学完前两章的你,单兵作战的能力已经达到了极致。那么现在,我们就一起开始从单兵作战到团战的跨越。或者,你也可以理解为我们要实现从技术到管理团队的跃迁,反爬虫搭建团队,第一件事就是招人。而招人的第一件事,就是编写一个合格的JD。如果你曾经做过管理,你可能会说:这个我熟,JD如何如何写,能够写得精准,给应聘者更好的感受,寻找到匹配的人才。你的经验是非常正确的。原创 2023-04-18 08:45:11 · 3995 阅读 · 0 评论 -
反爬虫兵法演绎16 _ 验证爬虫:我到底要不要百分百投入?
你好,我是DS Hunter,反爬虫专家,又见面了。前面,我们讲了反爬虫的前置操作,例如快速下线的保命技巧,key生成的相关知识。那么这一讲,我们就谈谈反爬虫最终的核心诉求:验证爬虫。实际上,在上一讲的规则引擎里面,我们已经对爬虫做了一些验证操作。但是,那里的验证只是简单的规则校验,还属于比较初级的校验。高级校验就要考虑得更多一些。两者之间有什么不同呢?我们可以试试用不同的英文单词来区分两者。上一讲的验证,更多是validate,而这一讲,则更多是test or confirm。原创 2023-04-18 08:44:20 · 1372 阅读 · 0 评论 -
反爬虫兵法演绎15 _ 规则引擎:如何快速响应突发的爬虫需求?
你好,我是DS Hunter,反爬虫专家,又见面了。我们前面很多地方都提到了规则引擎。这里再重申一下规则的定义:规则(rule):使用任何技术手段,对线上请求特征按照指定的条件(condition)或方法(callback)进行检测验证,并执行指定操作的过程。在部分系统里,这个也被称为过滤器(filter)。如果说低耦合是为了保护你不死,那么规则引擎就是你的战斗利器,相当于将军的兵器,来鉴别爬虫。严格来说,整个反爬系统所有的操作,最终都是各种形态的规则引擎。原创 2023-04-18 08:43:03 · 846 阅读 · 0 评论 -
反爬虫兵法演绎14 _ 低耦合:如何快速下线反爬虫系统?
你好,我是DS Hunter,反爬虫专家。又见面了。前面我们已经详细讲完了反爬虫几乎全部的理论基础,现在我们进入实战看看如何应对真正的爬虫。由于前面进行了大量的烧脑学习,相信你已经有些疲惫了,我们实战首先找一个轻松的话题:如何快速下线反爬虫系统?原创 2023-04-18 08:42:03 · 945 阅读 · 0 评论 -
加餐|反爬虫的专家级鉴别力:用户习惯检测
你好,我是DS Hunter。又见面了。上一讲,我们讨论了反爬虫方检测真人的几种方式,分别是各种游戏验证码、变态验证码以及滑块验证码。当然,除了这三种检验方式,还有一个更简单的验证码,让用户单纯地看图猜字。这些非黑即白的方法,可能会给你一种感觉,让你觉得:这是一个不可解的问题,没有哪个方法是完美的啊!记不记得上一讲除了真人检测的几种方式,我还说过什么?“完美解不存在,生活中很多方案都是依靠近似解来进行的”。原创 2023-04-18 08:40:00 · 543 阅读 · 0 评论 -
反爬虫兵法演绎答疑课堂|爬虫反爬虫调试对抗技巧以及虚拟机详解
你好,我是DS Hunter。因为一些保密需要,我们的课程充满了理论,可能你会认为难以落地。因此啊,我们总要有一讲,擦着泄密的边缘,稍稍讲一点实际的例子,也在课程的基础与理论实践篇快要结束的时候做个总结。反爬虫领域里的例子就像魔术揭秘一样,一旦了解背后的秘密了,我打赌你会先惊讶一下:哦原来是这样?然后仔细想想,就会再说:哦……不过如此!原创 2023-04-18 08:39:15 · 4184 阅读 · 0 评论 -
反爬虫兵法演绎13 _ 反爬虫基础理论:这是唯一一节严肃的纯理论课
你好,我是DS Hunter。前面12讲,我们讲完了反爬虫的所有操作,但是你可能会觉得,这样一攻一防的讲解在应用的时候会存在割裂感,实际工作中,还是摸不透反爬虫的整个流程。那么今天,我就带你完整地走一遍反爬虫流程,从信息收集开始,到对爬虫的预估、线上测试,对工作需求的分析,最后,也会告诉你在流程中存在的风险点。希望你能够通过今天的课程,理解那些反爬虫里严肃的纯理论知识。甚至,你可以把今天的课程当作反爬的标准流程手册。当然,我更希望你能通过今天的总结,了解反爬虫到底反的是什么。是爬虫,还是商业竞争?原创 2023-04-18 08:38:32 · 1069 阅读 · 0 评论 -
反爬虫兵法演绎12 _ 反爬虫概述(四):前后端都不合适的时候如何进行处理?
实际上,我们可以通过定制Express的Engine,创造一个新的扩展名来避免大量的切片,直接实现BFF中转以及聚合的复杂操作。原创 2023-04-18 08:37:22 · 3476 阅读 · 0 评论 -
反爬虫兵法演绎11|反爬虫概述(三):前端反爬虫是怎么做信息收集的?
你好,我是DS Hunter。上一讲,我们已经了解了前端反爬虫中最主要的动作,key的加密,但是除了这件事,前端还可以完成更多的细节来辅助整个反爬虫动作。例如信息收集,它们虽然不会直接完成“拦截”的动作,看起来也没有什么贡献,但是对于工程师的生存以及“拦截”动作本身的指导和优化来说,却有着不小的辅助功能。最后,我们会把key的加密、信息收集这一切都聚集到规则引擎中统一收口。这一讲,我们就把目光聚集在信息收集以及规则引擎这两大辅助部分,完成前端反爬虫的主要工作。原创 2023-04-18 08:35:05 · 1163 阅读 · 0 评论 -
反爬虫兵法演绎10 _ 反爬虫概述(二):无收益的前端是怎么进行key处理的呢?
说实话,为了迷惑爬虫方,上面所有的操作都很混乱。虽然我们说,混乱对于反爬虫不是件坏事。但是,过度混乱也会导致调试体验的缺失。因此,我们需要服务端针对爬虫和规则,使用两套不同的阅读方式,服务端看到的应该是清晰明了的代码,而客户端看到的应该是混淆后的代码。这就是自定义engine要做的事情。但是或许你意识到了一点:似乎这种事情后端做不了或者代价太大,前端因为暴露给客户又不适合做。那么这部分灰色地带怎么办呢。原创 2023-04-30 09:04:43 · 960 阅读 · 0 评论 -
反爬虫兵法演绎09 _ 反爬虫概述(一):高收益的后端能做哪些基本的事情?
你好,我是DS Hunter。从这一讲开始,我会给你讲一讲不同研发职能做反爬的方向和技巧。一般来说,公司会将Web站点分为前端、后端两部分,也就是前后端分离。必要的时候,可能还会做BFF。后端做反爬,是一件自然而然的事情,很多公司的反爬虫都是后端开始做的。当后端力不从心之后,才开始给前端做。前端力不从心了呢?就开始由BFF做了。所以在课程中,我们也同样按照这个逻辑,先从后端开始说起。原创 2023-04-17 08:20:33 · 994 阅读 · 0 评论 -
反爬虫兵法演绎08 _ 博弈的均衡:如何对抗道德的沦丧和人性的扭曲?
你好,我是DS Hunter。前面我们讲了大量的擦边球,在04~07讲提到的反爬与爬虫的对抗中,你一定也体会到了,爬虫和反爬,的确是一个很腐蚀人心智的行当。但是,在这个行当里,无论是为了生存,还是为了赚钱,都一定要牢记:我们首先要做一个好人,然后才要考虑赚钱。因此,法律和道德是我们逃不开的两件事,我们不得不仔细学习一下。法律是道德的最低标准。但是呢,法律又有一定的滞后性。这就导致了我们做的一些事情,合乎道德的,与合乎法律的,未必是一个标准。所以我们分开两部分来讨论。原创 2023-04-17 08:18:44 · 722 阅读 · 0 评论 -
反爬虫兵法演绎07 _ 反爬虫升级:如何判定你是个真人?
你好,我是DS Hunter。上一讲,我们提到了,爬虫使用分布式,可以最大程度地隐藏自己。那么最大程度是到什么程度呢,反爬虫方如何应对呢?还是回到反爬虫的核心问题:识别爬虫。原创 2023-04-17 08:16:17 · 1375 阅读 · 0 评论 -
反爬虫兵法演绎06|爬虫攻势升级:分布式的意义在哪里?
分布式,顾名思义,就是使用多台机器一起工作。不管分布式的定义多么复杂,实际上它只是一个简单的分散作业而已。当一个技术很简单的时候,我们不要刻意去把它弄复杂,这样对解决问题是没有帮助的。接下来我们就看看在爬虫抓取思路的各个部分,是怎么做到分布式的,以及各个部分的分布式,又有什么样的作用。最后,让我们回到开头的问题:关于QPS,我们应该增加,还是减少呢?原则上,我们当然是要减少QPS,避免对对方机器造成负担。但是实际上因为分布式的问题,加上可能有交叉验证,100的QPS实际上增加到120是一个不错的平衡点。原创 2023-04-17 08:13:32 · 894 阅读 · 0 评论 -
反爬虫兵法演绎05 _ 反爬虫的应对之策:通用且基本的检测规则是什么?
你好,我是DS Hunter。上节课,我通过爬虫方的一整个抓取流程,给你讲了爬虫是如何低调地爬取站点,闷声发大财的。那么今天,我们就要看看反爬虫方要如何应对爬虫的抓取了。我们都知道,当爬虫诞生的时候,反爬虫的需求就诞生了,而反爬虫这个职业,也就水到渠成,自然而然地出现了。那么我们要想进行反爬虫,要做的第一件事是什么呢?没错,就是。爬虫如果无法被识别出来,那么剩下的所有架构设计以及扩展性都是在瞎扯。爬虫识别,可以说是整个反爬虫的核心。原创 2023-04-17 08:10:37 · 3565 阅读 · 0 评论 -
反爬虫兵法演绎04 _ 爬虫的首轮攻势:如何低调地拿到自己想要的数据?
好了,到这里,我就介绍完了低调完成爬虫操作的全过程,给你总结一下吧。首先,我们会使用对应的网络协议请求服务器,这里根据对方服务器使用的协议,我们就可以直接确定我们需要使用的协议。接下来是确定要抓取的数据并且制定抓取策略,这里也是整个工程的重中之重,能不能实现低调就看这个策略了。我们能做的,就是挑选出重点需要关注的商品,舍弃一部分并不重要的商品,甚至为了隐藏自己的商业数据,可以有意减去一些重点商品,避免因小失大。然后,就是执行抓取了。这里需要注意的是,实时爬虫并不推荐,非做不可的话,一定要注意,把低调。原创 2023-04-17 08:09:00 · 1107 阅读 · 0 评论 -
反爬虫兵法演绎03 _ 反爬虫的发展以及展望:我们也不是什么正经工程师
你好,我是DS Hunter。在上一节课里,我们讲了反爬虫方是如何对抗爬虫方这个坏人的。这节课,咱们一起看一看,在内卷之下,反爬虫真的能保证“不作恶”吗?这节课是我们历史背景篇的最后一节课,我们来点轻松的,我会首先讲一讲反爬虫方和爬虫方这两方各自最通用的两个手段——验证码和浏览器模拟的历史过程,然后再用几个故事来带你看看反爬虫的近期发展。在一些故事的结尾,我也会预言一下后续的发展。当然了,预测未来是一个不怎么靠谱的事情,失败概率极高,不过我还是来无责预测下。原创 2023-04-17 08:02:15 · 857 阅读 · 0 评论 -
反爬虫兵法演绎02 _ 爬虫的内卷和黑化:我们变得不正经啦
你好,我是DS Hunter。在上节课里,我们讲了上古田园时代和春秋时代的爬虫发展,这个时候爬虫还是有礼节的。但是到了后面的战国时期,就彻底礼崩乐坏,慢慢变得无恶不作了。爬虫也从一门技术,变成了一门生意。因此,面临这种超出想象的变化,在激烈的对抗间,我们的各类招式也层出不穷。这节课,我们就聚焦到战国时代,我会给你讲解几个在爬虫和反爬虫的斗争期间,双方常用到的招式,像爬虫方常用的接口定制化爬虫、机器人工双校验,以及反爬虫方常用的数据混淆策略和字体文件反爬。这些招式会按照相互克制的顺序展开。原创 2023-04-17 08:00:52 · 896 阅读 · 0 评论 -
01 _ 爬虫需求的诞生:我们是正经的软件工程师
爬虫是一个历史悠久的需求,严格来说,它甚至比网络出现得还早。或者你也可以理解为,网络出现之后,网络和爬虫才结合成了我们所熟知的网络爬虫。因为互联网大部分的功能其实并没有什么新意,只不过是把线下的场景搬到线上来了。而爬虫,其实就起源于线下。再聚焦一些,爬虫,起源于再平常不过的——菜市场。原创 2023-04-17 07:54:07 · 681 阅读 · 0 评论 -
反爬虫兵法演绎开篇词 _ 如何突破“爬虫反爬虫”内卷之怪现状?
由于“爬虫和反爬”是一个创新领域,所以很多定义还是很模糊的。甚至你的公司内部可能都不用“爬虫”和“反爬”这些词,可能是“抓取”和“反抓取”。为了后续的统一,这里就和你一起定义一下它们吧:爬虫:使用任何技术手段,批量获取网站信息的一种方式。关键在于批量。反爬虫:使用任何技术手段,阻止别人批量获取自己网站信息的一种方式。关键也在于批量。误伤:在反爬虫的过程中,**错误地将普通用户识别为爬虫。**误伤率高的反爬虫策略,效果再好也不能用。拦截:**成功地阻止爬虫访问。**这里会有拦截率的概念。原创 2023-04-17 07:49:08 · 1029 阅读 · 0 评论