你好,我是DS Hunter。

恭喜你和我一起走完了这一趟反爬虫的旅程。这是我们的最后一节课了,在这节课里,我想和你一起分担一下“反爬虫”这条路的艰辛。

不知道你有没有玩过“魔兽争霸”这个游戏,我们先从游戏里的一句话开始吧。

“Nothing shall prevent me from having my revenge, old friend. Not even you. Now, I call out to the spirits of this place. I will give anything, or pay any price, if only you will help me save my people.”
 
 

—— Arthas 拾取“霜之哀伤”时的台词

大学期间,我第一次玩war 3的时候,就被这段台词震撼了。当时我内心的感觉就是,以后一定要成为一个阿尔萨斯一样的人,为了我们的人民,不惜付出一切代价,赴汤蹈火在所不辞。

结果我遭遇了人生中最快的打脸:五分钟后,下一关的剧情开始了。后来的事情大家都知道了,最终他登上了冰封王座,说出了那句知名的:

“Now,we are one!”

说回到现实,“5·12”地震那年,大家都在外面打地铺。我和同学在外面走着,忽然就停了下来。同学问我怎么了,我说有一种子民在受苦的感觉。

同学哈哈大笑说,咱都要毕业了,现实一点好吗,不要再这么中二下去了。

后来,工作中,我遭遇了爬虫。

我和同事使用了大量的高阶技术手段,最终于事无补。直到后来,我们开始和对方玩各种套路、各种坑蒙拐骗的手段。出乎意料的是,效果出奇的好。那个时候的感觉,就像是拿到了“霜之哀伤”一样。

但是很快,我们就反应过来,感觉不对劲了。在一切的“保密”只有我们自己知道的情况下,我们发现,我们不仅可以忽悠竞对,也可以很容易地忽悠自己的老板,欺骗自己的同事和公司。而这个时候,我们已经被竞对的压力压得快喘不过气来了。另一方面,公司又给了我们其他人垂涎欲滴的资源,我们在业务的核心,被众多人关注(当然,也会面对别人的质疑)。这个时候,我们完全可以用自己已经纯熟的欺骗技巧,拿尽所有的好处。

万幸的是,我们和竞对的合并速度非常快。后续我们不再继续打竞对,而是打一些游兵散将。我们之前也提到过,游兵散将没什么可“随机放过”的,直接全封就行,根本不用搞任何套路。而我们也终于回归到了“好人”的路径上来。

故事到这里就结束了。可是我想问问你,如果“收购竞对”这个事情发生得慢一点呢?如果这个故事的主人公不仅是我,还有正在看这节课的你,我们还能保持初心不忘使命吗?沉重的KPI压下来,我们会不会这样思考呢:就稍稍欺骗一点点,老板会理解我们的……

在“反爬虫”这条路上,除了“保持初心”并没有想象得那么简单以外,你也没办法保证遇到的人都是,或者说大部分是真的翩翩君子。

这个世界有两种伪君子。

一种是没有经历过事情,所以处处喊着道德。这种人的建议,你听听就行了,毕竟都是纸上谈兵。还有一种是经历过所有的事情,最终发现还是道德绑架好用,所以虽然干着龌龊的事情,但依然处处喊着道德。这种人你一定要小心。

面对这两种困难,我又是比较幸运的。

在反爬虫这条路上,我和你一样,也经历了很多。说得不那么自谦一点,也算是跨过了山河大海、堕入过黑暗、想挣扎又无法自拔过了。当然,最后还是离开了这个行业,走上了平凡之路。至于后续,也有过多次再做反爬的机会,但是都被我拒绝了。因为我知道,再走一次,也许就不是平凡之路,而是“诅咒之路”了。

你可能会问,为什么这么幸运?这样的幸运需要什么样的buff加持吗?

你可以回想一下,整个课程里我们反复强调的只有两句话。其中的一句是:要低调。这个你一定很容易理解。

另一句话就是:反爬,是一个腐蚀人心智的行业。

人性是脆弱的,千万不要考验人性,包括考验自己的人性。我们总是自以为能够经受得住考验,而在第20讲结束的时候又都会说:哪个干部经受得起这种考验啊。

我们的整个课程都结束了,也许你会觉得,有些课程讲得好好玩啊,像第13讲一样,吃着小龙虾的时候,下一个双月规划就已经有了,非常搞笑。

但是请记住,喜剧的内核,其实是悲剧。每一个有趣的知识点,背后都有一段痛苦不堪的回忆。因此,你要面临的,绝对不是一个“好玩的任务”。

所以,在你接受爬虫或者反爬这个任务的时候,“霜之哀伤”就已经摆在你面前了。你可以选择拔出它,用它大杀四方,然后任由自己被腐蚀,成为公司的罪人。也可以选择忍痛不用,然后用自己最原始的办法,慢慢找解决方案,然后因为没有完成KPI,最终还是成为了公司的罪人。

想成为一个幸存者,大概只有两个方法了。第一种,如果十分幸运,“霜之哀伤”还没来得及腐蚀你,你就离开了这个行业,那么你就会成为像我一样的幸存者。又或者,你也可以像第20讲里我们说得那样,做出足够明确的规划,着迷又清醒,投入又远离。

这,就是这个行业的宿命。

但是,这是否意味着,我们要放弃这个行业呢?

当然不能。

因为这个世界,总是需要“罪人”。这种“罪人”,我们往往又称之为“英雄”,因为他们承受的更多,失去的也可能更多。

当我们年迈的时候,和一堆程序员朋友在一起喝酒聊天吹牛的时候,有的朋友说,我写了一辈子CRUD,一直写到XX岁写不动为止;有的朋友说,我切了半辈子图,又写了半辈子MVVM,直到干不动为止;又有的朋友说,我每天盯着服务器,直到视力下降干不动了;有人说我调了一辈子参数,总是没完没了。

这个时候,你自豪地站起来:我在公司最危难的时候,面对敌人的挑衅,面对同事的质疑,排除万难,敢于亮剑,最终拯救了公司,甚至整个行业。

这不刺激吗?这不荣耀吗?这不比抓了一辈子狮王休玛有意义多了!

相比之下,之前的困难又算得了什么呢?

这也正是我开设这门课程的初衷。这门课,很可能是你反爬入门的第一课。但是我希望它能指引你,知道困难在哪里,依然勇敢地冲向前方。

因为,这个世界需要更多的英雄。

反爬这个行业,比较特殊。最开始的我们可能是误入了险境,也可能是带着一颗英雄的心大踏步地闯了进来。那么我这里能告诉你的就是:

我们唯一能做的,就是保持自己的正义之心,毕竟这是你入行(不仅包括反爬)的初衷。无论遇到多么艰难困苦的事情,都不要违背自己的正义之心,不要总想着“稍作变通”,通过欺骗盟友来稳固自己的位置。绝对不要。
 

——来自一个站着说话也腰疼的前辈,给予你的最后的劝导

反爬是一个腐蚀人心智的事情。我们要时刻保持初心,即使损失自己,也不要让他腐蚀。就像一首歌说的一样,虽然“达到理想不太易”,但是依然要以“自信打不死的心态活到老”。

也许这样不够现实,也许这样有些中二。

但是,这是我们的初心,我们的使命,也是我们最终的信条。