python 提取页面验证码

以下代码都使用python +  selenium 实现,请先搭建好开发环境

1.页面的验证码若为静态验证码可以使用截屏的方式获取代码如下

   

      driver.save_screenshot('C:/crawlerScript/picture/fetch_date.png') # 截取整个DOC
        ce = driver.find_element_by_id("imgcaptcha")  # 具体的id要用F12自行查看
        left = ce.location['x']
        top = ce.location['y']
        right = ce.size['width'] + left
        height = ce.size['height'] + top
        im = Image.open("C:/crawlerScript/picture/fetch_date.png")
        img = im.crop((left, top, right, height))
        img.save('C:/crawlerScript/picture/fetch_date.png')  # 这里就是截取到的验证码图片

2.若验证码为动态验证码获取方式如下:

步骤如下

1. 进入页面获取cookie   

 cookie = driver.get_cookies()
    cookStr = ''
    for i in range(0, len(cookie)):
        if i == 1:
            continue
        cookStr += cookie[i]["name"]
        cookStr += '='
        cookStr += cookie[i]["value"]
        cookStr += ';'

    cookStr += cookie[1]["name"]
    cookStr += '='
    cookStr += cookie[1]["value"]

2.获取到刷新验证码的 链接

  F12 定位即可

3.带上第一步的cookie去调用刷新验证码的链接      
     

   headers = {
            "Cookie": cookie
        }
        request = requests.get('https://xxx.xxx.cn/xx/xxx/xx', headers=headers)

4.从返回中获取验证码图片

   

      img = Image.open(BytesIO(request.content)

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值