JS逆向方法论-反爬虫的四种常见方式( 二 )


JS逆向方法论-反爬虫的四种常见方式

文章插图
 
认真观察后发现,每点击页面的的链接,它都会做一个“cl.gif”的请求,它看上去是下载一个gif图片,然而并不是 。它请求时发送的参数非常多,而且这些参数都是当前页面的信息 。比如包含了被点击的链接等等 。
我们先来梳理一下它的逻辑 。JS会响应链接被点击的事件,在打开链接前,先访问cl.gif,把当前的信息发送给服务器,然后再打开被点击的链接 。服务器收到被点击链接的请求,会看看之前是不是已经通过cl.gif把对应信息发过来,如果发过来了就认为是合法的浏览器访问,给出正常的网页内容 。
因为requests没有鼠标事件响应就没有访问cl.gif的过程就直接访问链接,服务器就拒绝服务 。
明白了这个过程,我们不难拿出对策,几乎不需要研究JS内容(JS也有可能对被点击链接进行修改哦)就可以绕过这个反爬策略,无非是在访问链接前先访问一下cl.gif即可 。关键是要研究cl.gif后的参数,把这些参数都带上就万事大吉啦 。
 
结尾
爬虫和网站是一对冤家,相克相生 。爬虫知道了反爬策略就可以做成响应的反-反爬策略;网站知道了爬虫的反-反爬策略就可以做一个“反-反-反爬”策略……道高一尺魔高一丈,两者的斗争也不会结束 。

【JS逆向方法论-反爬虫的四种常见方式】


推荐阅读