文章插图
认真观察后发现,每点击页面的的链接,它都会做一个“cl.gif”的请求,它看上去是下载一个gif图片,然而并不是 。它请求时发送的参数非常多,而且这些参数都是当前页面的信息 。比如包含了被点击的链接等等 。
我们先来梳理一下它的逻辑 。JS会响应链接被点击的事件,在打开链接前,先访问cl.gif,把当前的信息发送给服务器,然后再打开被点击的链接 。服务器收到被点击链接的请求,会看看之前是不是已经通过cl.gif把对应信息发过来,如果发过来了就认为是合法的浏览器访问,给出正常的网页内容 。
因为requests没有鼠标事件响应就没有访问cl.gif的过程就直接访问链接,服务器就拒绝服务 。
明白了这个过程,我们不难拿出对策,几乎不需要研究JS内容(JS也有可能对被点击链接进行修改哦)就可以绕过这个反爬策略,无非是在访问链接前先访问一下cl.gif即可 。关键是要研究cl.gif后的参数,把这些参数都带上就万事大吉啦 。
结尾
爬虫和网站是一对冤家,相克相生 。爬虫知道了反爬策略就可以做成响应的反-反爬策略;网站知道了爬虫的反-反爬策略就可以做一个“反-反-反爬”策略……道高一尺魔高一丈,两者的斗争也不会结束 。
【JS逆向方法论-反爬虫的四种常见方式】
推荐阅读
- 站姿也可反映出你的心理活动
- 奶粉空罐 罐装奶粉的罐可以反复使用吗
- 格子双面绒大衣搭配 反季清仓羊毛大衣靠谱吗
- 空调遥控器按了没反应是不是电池没电了,空调遥控器没反应要换电池吗
- |顿口提竿有鱼,黑漂相反没鱼,你们知道为什么吗?
- 地暖进回水接反影响正常取暖吗,地暖进水40度回水30度正常吗
- 系统架构-五视图方法论
- 家里有甲醛身体会有什么反应,怎么判断家里有甲醛
- 汽车保养后油耗反而增高,是什么原因所导致?
- 开放世界|女研究生被带教老师PUA致死?如何识别和反击职场霸凌?