我正在使用python请求模块抓取网站。本网站上的表格需要解决ReCaptcha。我设法在本地网站上使用相同的站点密钥重新创建此ReCaptcha。如果我在我的本地网站上解决了ReCaptcha并获得了' g-captcha-response'键,我可以将此密钥发布到原始网站吗?如果是这样,这是否有效或Google是否需要除响应键之外的其他信息?
# I get the response key from my local website
CaptchaKey = response-key
# I post the response key on the original website
request.post(SubmitURL, data={'g-captcha-response': CaptchaKey}
这会有用吗?如果是,我该如何检查请求是否已成功发布?
答案 0 :(得分:0)
谷歌验证码密钥还不够。您应该考虑使用selenium +请求的方法。
第一部分:
from selenium import webdriver
driver = webdriver.Chrome("C:\chromedriver.exe")
driver.get('desiredurl')
#somesleep/waittill element/anything to wait till you solve the recaptcha
cookies = driver.get_cookies()
第2部分
session = requests.Session()
for cookie in cookies:
session.cookies.set(cookie['name'], cookie['value'])
payload = { 'username' : '',
'password' : '',
'g-captcha-response': CaptchaKey}
login = session.post('DESIREDURL', data = payload)
此方法应该有效