0

因此,我们制作了一个使用 selenium 的不和谐机器人,并决定将其托管在 heroku 上,但是当我们尝试访问该网站时,出现了 cloudflare 验证码测试,我们无法通过它。

然后我们发现了无法检测到的 chromedriver,但它仍然无法绕过 cloudflare 测试。

我们尝试访问的网站是https://atenos.org/:en/

我们正在努力实现的目标是不可能的吗?如果是这样,是否有任何其他网站我们可以尝试托管此机器人。

代码附在下面:

from selenium.webdriver.common.keys import Keys
import time
import os
import undetected_chromedriver.v2 as uc

options = uc.ChromeOptions()
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
options.add_argument("headless")
options.add_argument("--disable-blink-features=AutomationControlled")
driver = uc.Chrome(options=options)
driver.get("https://aternos.org/go")
USERNAME_C = os.environ.get("USERNAME_C")
PASSWORD_C = os.environ.get("PASSWORD_C")
BOT_TOKEN = os.environ.get("BOT_TOKEN")

time.sleep(15)

任何帮助表示赞赏!

4

1 回答 1

0

您的问题与 Discord 无关。故障与它无关。


要绕过 cloudflare,您必须使用cloudcraper

此外,您需要在 python buildpack 旁边安装 node.js buildpack:

由于 Cloudflare 不断更改和强化其保护页面,cloudcraper 需要 JavaScript 引擎/解释器来解决 Javascript 挑战。这允许脚本轻松模拟常规 Web 浏览器,而无需显式反混淆和解析 Cloudflare 的 Javascript。

您必须确保您的项目与 nodejs buildpack 兼容(在您的 git repo 的根目录中添加 package.json。)

要绕过不是机器人验证码,您还需要支付 cloudcraper。您将获得授权的 API 密钥。如果它只是一个 cloudflare 重定向并且不需要任何输入,那么您将无需执行任何操作。


一般来说,它总是一场比赛。Cloudflare 将尝试打破您的规避。Cloudscraper 需要更新他们的代码。您需要更新库依赖项等。您还可能会发现当时没有完成的解决方案可以规避。

于 2021-06-10T14:31:10.700 回答