问题:打开网页不能正常加载,服务器拒绝访问
第一部分隐藏 window.navigator.webdriver (能够正常展示网页,但selenium后续的操作依然会被识别)
···
chrome_options = Options()
chrome_options.add_argument(
'user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/86.0.4240.75 Safari/537.36')
chrome_options.add_argument("--disable-blink-features=AutomationControlled")
chrome_options.add_experimental_option('excludeSwitches', ['enable-automation'])
self.driver = webdriver.Chrome(options=chrome_options)
with open('stealth.min.js') as f:
js = f.read()
self.driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
"source": js
})
···
stealth.min.js文件获取 请自行关注大佬公众号获取: 未闻Code 回复关键字:stealth
如果第一步完成后能正确使用可忽略第二部
第二部分修改chromedriver关键字
我们可以用16进制编辑器将chromedriver.exe打开,查找var key= '$cdc_asdjflasutopfhvcZLmcfl_ ',将引号中的字符替换成任意字符即可
我们在Linux中安装hexedit:
···
yum install hexedit
···
安装完成后,运行命令,将chromedriver.exe用16进制打开
···
hexedit chromedriver.exe
···
通过Tab键将光标定位到右侧栏,按Ctrl+S进行查找'$cdc_asdjflasutopfhvcZLmcfl_ '然后直接输入替换原有字符后替换完成按Ctrl+W保存,Ctrl+X退出。
然后就可以完美避开反爬机制了
参考文案:https://mp.weixin.qq.com/s/XOXb_XvsHqgv0MUICahjJw
https://blog.csdn.net/MICHAELKING1/article/details/108322795