某条逆向2
本来不应该出现某条逆向2的(谁让这某条三天两头的更新,唉,说多了都是泪),可谁知大早上起来一看,这某条加密变了—,吓得我的小心脏一阵乱颤,赶紧撸出我之前的代码,撸一撸还有没有用。还好还好,
列表页的加密还是可以用的,哈哈。可是文章详情页面就没那么友好了,此处省略一万个cnm。
好吧,接下来谈谈详情页怎么抓吧。。。(本文只做简单讲解,不做细究,因为我实在不想复盘一遍。。。)
首先随便找个新闻页面打开->如图1:
图1
请求该页面,如果只是加了ua,此处只能抱歉了您嘞,因为他还要cookie。那测试一下,这个cookie怎么来的?嗯。。。经过简单的测试,发现访问只需要两个值,一个是__ac_nonce,一个是__ac_signature。其中__ac_nonce比较好拿到,将第一次请求获取到的cookie拿下来就好了。但是这个__ac_signature就比较db了,接下来请看图2
图2
看图中圈出来的,很明显了吧。就是要用到第一次请求得到的cookie来获取__ac_signature。看到这里,机智的我赶紧试了试列表页加密代码,看看能不能跑出这个结果。果然。。。人不能太机智。。。行吧,你厉害!
接下来,就和他硬刚吧。我这里是把他的代码考到了本地来进行调试的(可能是我太笨,这个生成__ac_signature的这个断点,我始终断不到。。。唉)。接下来就是无聊的调试了,调试的时候,你也就发现头条的acrawler.js这个文件的变化了,此次变化相较于之前,检测的东西变多了,包括浏览器的存储啊,请求啊什么的。总之,解决方法还是一样,就是补环境呗。不过这里提醒一下,此次的更新,某条会直接对global进行检测,所以记得要将检测点的函数的某些值进行替换。(目前我的解决办法有两个,一种是利用浏览器来生成__ac_signature, 还有一种直接就是js解密生成__ac_signature,对于不太懂的,建议先使用第一种方案,第一种调通了,再来尝试第二种方案)
好了,就说到这吧。后面附带一下请求到的内容->如图3
图3
有不了解的,或者想要技术讨论的,欢迎私信。
也欢迎大家关注我的公众号:爬虫逆向与数据分析