關閉

                  Selenium爬蟲:一行代碼去掉所有webdriver痕跡

                  發表于:2021-9-08 09:37

                  字體: | 上一篇 | 下一篇 | 我要投稿

                   作者:&天行健    來源:CSDN

                    解決方案邏輯上很簡單,就是selenium額外加了什么我們去除掉什么。
                    我們先上沒有去掉webdriver的selenium代碼,訪問:https://bot.sannysoft.com/
                    from selenium import webdriver
                     
                    chrome_options = webdriver.ChromeOptions()
                    chrome_options.add_experimental_option(
                        "excludeSwitches", ["enable-automation"])
                    chrome_options.add_experimental_option('useAutomationExtension', False)
                    chrome_options.add_argument('lang=zh-CN,zh,zh-TW,en-US,en')
                    chrome_options.add_argument(
                        'user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36')
                    driver = webdriver.Chrome(
                        "./chromedriver", chrome_options=chrome_options)
                    driver.get("https://bot.sannysoft.com/")
                     
                    測試結果截圖:
                    我們可以看到,webdriver被檢測出來了,也就是說服務器知道你使用了selenium訪問其網站。
                    我們上去掉webdriver的代碼的selenium代碼:
                    from selenium import webdriver
                     
                    chrome_options = webdriver.ChromeOptions()
                    chrome_options.add_experimental_option(
                        "excludeSwitches", ["enable-automation"])
                    chrome_options.add_experimental_option('useAutomationExtension', False)
                    chrome_options.add_argument('lang=zh-CN,zh,zh-TW,en-US,en')
                    chrome_options.add_argument(
                        'user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36')
                    chrome_options.add_argument("disable-blink-features=AutomationControlled")#就是這一行告訴chrome去掉了webdriver痕跡
                    driver = webdriver.Chrome(
                        "./chromedriver", chrome_options=chrome_options)
                    driver.get("https://bot.sannysoft.com/")
                     
                    測試結果截圖:
                    我們可以看到通過在chrome啟動的時候加一個disable-blink-features=AutomationControlled的flag就可以實現降維打擊,移除掉webdriver的痕跡,媽媽再也不用擔心你加班了……
                    如果你們認為做到以上:關閉webrtc、設置瀏覽器時區和地理位置、去掉webdriver就高枕無憂了嗎?
                    No,這還不夠,服務器還能揪出你,你只能給老板發送以下短信。

                    本文內容不用于商業目的,如涉及知識產權問題,請權利人聯系51Testing小編(021-64471599-8017),我們將立即處理
                  《2023軟件測試行業現狀調查報告》獨家發布~

                  關注51Testing

                  聯系我們

                  快捷面板 站點地圖 聯系我們 廣告服務 關于我們 站長統計 發展歷程

                  法律顧問:上海蘭迪律師事務所 項棋律師
                  版權所有 上海博為峰軟件技術股份有限公司 Copyright©51testing.com 2003-2024
                  投訴及意見反饋:webmaster@51testing.com; 業務聯系:service@51testing.com 021-64471599-8017

                  滬ICP備05003035號

                  滬公網安備 31010102002173號

                  亚洲欧洲自拍图片专区123_久久久精品人妻无码专区不卡_青青精品视频国产色天使_A免看的日黄亚洲