爬蟲--使用selenium時navigator.webdriver被檢測反爬了


可直接看解決辦法3

解決辦法1:

browser = webdriver.Chrome()
url = 'https://login.taobao.com/member/login.jhtml?redirectURL=https://www.taobao.com/'
# url = 'https://mms.pinduoduo.com/login?redirectUrl=https://mms.pinduoduo.com/orders/list'
browser.get(url)
script = 'Object.defineProperties(navigator, {webdriver: {get: () => false,}});' browser.execute_script(script)

此方法可以解決taobao的檢測,但是逃不了pinduoduo的檢查。

解決辦法2:

option = webdriver.ChromeOptions()
option.add_experimental_option('excludeSwitches', ['enable-automation'])
browser = webdriver.Chrome(options=option)
url = 'https://login.taobao.com/member/login.jhtml?redirectURL=https://www.taobao.com/'
# url = 'https://mms.pinduoduo.com/login?redirectUrl=https://mms.pinduoduo.com/orders/list'
browser.get(url)

此方法都兩個網站都通不過,具體原因參考:https://blog.csdn.net/SpringBears/article/details/105596779?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242

文章說是:(我沒有驗證過文章說的原因是否正確)

ChromeDriver 79.0.3945.36到目前的這些版本(如果不是在無頭模式下)就無法通過修改啟動配置來達成我們的目的
要想正常使用,得把把Chrome回滾一個版本,並找到對應的ChromeDriver版本。

解決辦法3:原文:https://www.cnblogs.com/rnckty/p/12879046.html

browser = webdriver.Chrome()
browser.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", { "source": """ Object.defineProperty(navigator, 'webdriver', { get: () => false }) """ })
url = 'https://login.taobao.com/member/login.jhtml?redirectURL=https://www.taobao.com/'
# url = 'https://mms.pinduoduo.com/login?redirectUrl=https://mms.pinduoduo.com/orders/list'
browser.get(url)

這種方式可解決兩個網站的webdriver檢測反爬

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM