三月它带走了爱我的人!往后只聊技术与人生

前言

在这个江湖
除了黑与白的攻防
还有爬与反爬之间的对决

  转眼已是四月,时间总是在不知觉中悄悄流逝,面对已经过去的三月,含泪说一声再见。最近很长一段时间没有更新任何动态,泪咽却无声!三月它带走了很多东西,它也带走了最爱我的人。讲实话最近心里总是充满着失落、无力感,没有心思做任何事情。有时感叹意外为何总是来的这么突然、那么毫无征兆!既然三月的风没有吹散雾霾,那么就让四月的阳光洒满大地吧…

1. 感谢有你

  其实这一篇文章在3月下旬就应该完成发布出来的,当时主要也是想写一写逆向相关领域的一些东西,依稀记得那天下午我写到结尾的时候,接到了一个让我为之一颤的电话,这个恶耗打破了我宁静的生活,瞬间让我的大脑一片空白!立马从北京赶回到了我的家乡湖南,直到最近才慢慢处理好忙碌的事务。那晚,我记得我在深夜发了一条Blink,直到今天上来看才发现很多朋友给我的评论留言。看到你们字语中的鼓励,在这个春天里,没有什么能比这些更暖了!谢谢
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. 爬虫逆向那点事

  在爬虫这个领域内,现在很多招爬虫职位的企业招聘要求上多少都会带上点逆向的东西,其实企业它招一个爬虫工程师进去了也并是一定要强制让你用逆向大法去解决某个网站的反爬机制!还有就是爬虫这个职业不掌握逆向相关的技术栈它就无法在这个行业立足或者说在这个行业找到一份合适的工作了吗?答案肯定是否定的!但是,拥有逆向能力及经验的爬虫工程师在这个领域所拥有的核心竞争力还是很强的
逆向
  其实我们都知道爬虫入门是一个非常低门槛的事!早个几年如果会用Selenium或者能处理一个滑动验证码那都是算强的了!那个时候一名爬虫工程师从入门到上岗我见过很多自学两三个月到找到工作的。依稀记得当年在这个圈子里,几个志同道合的老友聚在一起经常会讨论一些关于滑动验证码、吐槽一下某某站BT的反爬机制等相关的一些话题。可是慢慢随着时代的进步、科技的发展,数据还是那些数据,站还是那个站,但是在这个坑里的人头发肉眼可见的日渐稀少

  不知道大家有没有看过一些修仙类的小说。爬虫这个职业就好比那些修仙类小说里的段位划分一样
等级划分
现在很多企业它们招爬虫这个职位的目的是到底是干嘛呢?当然也许可能也会是某个老板心血来潮想让HR帮他找一个能给他爬电影、妹子图片看的爬虫工程师,越是利益所在的地方,就越是布满了爬虫​!这十年爬虫行业造就了无数个新秀企业,我早前在网站看到一个这样的例子前有这么一个团队他们希望通过商品信息的不对称性,做中间贸易。先后向多个电商平台放出大量爬虫,主要获取一些热销的产品、价格变化、评价等信息。最后做投放,期间不断对爬虫进行优化、迭代以及标签属性化,现已是知名跨境DS服务品牌。所以爬虫可以很直观的让我们看到企业在商业环境中,数据的威力!它无论是在舆情、采购、销售、市场、供应链、客户分析…都发挥了很大的作用!

  当然,只有爬虫还是远远不够的,爬虫只是一个工具,而企业需要的是一个体系,这个体系包含了数据获取、数据清洗与治理、数据分析、数据应用、监控和安全、算法优化、规则调优等等一系列的工作…

  爬虫这个职业个人来讲的话,它的综合知识体系涉猎还是相对比较广的。一个优秀的爬虫开发人员手里握着一张布满技术栈的大网,这张网它包括但不限于:网络、语言基础、前后端知识、网络安全、数分、数挖以及逆向工程…

  正所谓爬虫入门简单!市面上关于爬虫领域的质量慢慢正在变低。很多所谓的说起来很高级的“爬虫工程师”解决一些Ajax加载的网站,想都不会想直接都是拿着自动化测试工具配合IP池一顿狂怼。还有一些套路可能都知道!比如JS断点调试、某个参数全局Control+F、可以快速的让给我们找到解决方法及思路,对于新手进阶也是一种进步,但是对于高级一些的工程师或者有经验的爬虫人员来讲就显得有些鸡肋了
相视一笑
  在这个爬虫盛行的时代中为了有足够的能力可与之抗衡,网站方不得不采取任何可行的手段用以防止一切非人为操作篼集数据行为的工作,而在此时,加密、混淆便顺势成了一时之间热门的话题。有时候我个人也在各个平台、站点搜一些爬虫JS、APP逆向相关的视频及资料。发现很多不同的视频、资料都是围绕某一个知识点来炒剩饭!甚至还有一些培训JG甚至拿着网上一些透明的东西来水课程。一些所谓做自媒体的公号各种搬运、互推、引流、出一些所谓的课程,然后就是收收萌新的智商税…不是我吐槽,很多2~3年的爬虫工程师简历上写着熟悉这个、那个…真正到了说说底层实现原理、利弊、应用场景…深究一下基本就…

  不管是现在还是未来WEB、APP应用只会越来越安全,反之企业招聘的要求也会越来越高。我们爬虫工程师对于逆向技术的认知与掌握那是趋势也将是必然的。只有这样,我们在自己的同行领域内拥有核心的竞争力。而企业它们在招人对这一点的要求也间接的能过滤掉很大一部分人。随着开源的爬虫平台跟一些优秀的工具浮现出市场如果企业招人大部分还是不再像以前单纯的只是写写parse

  而在反爬虫中,当前很多有价值、高访问的网站都会采用JavaScript来做反爬,问为什么?因为它靠谱!

  当然,可以模拟JavaScript,抓取动态网页,这只是一个很简单的功能。因为,如果对方没有反爬虫,你完全可以直接抓ajax本身, 而无需关心js怎么处理的。如果对方有反爬虫,那么javascript必然十分复杂,重点在于分析, 而不仅仅是简单的模拟!这只是基反爬的基本功,像JS反爬中一些经常让你掉头发的操作:

    eval----臭名昭著、效率低下、可读性糟糕
    goto----js支持很糟糕、需单独实现
    混淆----目前的minify工具通常是minify成abcd之类简单的名字,有时候对方minify成阿拉伯语!因为阿拉伯语有时从左向右写,有的时候是从右向左写,还有的时候是从下向上写。除非爬虫方雇个阿拉伯程序员, 否则非头疼死不可!
    蜜罐数据----通过更改地址,让爬虫采集到错误数据!但是只要爬虫开发人员针对性的来扫,还是十分容易被检测出来的

  做爬虫就注定着要走上反反爬的这条道路,在我们职业生涯中走过最长的路,就是反爬的套路。之前我碰到一个网站,它是一个国外的航空网站vietjetair这个网站的Cookies是动态加密的,按照一贯基本的套路使用全局搜索大法、再通过Mouse断点调试大法…均无法正确命中断点,换句话说,就是根本无法找到入口。因为这个网站当我们输入起始地-目的地点击搜索跳转的同时已经将加密的那部分代码移除掉了!这个时候我怎么知道Cookies里面的参数加密是如何实现的?要说大海捞针倒还有一丝希望,可是这个针它不在大海里!
掀桌子

任何调试方法都不是万能的!它仅仅只是一种处理方式,在很多时候,我们可能会为一个参数、一个加密费劲心机去找寻一个入口。这个过程可能需要花费大量的时间去调试、失败、调试、再失败、再调试,这个过程会怀疑人生

  做技术嘛!尤其是反爬技术,很多时候难免会触及我们的知识盲区。俗话说得好:大路不通绕小路、小路不通淌水路、条条大路通罗马。如今发达的网络资源它总能让我们在绝望中寻求到一丝契机。

  如上问题!对于Cookies做了手脚的这类操作我们可以使用自定义钩子函数来监听Cookie接口信息的收发、结合Chrome extension实现信息中断与拦截机制。实现方式还是非常简单的

var code = function(){

var org = document.cookie.__lookupSetter__('cookie');

document.__defineSetter__("cookie",function(cookie){

if(cookie.indexOf('关键参数')>-1){

debugger;

}

org = cookie;

});

document.__defineGetter__("cookie",function(){return org;});

}

var script = document.createElement('script');

script.textContent = '(' + code + ')()';

(document.head||document.documentElement).appendChild(script);

script.parentNode.removeChild(script);

代码中关键参数正是所被加密的参数当拦截发现到该参数则会直接拦截中断。当然我们的钩子函数编写完以后还需要一个文件用来声明Chrome extension

{

"content_scripts": [ {

"js": [ "inject.js"],

"matches": [ "http://*/*", "https://*/*","<all_urls>"]

} ],

"manifest_version": 2,

"name": "CookieHook",

"permissions": ["tabs"],

"version": "0.1"

}

最后将两个文件统一放到一个文件夹,进入到Chrome扩展程序中将写好的钩子函数文件添加到进去

启用这个扩展插件进而可以帮助你捕获到你想要捕获的加密数据以及快速寻找切入口。

反反爬这条路你确定要一条道走到黑吗?

致谢

好了,到这里又到了跟大家说再见的时候了。我只是一个会写爬虫的段子手而已,一个希望有朝一日能够实现财富自由,能够早日荣归故里的游子罢了。希望我的文章能带给您知识,带给您帮助,带给您欢笑!同时也谢谢您能抽出宝贵的时间阅读,创作不易,如果您喜欢的话,点个赞再走吧。您的支持是我创作的动力,希望今后能带给大家更多优质的文章

发布了15 篇原创文章 · 获赞 1594 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/qiulin_wu/article/details/105068944