最近在学习爬虫,偶然间遇到一些有反爬的,譬如F12给你禁用了(你可以右键检查打开,你也可以ctrl+shift+i快捷键打开,不行就再尝试三个小点点,在里面找到开发者工具,图放在下面啦),当然,这里的重心就放在到浏览器内部修改对应js代码上。

大致分为如下三点

  1. 在外部打开调试工具,勾上script、control、load;逐步调试
  2. 一步步debug,捕捉到相对应的函数,对其进行重写(在浏览器内可以override js文件的,不会的话可以在网上找一找,慢慢来,总能学会的)
  3. 最后重新加载就看到胜利啦

这里以爱企查为例,来学习一下这个过程。

先在外部搜爱企查,然后打开调试工具(之所以这么做是因为在进去后一旦打开调试工具,它都会重定向到一个新页面,提示你不要使用调试者工具,嘿嘿嘿,我们只是好奇一下它是怎么实现的)

点击Sources,勾选图中✔的内容,这里勾上这些是为了监听事件的发生,以便我们更好的定位和捕捉相应的函数(譬如他在哪一步跳转的,第一次可能要多实践几次,加油宝子)

勾选好进入页面,你就需要一次次点下一步,

重写方法如下

来到override这里要新建一个文件夹,用于存放更改后的文件,这里更改的是js,故存放的是js文件。我这里是直接在桌面新建一个override文件夹。

此时浏览器上方会出现权限许可通知,点击允许即可

再重复刚刚重写那一步骤,可以发现override文件夹下多了该文件,我们在这里面修改代码即可,注意写完保存!!!

                var t = {
                    md5: "65878341e691a6ec",
                    disableMenu: !1,
                    tkName: "dtk",
                    rewriteHTML: "<h3>请关闭浏览器的调试窗口再访问页面!</h3>",
                    clearIntervalWhenDevOpenTrigger: !0,
                    ondevtoolopen: function(t, e) {
                        e(),
                        setTimeout((function() {
                            window.location.href = "about:blank"
                        }
                        ), 3e3)
                    },
                    ignore: function(t) {
                        return "open" === localStorage.getItem("devtool") || location.search.includes("qf=monster") || navigator.userAgent.includes("QQBrowser") || [/localhost/, /172\./, /127\.0\.0\.1/].some((function(t) {
                            return location.hostname.match(t)
                        }
                        ))
                    }
                };
                s()(t)

把上面这一段改成`return none`,即可,保存=》在打开F12的情况下重新加载,你就可以真的真的成功啦,给自己一阵掌声!👏👏👏

如果有还没成功的宝子,点击一下回退,可能覆盖的优先级不高的缘故。掌声跟脚声都送给哇塞的自己!👏👏👏

我是维派维酱,很高兴认识你,感恩!