使用 Python 和 Selenium 解决 reCAPTCHA v3 企业挑战

Ethan Collins
Pattern Recognition Specialist
04-Sep-2024

随着网络安全措施的不断发展,reCAPTCHA v3 Enterprise 已成为区分机器人和人类用户最复杂的方法之一。与 reCAPTCHA v2 不同,reCAPTCHA v3 在后台无形地运行,并评估用户互动以分配“类似机器人”或“类似人类”的评分。对于从事 Web 自动化的开发人员来说,解决 reCAPTCHA v3 Enterprise 可能具有挑战性,尤其是在尝试获得模仿人类行为的高分时。但是,使用 Python 和 Selenium 等合适的工具,这种挑战变得可以管理。
在本文中,我们将指导您设置环境,实施代码来解决 reCAPTCHA v3 挑战
什么是 reCAPTCHA v3 Enterprise?
reCAPTCHA v3 Enterprise 是 Google CAPTCHA 系统的更高级版本,旨在检测自动化流量,而不会中断用户体验。与以前的版本(例如 reCAPTCHA v2)不同,reCAPTCHA v2 需要用户点击图像或选中复选框,reCAPTCHA v3 在后台无形地运行,使用机器学习算法为每个用户操作分配风险评分。
reCAPTCHA v3 不向用户提供视觉挑战,而是分配 0 到 1 之间的分数,其中接近 0 的分数代表类似机器人的活动,而接近 1 的分数表示人类行为。网站可以使用此评分来确定是阻止还是允许特定操作。
在网页上检测 reCAPTCHA v3
与 reCAPTCHA v2 不同,reCAPTCHA v3 在后台无形地运行,可能不会显示任何可见的 CAPTCHA 挑战。但是,reCAPTCHA 小部件仍然存在于网页的后台。要检测它,请检查网页的 HTML 并查找包含 g-recaptcha
或引用 Google CAPTCHA API 的元素。
以下是如何识别 reCAPTCHA v3 的存在:
-
检查页面: 在浏览器中打开开发者工具(右键单击页面并选择“检查”)。在 HTML 源代码中查找以下内容:
html<script src="https://www.google.com/recaptcha/api.js" async defer></script>
-
自动化检测: 你可以使用 Selenium 以编程方式检测 reCAPTCHA:
pythontry: driver.find_element(By.XPATH, "//script[contains(@src, 'recaptcha/api.js')]") print("检测到 reCAPTCHA v3") except: print("未检测到 reCAPTCHA")
reCAPTCHA v3 企业版解决方案 - CapSolver
在处理 reCAPTCHA v3 企业版等复杂 CAPTCHA 挑战时,你需要一个可靠的工具来帮助你克服网页自动化带来的困难,避免被标记为机器人。CapSolver 就是你的最佳选择。
优惠代码
领取你的 优惠代码,享受顶级验证码解决方案;CapSolver:WEBS。兑换后,每次充值即可获得额外 5% 奖励,无限期有效
前提条件
在开始之前,请确保你具备以下条件:
- 代理(可选): 代理可以帮助分配请求并模拟更真实的使用者行为。
- 已安装 Python: 确保你的系统已安装 Python。如果没有,请从 Python 官方网站 下载。
- CapSolver API 密钥: 你需要一个 API 密钥,可以通过在 CapSolver 仪表板 注册帐户获得。
第 1 步:安装必要的软件包
要开始解决 reCAPTCHA v3 企业版,你需要安装 CapSolver 包。使用以下命令安装:
bash
pip install capsolver
这个包允许你与 CapSolver API 交互,该 API 专为处理各种 CAPTCHA 挑战而设计,包括 reCAPTCHA v3 企业版。
第 2 步:解决 reCAPTCHA v3 企业版的 Python 代码(使用代理)
如果你打算使用代理,以下是一个解决 reCAPTCHA v3 企业版并旨在获得 0.7 到 0.9 之间的类人分数的 Python 脚本:
python
import capsolver
from urllib.parse import urlparse
# 更改这些值
PROXY = "http://username:password@ip:port"
capsolver.api_key = "YourApiKey"
PAGE_URL = ""
PAGE_KEY = ""
PAGE_ACTION = ""
def solve_recaptcha_v3_enterprise(url, key, pageAction):
solution = capsolver.solve({
"type": "ReCaptchaV3EnterpriseTask",
"websiteURL": url,
"websiteKey": key,
"pageAction": pageAction,
"proxy": PROXY
})
return solution
def main():
print("Solving reCAPTCHA v3 Enterprise...")
solution = solve_recaptcha_v3_enterprise(PAGE_URL, PAGE_KEY, PAGE_ACTION)
token = solution["gRecaptchaResponse"]
print("Solution Token: ", token)
if __name__ == "__main__":
main()
⚠️ 重要变量
- PROXY: 确保将其替换为实际的代理详细信息,格式为
http://username:password@ip:port
。如果你使用代理,请确保它可靠,以避免被标记为可疑。 - capsolver.api_key: 将
"YourApiKey"
替换为你的实际 CapSolver API 密钥。你可以在登录 CapSolver 仪表板 后生成它。 - PAGE_URL: 替换为包含 reCAPTCHA v3 企业版的网站的 URL。
- PAGE_KEY: 这是网站的 reCAPTCHA 密钥,你需要从页面中提取它。
- PAGE_ACTION: reCAPTCHA 评估的特定操作。您可以从本指南了解如何找到此值。
步骤 3:解决 reCAPTCHA v3 企业版(无需代理)
对于不使用代理的情况,脚本更简单。以下是如何在没有代理的情况下解决 reCAPTCHA v3 企业版:
python
import capsolver
from urllib.parse import urlparse
# 更改这些值
capsolver.api_key = "YourApiKey"
PAGE_URL = ""
PAGE_KEY = ""
PAGE_ACTION = ""
def solve_recaptcha_v3_enterprise(url, key, pageAction):
solution = capsolver.solve({
"type": "ReCaptchaV3EnterpriseTaskProxyless",
"websiteURL": url,
"websiteKey": key,
"pageAction": pageAction
})
return solution
def main():
print("正在解决 reCAPTCHA v3 企业版...")
solution = solve_recaptcha_v3_enterprise(PAGE_URL, PAGE_KEY, PAGE_ACTION)
token = solution["gRecaptchaResponse"]
print("解决方案令牌:", token)
if __name__ == "__main__":
main()
解决 reCAPTCHA v3 企业版的最佳实践
-
使用代理: 如果您从同一个 IP 发送多个请求,请考虑使用轮换代理,以最大程度地降低被标记为机器人的风险。
-
类人交互: reCAPTCHA v3 根据用户行为分配分数。为了提高获得类人分数的机会,请确保您的自动化交互(点击、滚动、导航)模拟真实的人类活动。在操作之间引入随机延迟可以使您的自动化看起来更自然。
-
优化分数为 0.7-0.9: CapSolver 旨在在解决 reCAPTCHA v3 时提供介于 0.7 到 0.9 之间的类人分数。有关如何优化您的自动化以获得此类分数的详细见解,请查看此 CapSolver 博客文章。
更多资源
合规声明: 本博客提供的信息仅供参考。CapSolver 致力于遵守所有适用的法律和法规。严禁以非法、欺诈或滥用活动使用 CapSolver 网络,任何此类行为将受到调查。我们的验证码解决方案在确保 100% 合规的同时,帮助解决公共数据爬取过程中的验证码难题。我们鼓励负责任地使用我们的服务。如需更多信息,请访问我们的服务条款和隐私政策。
更多

