事情发生在周末下午。我想抢一张热门演唱会的票。提前半小时就打开电脑,运行自己写的Python脚本。屏幕上一行行代码跳得飞快,我心里还挺踏实。同事老张也在抢同一场,他说他也写了脚本。我心想,我好歹本科搞过数据爬虫,怎么能输给他。
然后我就卡住了。脚本停在验证码那一步,怎么都过不去。那个滑块验证码像个倔驴,我手动去拖都拖不动。页面提示“请重试”,一遍又一遍。我的键盘都快要被我敲烂了。明明网络没问题,明明代码逻辑也查了三遍,为什么验证码就是不认我?
我盯着屏幕看了两分钟,额头冒汗。老张在工位另一头发来消息:“抢到了,你呢?”我回了个苦笑的表情。他补了一句:“我用了另一个库,专门处理滑块验证码的。”我顿时有点懵。说实话,我之前根本不知道还有这种库。我整天在CSDN上抄代码,看视频教程,觉得自己挺厉害。但遇到真问题就傻了,连查资料的方向都不知道。
后来我想了想。不是代码写得不够漂亮,是我从来没认真看过那些库的文档。平时写脚本就用最基本的requests和selenium,遇到验证码就手动过。但抢票这种场景,一秒之差就什么都没了。老张那种人,会花一个周末去读人家的源码,会自己去试不同的参数组合。我只会复制粘贴,改个爬取间隔就算完成了。
同样的Python版本,同样的网络环境,结果差了十万八千里。 技术这碗饭,吃得不深就是不行。我这次输在自己的惰性上。验证码挡不住真正懂的人,只挡住以为自己懂的人。以后想抢到什么好东西,先老老实实把图书馆的书翻烂再说。
晚上十二点,我躺在床上了还在想。那把票对我来说没那么重要,但那个卡住的验证码,它让我看见自己差在哪里。那种感觉,比没抢到票还难受。但这大概就是普通人和高手的差距吧。没什么好抱怨的,自己去补就是了。