如何修复 TikTok selenium 机器人检测
背景信息
我正在创建一个 python selenium 机器人来在 TikTok 网站上执行操作。用户将手动登录,因此网站检测鼠标移动和打字速度无关紧要。问题是,我在使用 selenium 时无法登录
我尝试过的
我已经尝试在 chrome 上使用相同的 Mac 地址、IP 地址和相同的登录详细信息以隐身模式在没有 selenium 的情况下正常登录(有效!!)
我试过在 selenium 中使用随机用户代理(没有用)
我已经尝试添加以下 chrome 选项
options.add_argument("start-maximized")
# Chrome is controlled by automated test software
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
# avoiding detection
options.add_argument('--disable-blink-features=AutomationControlled')
我想要什么
我希望能够在没有 TikTok 提示 Too many log-in attempts 的情况下登录。稍后再试
,为了更清楚,我可以在没有 selenium 的情况下正常登录,一切都一样,它可以正常工作,只是在 selenium 中不起作用。
这是启动selenium的代码
post = "https://www.tiktok.com/@smoothmovesranch/video/7091224442243681579"
myProxy = ""
#configuration
options = Options()
prox = Proxy()
prox.proxy_type = ProxyType.MANUAL
prox.http_proxy = myProxy
prox.ssl_proxy = myProxy
capabilities = webdriver.DesiredCapabilities.CHROME
prox.add_to_capabilities(capabilities)
options.add_argument("window-size=1400,600")
options.add_argument("--incognito")
driver = webdriver.Chrome(executable_path = os.path.join(os.getcwd(), 'chromedriver'), options=options)
#opens tiktok login page
driver.get('https://www.tiktok.com/login/phone-or-email/email')
最佳答案
一些可能有帮助的事情:
确保您的代理在每次登录尝试时都在变化。
对于新登录的每个实例,使用相同的代理或新的代理创建一个新的 webdriver 环境。
添加随机等待时间。例如,instagram 将限制他们怀疑是机器人的帐户。解决这个问题的方法是让 selenium 实例在不同的时间执行不同的点击操作。也就是说,让等待时间在几秒之间波动就可以解决问题。
此外,这段代码可能有助于解决过多的登录尝试问题。简而言之,它有助于 selenium 在浏览网站时更好地向网站服务器伪装自己。
user_agent = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.50 Safari/537.36' options.add_argument('user-agent={0}'.format(user_agent))
关于python - 如何修复tiktok selenium机器人检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72144371/