
Selenium Chrome 向けのステルス層。ブラウザのフィンガープリントと自動化シグナルを変更して、ボット検出を回避し reCAPTCHA v3 スコアを維持します。
検出を防ぐためのPythonパッケージ selenium-stealth です。このプログラムはPythonのseleniumをよりステルスにしようとしています。
現在のところ、selenium-stealth は Selenium Chrome/Chromium のみをサポートしています。
selenium-stealthを使えば、ほとんどすべてのselenium検出を防ぐことができます。Stack OverflowにはSeleniumの検出を防ぐ方法に関するガイドはたくさんありますが、そのためのPythonパッケージは一つも見つからなかったので、自分で作ることにしました。結局、猫たちに勝たせるわけにはいきませんからね。 これは、@berstend によって開発された JavaScript の puppeteer-extra-plugin-stealth の再実装と見なすことができます。
現在 selenium-stealth が提供できる機能:
✅️ selenium-stealth はステルス機能により、すべての公開ボットテストに合格します。
✅️ selenium-stealth を使うと、seleniumでGoogleアカウントへのログインができます。
✅️ selenium-stealth は通常のreCAPTCHA v3スコアの維持に役立ちます。
このパッケージが役立つと感じ、継続的な開発を支援したい場合は、こちらから寄付できます。ご支援ありがとうございます。
Selenium-stealth は PyPI で利用可能で、pip でインストールできます。
$ pip install selenium-stealth
from selenium import webdriver
from selenium_stealth import stealth
import time
options = webdriver.ChromeOptions()
options.add_argument("start-maximized")
# options.add_argument("--headless")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
driver = webdriver.Chrome(options=options, executable_path=r"C:\Users\DIPRAJ\Programming\adclick_bot\chromedriver.exe")
stealth(driver,
languages=["en-US", "en"],
vendor="Google Inc.",
platform="Win32",
webgl_vendor="Intel Inc.",
renderer="Intel Iris OpenGL Engine",
fix_hairline=True,
)
url = "https://bot.sannysoft.com/"
driver.get(url)
time.sleep(5)
driver.quit()
stealth(
driver: Driver,
user_agent: str = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.53 Safari/537.36',
languages: [str] = ["en-US", "en"],
vendor: str = "Google Inc.",
platform: str = "Win32",
webgl_vendor: str = "Intel Inc.",
renderer: str = "Intel Iris OpenGL Engine",
fix_hairline: bool = False,
run_on_insecure_origins: bool = False,
)
headless |
headful |
headless |
headful |
Copyright © 2020, diprajpatra. MITライセンスの下で公開されています。