我使用某种硬编码方法获取站点密钥,但由于 len 始终相同,所以没关系。之后,我使用2captcha API 文档,以便我可以发布密钥并获取验证码的令牌。我面临两个主要问题:1)我总是收到站点密钥错误的错误,但根据他们的示例,站点密钥是正确的(他们的站点密钥长 40 个字符,我的站点密钥也是 40)2)我尝试在外部创建一个 POST 函数并且尝试看看它是否是一个错误,但使用Py2Captcha文档我总是收到以下错误:
这是验证码密钥抓取。
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Captcha Key~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
url=driver.find_element_by_css_selector("iframe[role='presentation']").get_attribute('src')
print(url)
keygoogle = url[53:93]
print('Site Key = ', keygoogle)
这是验证码关键解决块:
answer = ""
answer_id = 0
api_key = '--------------------------------'
data_post = {'key': api_key, 'method': 'userrecaptcha', 'googlekey': keygoogle, "pageurl": mainurl}
response = requests.post(url = 'https://2captcha.com/in.php', data = data_post )
print(response)
print("Waiting for server response.")
for x in range(15):
time.sleep(1)
if x == 5:
print('Downloading info..')
elif x == 10:
print('Processing info..')
elif x == 14:
print('Solving captcha..')
data_request = {
'key': api_key,
'action': answer,
'id': answer_id,
}
requests.get(url ='https://2captcha.com/res.php', data=data_request)
print(answer)
def captcha():
google_key = keygoogle
url = mainurl
client = TwoCaptchaClient(client_key=api_key)
task = GoogleReCaptchaV2Task(googlekey=google_key, pageurl=mainurl)
job = client.create_task(task)
token = job.get_solution_response()
return token
print(captcha())
我没有包括的是令牌发布到答案字段的部分,我不确定如何做到这一点,但我肯定会找到一种方法!
response = requests.post(url = 'https://2captcha.com/in.php', data = data_post )
这就是我从中得到的价值print('Site Key = ', keygoogle)
站点密钥 = Lc3HAsUAAAAACsN7CgY9MMVxo2M09n_e4heJEiZ&
