
Nikolai Smirnov
Software Development Lead

reCAPTCHA v2 通过图像选择和复选框验证来阻止自动化流量,但经常减缓合法的自动化和网络爬虫任务。通过使用CapSolver,开发人员可以合规且高效地自动化解决reCAPTCHA v2。本指南解释了reCAPTCHA v2的工作原理,为什么自动化是有益的,并提供了一个基于Python的完整工作流程,通过CapSolver获取和使用reCAPTCHA v2令牌。
对于经常进行网络爬虫的用户来说,是否觉得reCAPTCHA v2就像互联网版的过度谨慎的裁判,总是质疑你的真实性?如果能轻松且合规地与这些裁判和解,让您的网络搜索和自动化任务变得更加顺畅,那会有多好?那么,准备好认识你的新朋友:CapSolver。让我们看看如何通过CapSolver轻松自动化解决reCAPTCHA v2。
在我们开始救援任务之前,先了解我们的对手:v2 reCAPTCHA。这种挑战通过让用户通过点击图像或选择复选框来证明自己的人类身份,从而阻止机器人。有效吗?是的。烦人吗?绝对。但不要担心,市场上有一些特别擅长处理这些验证码的工具,正如标题所说的CapSolver。我们稍后将介绍具体方法,首先了解reCAPTCHA v2挑战的一般类型:
这些方法在阻止自动化机器人方面很有效,但对合法用户来说可能很烦人。这就是CapSolver的用武之地,它简化了这一过程
反复失败地解决烦人的验证码是否让你感到困扰?
通过CapSolver的AI驱动的自动网页解除封锁技术,轻松实现验证码自动解决!
领取你的CapSolver优惠码
立即提升你的自动化预算!
在充值CapSolver账户时使用优惠码CAPN,每次充值都能获得额外的5%奖励——无限制。
立即在你的CapSolver仪表板中领取
.
reCAPTCHA v2 使用行为分析来区分机器人和人类。它会监控鼠标移动、键盘输入和点击行为等因素,以验证真实用户,使机器人绕过更加困难。
想想你曾浪费了多少时间试图解读扭曲的线条或在模糊照片中识别交通灯。自动化解决v2 reCAPTCHA不仅让你摆脱这种繁琐的工作,还能简化网络爬虫和数据提取等任务。CapSolver:帮你卸下重担,让你专注于真正重要的事情。
准备好在reCAPTCHA v2上使用CapSolver了吗?首先,创建一个账户并获取你的API密钥。CapSolver的文档就像一张藏宝图,引导你每一步。
在浏览器的请求日志中,查找类似/recaptcha/api2/reload?k=6LcR_okUAAAAAPYrPe-HK_0RULO1aZM15ENyM-Mf的请求,其中k=是您需要的站点密钥。
如果您提供了错误的密钥,您将收到如下错误信息:
解决失败!响应:{"errorId":1,"errorCode":"ERROR_INVALID_TASK_DATA","errorDescription":"无效的站点密钥","taskId":"1cd1e687-96dd-4f14-b8ef-18b5d144d9b8","status":"failed"}
如果调用了错误版本的ReCaptcha(V2或V3),并且目标网站类型与API类型(task.type)不匹配,您将看到以下信息:
解决失败!响应:{"errorId":1,"errorCode":"ERROR_CAPTCHA_SOLVE_FAILED","errorDescription":"验证码解决失败:1001","taskId":"da450cbc-ff9d-439d-908a-77e7eb8852dd","status":"failed"}
# pip install requests
import requests
import time
# TODO: 设置你的配置
api_key = "YOUR_API_KEY" # 你的CapSolver API密钥
site_key = "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-" # 你目标网站的站点密钥
site_url = "https://www.google.com/recaptcha/api2/demo" # 你目标网站的页面URL
# site_key = "6LelzS8UAAAAAGSL60ADV5rcEtK0x0lRsHmrtm62"
# site_url = "https://mybaragar.com/index.cfm?event=page.SchoolLocatorPublic&DistrictCode=BC45"
def capsolver():
payload = {
"clientKey": api_key,
"task": {
"type": 'ReCaptchaV2TaskProxyLess',
"websiteKey": site_key,
"websiteURL": site_url
}
}
res = requests.post("https://api.capsolver.com/createTask", json=payload)
resp = res.json()
task_id = resp.get("taskId")
if not task_id:
print("创建任务失败:", res.text)
return
print(f"获取到taskId: {task_id} / 获取结果...")
while True:
time.sleep(3) # 延迟
payload = {"clientKey": api_key, "taskId": task_id}
res = requests.post("https://api.capsolver.com/getTaskResult", json=payload)
resp = res.json()
status = resp.get("status")
if status == "ready":
return resp.get("solution", {}).get('gRecaptchaResponse')
if status == "failed" or resp.get("errorId"):
print("解决失败!响应:", res.text)
return
token = capsolver()
print(token)
步骤1-创建任务:此操作向CapSolver发送请求,通过提供站点密钥和站点URL来开始解决reCAPTCHA。返回的task_id用于跟踪此请求的状态。
步骤2-轮询任务结果:脚本等待验证码解决过程完成。它每隔3秒检查一次任务状态。当状态为“ready”时,返回解决方案。
步骤3-检查任务状态:如果任务成功解决,返回解决方案。否则,脚本会记录错误信息并停止。
步骤4-获取并使用令牌:一旦获取到令牌,您就可以将其用于绕过目标网站上的CAPTCHA,通常通过将其包含在表单提交或AJAX请求中。
此代码提供了一个完整的流程,使用CapSolver自动化解决reCAPTCHA,以及如何在实际场景中使用返回的令牌的实用示例。因此,下次您遇到reCAPTCHA挑战时,记住,只要采用正确的方法和工具,即使是最顽固的守门人也可以被克服。
重要提示:在进行网络爬虫时,必须遵守法律和道德准则。请确保您有权爬取目标网站,并尊重网站的
robots.txt文件和使用条款。CapSolver坚决反对任何非合规活动滥用我们的服务。未经适当授权使用自动化工具绕过CAPTCHAs可能导致法律后果。请确保您的爬虫活动符合所有适用的法律和法规,以避免潜在问题。
CapSolver 支持常见的reCAPTCHA v2挑战,包括基于复选框的验证和图像识别挑战。它会返回一个有效的gRecaptchaResponse令牌,可用于表单提交或后台请求。
至少需要站点密钥、页面URL和有效的CapSolver API密钥。提供正确的reCAPTCHA版本(v2)和匹配的任务类型对于成功解决至关重要。
通常情况下,CapSolver会在几秒内返回解决方案。实际解决时间可能因挑战复杂度、网络状况和目标网站配置而异。
自动化解决reCAPTCHA必须符合适用的法律、网站使用条款和道德准则。CapSolver仅用于授权和合规的使用场景,例如测试、研究或批准的自动化工作流。