科技资讯眺望|你不知道的网络爬虫编程那些事!爬虫与反爬的战争一直在无声发生( 三 )


不过后端搞不定的事情 , 一般都推给前端啊 , 前端从来都是后端搞不定问题时的背锅侠 。多少年来我们都是这么过来的 。 前端工程师这个时候就要勇敢地站出来了:
“都不要得瑟了 , 来比比谁的前端知识牛逼 , 你牛逼我就让你爬 。 ”
我不知道这篇文章的读者里有多少前端工程师 , 我只是想顺便提一下:你们以后将会是更加抢手的人才 。
3、前端工程师的逆袭我们知道 , 一个数据要显示到前端 , 不仅仅是后端输出就完事了 , 前端要做大量的事情 ,比如取到json之后 , 至少要用template转成html吧? 这已经是步骤最少最简单的了 。 然后你总要用css渲染下吧? 这也不是什么难事 。
等等 , 你还记得自己第一次做这个事情的时候的经历吗?真的 , 不是什么难事吗?
有没有经历过 , 一个html标签拼错 , 或者没有闭合 , 导致页面错乱?一个css没弄好 , 导致整个页面都不知道飘到哪去了?
这些事情 , 你是不是很想让别人再经历一次?
这件事情充分说明了:让一个资深的前端工程师来把事情搞复杂一点 , 对方如果配备了资深前端工程师来破解 , 也需要耗费3倍以上的时间 。 毕竟是读别人的代码 , 别人写代码用了一分钟 , 你总是要读两分钟 , 然后骂一分钟吧?这已经算很少的了 。 如果对方没有配备前端工程师 。。。 那么经过一段时间 , 他们会成长为前端工程师 。
之后 , 由于前端工程师的待遇比爬虫工程师稍好一些 , 他们很快会离职做前端 , 既缓解了前端人才缺口 , 又可以让对方缺人 , 重招 。 而他们一般是招后端做爬虫 , 这些人需要再接受一次折磨 , 再次成长为前端工程师 。 这不是很好的事情吗 。
所以 , 如果你手下的爬虫工程师离职率很高 , 请仔细思考下 , 是不是自己的招聘方向有问题 。
那么前端最坑爹的技术是什么呢?前端最坑爹的 , 也是最强大的 , 就是我们的:javascript 。
Javascript有大量的花样可以玩 , 毫不夸张的说 , 一周换一个feature(bug)给对方学习 , 一年不带重样的 。 这个时候你就相当于一个面试官 , 对方要通过你的面试才行 。
举个例子 , Array.prototype里 , 有没有map啊?什么时候有啊?你说你是xx浏览器 , 那你这个应该是有还是应该没有啊?你说这个可以有啊?可是这个真没有啊 。 那[]能不能在string里面获取字符啊?哪个浏览器可以哪个不行啊?咦你为什么支持webkit前缀啊?等等 , 刚刚你还支持怎么现在不支持了啊?你声明的不对啊 。
这些对于前端都是简单的知识 , 已经习以为常了 。 但是对于后端来说简直就是噩梦 。
然而 , 前端人员自己作死 , 研究出了一个东西 , 叫:nodejs 。 基于v8 , 秒杀所有的js运行 。
不过nodejs实现了大量的feature , 都是浏览器不存在的 。 你随随便便访问一些东西(比如你为什么会支持process.exit) , 都会把node坑的好惨好惨 。 而且 。。。 浏览器里的js , 你拉到后台用nodejs跑 , 你是不是想到了什么安全漏洞?这个是不是叫 , 代码与数据混合?如果他在js里跑点恶心的代码 , 浏览器不支持但是node支持怎么办?
还好 , 爬虫工程师还有phantomjs 。 但是 , 你怎么没有定位啊? 哈哈 , 你终于模拟出了定位 , 但是不对啊 , 根据我当前设置的安全策略你现在不应该能定位啊?你是怎么定出来的?连phantomjs的作者自己都维护不下去了 , 你真的愿意继续用吗?
当然了 , 最终 , 所有的反爬虫策略都逃不脱被破解的命运 。 但是这需要时间 , 反爬虫需要做的就是频繁发布 , 拖垮对方 。 如果对方两天可以破解你的系统 , 你就一天一发布 , 那么你就是安全的 。 这个系统甚至可以改名叫做“每天一道反爬题 , 轻轻松松学前端” 。
三、爬虫反爬虫的未来与竞争对手和解之后 , 我们去拜访对方 , 大家坐在了一起 。 之前网上自称妹子的 , 一个个都是五大三粗的汉子 , 这让我们相当绝望 , 在场唯一的一个妹子还是我们自己带过去的(就是上面提到的实习生) , 感觉套路了这么久 , 最终还是被对方套路了 。


推荐阅读