好的,所以我正在为这个网站制作一个机器人来自动创建帐户。我正在使用旋转ipv4代理和其他一些反检测的东西,但每次仍然被检测到。有什么想法吗?
以下是我初始化驱动程序的方式以及我使用的选项。
proxy = random.choice(proxys)
ua = UserAgent()
userAgent = ua.random
def main():
options = webdriver.ChromeOptions()
options.add_argument(r'--user-data-dir=my chrome user data directory here')
options.add_argument(f'--proxy-server={proxy}')
options.add_argument("start-maximized")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
options.add_argument(f'user-agent={userAgent}')
driver = uc.Chrome(service=Service(ChromeDriverManager(cache_valid_range=30).install()),options=options)
driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})")
print(driver.execute_script("return navigator.userAgent;"))
sleep(1)
while True:
create_account(driver, catchall)
我也尝试过chrome配置文件,但我无法充分利用这些配置文件,并且想知道如何以某种方式实现这些配置文件。因为在网站检测到我是机器人之后,我使用的chrome配置文件似乎不再有效。
几乎不管发生什么,我每次都被网站屏蔽。尽管有时在我做了一些随机的改变后,它确实发生了。但是我希望现在一切都正常,因为他们能检测到的几乎所有东西都在被改变。
为了使Python硒几乎无法检测到,你最好的选择是使用硒隐形:
>
代码块:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
from selenium_stealth import stealth
import time
options = Options()
options.add_argument("start-maximized")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
s = Service('C:\\BrowserDrivers\\chromedriver.exe')
driver = webdriver.Chrome(service=s, options=options)
# Selenium Stealth settings
stealth(driver,
languages=["en-US", "en"],
vendor="Google Inc.",
platform="Win32",
webgl_vendor="Intel Inc.",
renderer="Intel Iris OpenGL Engine",
fix_hairline=True,
)
driver.get("https://bot.sannysoft.com")
time.sleep(5)
driver.save_screenshot("sannysoft.png")
driver.quit()
截图:
您可以在以下链接中找到一些相关的详细讨论: