登录界面如下

爬虫代码

from selenium import webdriver
import time,random, re, os
from test_chaojiying import Chaojiying_Client    # 导入超级鹰工具类
from PIL import Image
driver = webdriver.Chrome()                             #启动谷歌浏览器
driver.implicitly_wait(10)                              # 隐式等待( 等页面元素加载完毕再开始爬虫)driver.get('http://127.0.0.1:8999')    # 使用本地django项目
# 通过xpath 定位到账号密码输入框  并使用send_keys 发送账号密码到输入框
driver.find_element_by_xpath('//*[@id="app"]/div/div[4]/div/form/div[1]/div[2]/div/div/input').send_keys('账号')
driver.find_element_by_xpath('//*[@id="app"]/div/div[4]/div/form/div[2]/div[2]/div/div/input').send_keys('密码')driver.save_screenshot('one.png')           # 先截取整个屏幕
element = driver.find_element_by_xpath('//*[@id="app"]/div/div[4]/div/form/div[4]')    #通过xpath找到验证码图片
# print(element.location)                  # 打印元素坐标
# print(element.size)                      # 打印元素大小
left = element.location['x'] + 150
top = element.location['y']
right = element.location['x'] + (element.size['width']+220)
bottom = element.location['y'] + (element.size['height']+20)
im = Image.open('one.png')
im = im.crop((left, top, right, bottom))
now = time.strftime("%m-%d %H-%M",time.localtime())
imgName = str(now) + ".png"
im.save(imgName)                          # 经过坐标的过滤,将有验证码的图片保存至本地chaojiying = Chaojiying_Client('用户名', ' 密码', '用户中心的软件ID')
im = open(imgName, 'rb').read()                           #  本地图片与当前py是同级,如不同级请写路径
# print(chaojiying.PostPic(im, 1902))                      #1902是验证码类型中的常见4-6位英文数字
result_code = chaojiying.PostPic(im, 4004)                       #result: {'err_str': 'OK', 'pic_id': '2090615382056500023', 'err_no': 0, 'md5': '47298d1d39c7b28c1c0269d87b8f7c33', 'pic_str': '1336'}
code = result_code['pic_str']          # 取出验证码的识别结果
print(code)
# driver.find_element_by_xpath('//*[@id="app"]/div/div[4]/div/form/div[4]/div[2]/div/div/input').send_keys(code)     #发送验证码
# driver.find_element_by_xpath('//*[@id="app"]/div/div[4]/div/form/div[5]/button/div/div').click()                    #点击提交按钮driver.close()            #关闭浏览器

通过selenium截取的验证码图片

超级鹰

test_chaojiying.py
import requests
from hashlib import md5
class Chaojiying_Client(object):def __init__(self, username, password, soft_id):self.username = usernamepassword =  password.encode('utf8')self.password = md5(password).hexdigest()self.soft_id = soft_idself.base_params = {'user': self.username,'pass2': self.password,'softid': self.soft_id,}self.headers = {'Connection': 'Keep-Alive','User-Agent': 'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)',}def PostPic(self, im, codetype):#m: 图片字节#codetype: 题目类型 参考 http://www.chaojiying.com/price.htmlparams = {'codetype': codetype,}params.update(self.base_params)files = {'userfile': ('ccc.jpg', im)}r = requests.post('http://upload.chaojiying.net/Upload/Processing.php', data=params, files=files, headers=self.headers)return r.json()def ReportError(self, im_id):# im_id:报错题目的图片IDparams = {'id': im_id,}params.update(self.base_params)r = requests.post('http://upload.chaojiying.net/Upload/ReportError.php', data=params, headers=self.headers)return r.json()

gif动图

超级鹰验证码类型及单价

更多爬虫知识 点击这里

另附上一篇 免费识别验证码

点击这里

selenium + 超级鹰 识别验证码自动登录相关推荐

  1. 2020-08-27 RPA uipath入门demo,超级鹰实现验证码自动登录,自动搜索和拉取数据到excel,robot和Orchestrator共同实现定时安排机器人执行任务。

    资源地址:https://download.csdn.net/download/u012742970/12773335 本文主要讲解uipath studio,uirobot,Orchestrator ...

  2. 爬虫学习笔记(十八)—— 点触验证码:超级鹰、12306自动登录

    一.打码平台 点触验证码是一种常见的反爬手段. 解决方案有两种:一种是直接解决,这需要深度学习机器学习等图像处理技术,以大量的数据训练识别模型,最终达到模型足矣识别图片中的文字提示和应该点击的区域之间 ...

  3. python爬虫——利用超级鹰识别验证码并进行古诗网进行模拟登录

    目录 前言 一.超级鹰的注册 二.利用xpath解析登录页面的验证码图片 三.利用超级鹰识别获取验证码 四.模拟浏览器发送请求进行模拟登录 五.验证是否模拟登录成功 前言 本文章是利用python爬虫 ...

  4. Python使用selenium和百度AI开放平台识别验证码自动登录

    文章目录 本文内容 工具准备 Python Packages 浏览器驱动 准备登录 第一步   用Chrome浏览器打开目标网站 第二步   调用selenium输入账户密码 第三步   获取图片验证 ...

  5. selenium 超级鹰 通过携程滑块和汉字验证码

    大概流程 1.进入页面点击同意按钮. 2.得到滑块和滑块区域的xpath 3.定位滑块,设置按住事件,进行拖动 4.xpath定位汉字图片,获取屏幕截图,保存本地 5.超级鹰识别图片返回汉字对应的坐标 ...

  6. 识别验证码模拟登录微博

    前言:在微博进行模拟登录时需要点击验证码,使用网上打码平台来对验证码进行识别,完成登录. 1.模拟登录: 首先登录微博:https://passport.weibo.cn/signin/login 我 ...

  7. Python + Selenium实现163邮箱的自动登录和发送邮件

    运用Python和Selenium实现163邮箱的自动登录和发送邮件 初接触selenium,最近研究了一下用python和Selenium实现163邮箱的自动登录和发送邮件的实现过程,中间出现了各种 ...

  8. 模拟登录12306(selenium+超级鹰)

    最近迷上了用selenium去登陆各大网站,别说selenium真挺好用,可以轻松搞定ajax动态加载的网页,不用很费劲的去抓包查找.咳咳-跑题了,回归正题. 这次用selenium去登录12306网 ...

  9. 最简单的python使用ddddocr模块在线识别验证码后登录

    import unittest from PIL import Image from selenium import webdriver from time import sleep import d ...

  10. PHP 不跳转界面取input值进行验证_【Python】tesseract+uiautomator2+夜神模拟器 悠长假期手游集市识别验证码自动购买 - Amorius...

    开宗明义:这篇文章实际上就是把我的操作记录一遍,以防以后忘记了,又要到处去搜罗.由于我是个python小白,所以这些操作都是各处学来拼到一起的,也因此我确信如果不赶紧记下来,很快就会忘掉.于是就趁热写 ...

最新文章

  1. DEDECMS后台上传banner图控制图片轮播
  2. java thread.await_使用Thread.Sleep进行等待的替代方法
  3. R语言使用ggplot2包使用geom_violin函数绘制分组小提琴图(配置填充色)实战
  4. SAP Business One on HANA登陆阿里云
  5. 在ubuntu14.04 64位虚拟机中安装mysql
  6. CSS中常见的长度单位
  7. LeetCode 895. 最大频率栈(哈希+按频数存储)
  8. ASP.NET项目中的驼峰格式JSON响应
  9. 面试题--------9、mysql的drop delete truncate 分别在什么场景下使用
  10. 分享给设计师们9款免费和有用的英文字体
  11. 计算机丢失dll文件怎么弄,电脑缺少dll文件怎么办
  12. tailf追踪日志文件
  13. 二进制与十六进制转换对照表
  14. 微信小程序之地图功能
  15. 《朗读者》中那些让人受益终生的句子
  16. cluster_acc计算
  17. Linux之xinetd安装及实践
  18. RV1126编译ROS Kinetic环境(Ubuntu18.04)
  19. EasyCVR国标GB28181协议接入下的TCP和UDP模式说明及差异
  20. 【DXR/RayTracingGems】屏幕空间光子映射Screen-Space PM(SSPM)

热门文章

  1. spwm matlab仿真,H桥逆变器SPWMMATLAB仿真
  2. Vue 当一个页面上,需要编辑,审核,查看详情的时候,隐藏和展示
  3. oracle数据对应函数,Oracle函数取得姓名对应的拼音
  4. win10无线网卡黄色感叹号
  5. 微信公众号开发(个人订阅号版)
  6. 2022卡塔尔世界杯来临,体育界最新创意二维码案例大盘点!
  7. 高性能跳频抗干扰宽带自组网电台
  8. 从七种封装类型,看芯片封装发展史
  9. inSSIDer使用方法
  10. 第六章 算法algorithms