2025年网页抓取中最好的reCAPTCHA v2和v3求解器是什么
2025年,随着反机器人系统的日益复杂,寻找可靠的reCAPTCHA验证码求解器对于成功的数据提取至关重要。

Ethan Collins
17-Jan-2025

2025年使用 AI 识别解决 reCAPTCHA
探索人工智能如何改变 reCAPTCHA 解决方法、CapSolver 的解决方案以及 2025 年 CAPTCHA 安全不断变化的格局。

Ethan Collins
11-Nov-2024

使用 Python、Java 和 C++ 解决 reCAPTCHA
一篇博客教你如何使用三种强大的编程语言(Python、Java 和 C++)成功解决 reCAPTCHA。快来吧!

Ethan Collins
25-Oct-2024

如何用 Rust 解决 reCAPTCHA v2
学习使用 Rust 和 Capsolver API 解决 reCaptcha v2。本指南涵盖代理和无代理方法,提供分步说明和代码示例,用于将 reCaptcha v2 解决集成到您的 Rust 应用程序中。

Ethan Collins
16-Oct-2024

使用 Python 高分解决 reCAPTCHA v3 的指南
本指南将指导您使用有效的策略和 Python 技术来解决 reCAPTCHA v3,并获得高分,确保您的自动化任务顺利运行。

Ethan Collins
17-Sep-2024

如何在 Python 中集成 reCAPTCHA v2 解决方案以进行数据提取
学习如何在 Python 中集成 reCAPTCHA v2 解决方案以实现无缝数据提取。探索 reCAPTCHA 版本,了解数据提取,并通过一个使用 Capsolver 自动解决 reCAPTCHA v2 挑战的简单示例进行演示。

Anh Tuan
10-Sep-2024