selenium防止反爬机制

问题:打开网页不能正常加载,服务器拒绝访问

第一部分隐藏 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

你可能感兴趣的:(selenium防止反爬机制)