【问题标题】:How to fix tiktok selenium robot detection如何修复 tiktok selenium 机器人检测
【发布时间】:2022-08-18 04:31:42
【问题描述】:

如何修复 TikTok 硒机器人检测

背景信息


我正在创建一个 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. Try again later 的情况下登录,并且为了更清楚起见,我可以在没有 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\')

    标签: python selenium selenium-webdriver


    【解决方案1】:

    一些可能有帮助的事情:

    1. 确保您的代理在每次登录尝试期间都在更改。

    2. 对于新登录的每个实例,使用相同的代理或新的代理创建一个新的 webdriver 环境。

    3. 添加随机等待时间。例如,instagram 将限制他们怀疑有恶意的帐户。要解决此问题,一种解决方案是使 selenium 实例在不同时间执行不同的单击操作。即等待时间在几秒钟之间波动可以解决问题。

    4. 此外,此代码可能有助于解决过多的登录尝试问题。简而言之,它有助于 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))
      

    【讨论】:

    • 你是什​​么意思创建一个新的网络驱动程序环境
    • 每当您再次登录时,在您的代码中执行 driver.quit() 而不是使用已经运行的同一个 webdriver 登录。如果您在同一个 webdriver 上执行相同的任务而不关闭它可能会导致您列出的问题
    【解决方案2】:

    你有没有解决过这个问题?如果是,如何?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-05
      • 2017-06-09
      • 2014-06-25
      • 1970-01-01
      • 2021-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多