爬虫解决debbugger之替换文件

发布于:2025-04-16 ⋅ 阅读:(20) ⋅ 点赞:(0)

鼠鼠上次做一个网站的时候,遇到的debbugger问题,是通过打断点然后编辑断点解决的,现在鼠鼠又学会了一个新的技能

首先需要大家下载一个reres的插件,这里最好用谷歌浏览器

先请大家看看案例国家水质自动综合监管平台

这里我们只是供学习专用,一定不要去爬取数据哦!!

首先遇到的问题就是,这里不能右键打开开发者工具,没事我们可以F12,有些可能是FN+F12

点开过后就发现我们这里被打上了debbugger,有一个简单的方法就是打上断点后,编辑断点写表达式就行了,鼠鼠在前几篇文章中写了,这里就不做演示了。

接下来我们用替换文件的方式来解决。所谓的替换文件是什么原理,就是我们的浏览器会接收到发送端发送的数据包,然后再加载渲染在我们自己的浏览器当中,这里渲染之前,会执行这个Publish.js文件,如果我们可以把这个执行的文件不让他执行,是不是就可以不执行debbugger了,很简单替换掉就行了。

第一行用的是贪婪匹配,找到我们要换掉的文件,下方就是要替换的本地文件

1.js的文件样子为

document.oncontextmenu = new Function("event.returnValue=false");
document.onselectstart = new Function("event.returnValue=false");
//window.onkeydown = window.onkeyup = window.onkeypress = function () {
//    window.event.returnValue = false;
//    return false;
//}
for (var i = 1; i < 4; i++)
    console.warn(i + '.水质监测数据仅供本网址查看,禁止非法获取(采集)数据;违者后果自负。');

function consoleOpenCallback() {
    document.body.innerHTML = '';
    alert("水质监测数据仅供本网址查看,禁止非法获取(采集)数据;违者后果自负。");
}

!function () {
    const handler = setInterval(function () {
        const before = new Date();
        const after = new Date();
        const cost = after.getTime() - before.getTime();
        if (cost > 100) {
            consoleOpenCallback();
            //clearInterval(handler)
        }
    }, 1000)
}();

我们把debbugger删掉就好啦,快去试试吧!!