python请求验证码表

时间:2018-05-17 16:21:00

标签: python python-requests recaptcha captcha

我正在使用requests和python填充表单但是我被recaptcha阻止了。 我需要发送g-recaptcha-response,但我不知道如何获得它。

以下是网站代码:

<div class="g-recaptcha" data-callback="checkoutAfterCaptcha" data-sitekey="6LeWwRkUAAAAAOBsau7xxxx-xxxxxxxxxx" data-size="invisible">
  <div class="grecaptcha-badge" data-style="bottomright" style="width: 256px; height: 60px; transition: right 0.3s ease; position: fixed; bottom: 14px; right: -186px; box-shadow: gray 0px 0px 5px;">
    <div class="grecaptcha-logo">
      <iframe src="https://www.google.com/recaptcha/api2/anchor?ar=1&amp;k=6LeWwRkUAAAAAOBsau7KpuC9AV-6J8mhw4AjC3Xz&amp;co=aHR0cHM6Ly93d3cuc3VwcmVtZW5ld3lvcmsuY29tOjQ0Mw..&amp;hl=fr&amp;v=v1525674693836&amp;size=invisible&amp;cb=g8s5582r6zik" width="256" height="60"
        role="presentation" frameborder="0" scrolling="no" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-top-navigation allow-modals allow-popups-to-escape-sandbox" kwframeid="3">
      </iframe>
    </div>
    <div class="grecaptcha-error">
    </div>
    <textarea id="g-recaptcha-response" name="g-recaptcha-response" class="g-recaptcha-response" style="width: 250px; height: 40px; border: 1px solid #c1c1c1; margin: 10px 25px; padding: 0px; resize: none;  display: none; ">
    </textarea>
  </div>
</div>

这是我的代码,我设法获取data-sitekey但我不明白如何获得g-recaptcha-response:

page = c.get(link_checkout)
    soup = BeautifulSoup(page.text, 'html.parser')
    find_class = soup.find(class_='g-recaptcha')
    get_captcha_token = find_class.get('data-sitekey')
    print (get_captcha_token)
    # try:
    #     content = requests.post(
    #         'https://www.google.com/recaptcha/api/siteverify',
    #         data={
    #             'secret': RECAPTCHA_SECRET,
    #             'response': get_captcha_token,
    #             'remoteip': ip
    #         }
    #     ).content
    # except:
    #     print ("fail")
    # print (get_captcha_token)

    c.post(url, data=payload_FORM, headers={"Refered": link_checkout})
    page = c.get(link_checkout)

谢谢大家的帮助!这是我完成程序的最后一个问题,谷歌上的确很少

如果你需要更多信息告诉我,我会添加它

0 个答案:

没有答案