前言
对于使用模拟登陆等操作来爬虫的手段,已经很容易被检测了,网上很多教程是说在网站所有js代码执行之前来执行下面几个js代码来到达效果:
js1 = '''() =>{Object.defineProperties(navigator,{ webdriver:{ get: () => false}})}'''
js2 = '''() => {alert(window.navigator.webdriver)}'''
js3 = '''() => {window.navigator.chrome = {runtime: {}, }; }'''
js4 = '''() =>{Object.defineProperty(navigator, 'languages', {get: () => ['en-US', 'en']});}'''
js5 = '''() =>{Object.defineProperty(navigator, 'plugins', {get: () => [1, 2, 3, 4, 5,6],});}'''
确实修改成功了。这种写法就万无一失了吗?并不是这样的,如果此时你在模拟浏览器中通过点击链接、输入网址进入另一个页面,或者开启新的窗口,你会发现,window.navigator.webdriver这个对象又变成true了,所以这样并非根治。
但是本文,提到的两个设置内容能够有效根治网上的一大堆无效的js注入教程,本文详细讲解,通过如何设置,来达到仿被检测的问题,一次阅读终生受益,再也不为使用模拟登陆被限制的问题而头疼。
你需要的文章下载链接在这里:点击我进行下载

本文探讨了模拟登陆进行爬虫时容易被检测的问题,指出简单的JS注入解决方案并不彻底。文章重点介绍了一种有效防止被检测的设置方法,适用于Selenuim和Pyppeteer,旨在提供长期有效的防检测策略,帮助读者解决因模拟登陆导致的限制问题。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



