用超级鹰来识别B站图片验证

"""
1.登录
2.图片验证码(
截取当前页面的图片并且保存下来,裁剪出验证码的区域
使用超级鹰将验证码图片识别
返回汉字对应的坐标点
按照顺序来模拟点击完成每个坐标点)
"""
import random
import timefrom selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver import ChromeOptions
from chaojiying import Chaojiying_Client
#裁剪模块
from PIL import Image
#去除识别
option = ChromeOptions()
option.add_experimental_option('excludeSwitches', ['enable-automation'])
option.add_experimental_option("detach",True)driver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://passport.bilibili.com/login?from_spm_id=333.851.top_bar.login')
# #特征识别
script = 'Object.defineProperty(navigator,"webdriver",{get:() => false,});'
driver.execute_script(script)
#登录
def login():driver.find_element(By.ID,'login-username').send_keys('123456789')driver.find_element(By.ID,'login-passwd').send_keys('1234567891')driver.find_element(By.XPATH,'//*[@id="geetest-wrap"]/div/div[5]/a[1]').click()time.sleep(2)
def save_img():#保存截图driver.save_screenshot('page.png')#获取验证码图片进行截取code_img_elm = driver.find_element(By.XPATH,'/html/body/div[2]/div[2]/div[6]/div/div')#位置location = code_img_elm.location#大小size = code_img_elm.sizeprint(location,size)#左上角和右下角的坐标cangle = (int(location['x']) ,int(location['y']), int(location['x']+size['width']),int(location['y']+size['height'])
)imge1 = Image.open('./page.png')image2 = imge1.crop(cangle)image2.save('./code.png')def narrow_img():#进图片缩小2倍code = Image.open('./code.png')narrow_img = code.resize((135,173))narrow_img.save('narrow_img.png')print(code.png,narrow_img.size)def result_img():#用超级鹰识别chaojiying = Chaojiying_Client('19831060232', '19831060232', '26971')  # 用户中心>>软件ID 生成一个替换 96001im = open('./narrow_img.png', 'rb').read()  # 本地图片文件路径 来替换 a.jpg 有时WIN系统须要//result = chaojiying.PostPic(im, 9004)['pic_str'] # 1902 验证码类型  官方网站>>价格体系 3.4+版 print 后要加()return resultdef parse_data(result):#将坐标改成超级鹰可以识别的模式""":return:"""node_list = []if '|' in result:nlists = result.split('|')for i in range(len(nlists)):x = int(nlists[i].split(',')[0])y = int(nlists[i].split(',')[1])xy_list = [x,y]node_list.append(xy_list)return node_listdef click_image(node_list,code_img_elm):"""用行为链点击:param node_list::return:"""for i in node_list:x = i[0]*2y = i[1]*2ac = ActionChains(driver)ac.move_to_element_with_offset(driver.find_element(By.XPATH,'/html/body/div[2]/div[2]/div[6]/div/div'), x, y).click().perform()time.sleep(random.random()*5)print('点击成功')driver.find_element(By.XPATH,'/html/body/div[2]/div[2]/div[6]/div/div/div[3]/a/div').click()if __name__ == '__main__':login()code_img_elm = save_img()narrow_img()result = result_img()node_list = parse_data(result)click_image(node_list,code_img_elm)

用超级鹰来识别B站图片验证相关推荐

  1. Python使用网络抓包的方式,利用超级鹰平台识别验证码登录爬取古诗文网、上篇--识别验证码

    Python使用网络抓包的方式,利用超级鹰平台识别验证码登录,<爬取古诗文网>. 上篇–识别验证码 序言: 哈喽,各位小可爱们,我又来了,这次我新学习到的内容是python爬虫识别验证码. ...

  2. 第三方打码平台超级鹰图文识别,md5算法加密

    文章目录 一.注册超级鹰账户 二.利用超级鹰模拟登录古诗文网 网页分析 代码实现解析 为什么要使用session 三.总结 **感谢观看,给个三连支持一下吧** 一.注册超级鹰账户 超级鹰链接:htt ...

  3. Python——超级鹰打码平台实现selenium对b站的自动化登陆

    目录 一 .Chrome(谷歌)驱动器的下载 (一)驱动器版本选择 (二)下载Chrome驱动器 二.需要安装的库 (一)安装命令 (二)指定selenium版本原因 三.实现步骤 (一)导入相关库 ...

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

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

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

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

  6. 『python爬虫』26. selenium与超级鹰处理复杂验证码的处理(保姆级图文)

    目录 1. 图片选择类验证码 2. 滑块验证码 3. 滑块出错,不加载 总结 欢迎关注 『python爬虫』 专栏,持续更新中 欢迎关注 『python爬虫』 专栏,持续更新中 1. 图片选择类验证码 ...

  7. nodejs识别验证码,图片验证码

    最近做自动化遇到验证码的问题,之前识别字母和数字验证码都是使用tesseract.js,识别率都不错,中文也可以识别不过识别率不高. 我自己平常使用识别验证码的方式主要有三种, 一种是上面说的tess ...

  8. 转:nodejs识别验证码,图片验证码

    最近做自动化遇到验证码的问题,之前识别字母和数字验证码都是使用tesseract.js,识别率都不错,中文也可以识别不过识别率不高. 我自己平常使用识别验证码的方式主要有三种: 一种是上面说的tess ...

  9. selenium模拟登录拉勾(超级鹰)

    一.打开网页 url:https://www.lagou.com/ 二.关闭弹窗 三.点击登录 四.输入账号密码 五.勾选同意协议并登录 六.超级鹰验证码识别 七.判断是否登录成功与是否失败次数过多 ...

  10. python—简单数据抓取四(利用超级鹰的ocr识别图片验证码模拟登录超级鹰网站、利用百度云的ocr识别自如租房网价格图片获取到自如网的价格)

    学习目标: python学习二十四 -简单数据抓取四 学习内容: 1.利用超级鹰的ocr识别图片验证码模拟登录超级鹰网站 2.利用百度云的ocr识别自如租房网的价格图片,获取到自如网的价格数据 1.利 ...

最新文章

  1. Microsoft Office Visio
  2. java swing 串口_ComTest 接收串口数据,并显示在文本框内,通过JavaSwing实现 Develop 265万源代码下载- www.pudn.com...
  3. 20个常用的正则表达式
  4. 苹果iOS 13暗黑模式概念图曝光 将于iOS 13.1版本更新
  5. hadoop3.1.0集群搭建
  6. string转Char*( error C2440: '=' : cannot convert from 'const char *' to 'char *')
  7. 现实世界的Windows Azure: 采访LexisNexis的Marc Slovak 和 Manish Bhargava
  8. 机器人避障技术解读 与解决方案
  9. Python学习手册~笔记1
  10. 拉格朗日插值法与牛顿插值法
  11. 3G技术与UMTS网络-1
  12. Deep Voice 论文
  13. 实验吧-web-天下武功唯快不破
  14. 认识心理学上的自我界限(学习记录)
  15. 这两款好用的识别图片文字的软件app值得你们收藏
  16. android 不停弹出权限,Android部分手机“后台弹出界面权限”解决方案
  17. Linux学习-Boot Loader: Grub2
  18. 差压传感器和差压变送器的区别在哪里
  19. AES加密算法 Java与Python跨平台实现
  20. UESTC 1339 郭大侠与线上游戏

热门文章

  1. linux 汉化记述
  2. 我做了STM32MP1实战教程
  3. keil5兼容keil4操作
  4. 【1stopt】1stOpt的编程模式
  5. cdr添加节点快捷键_【CDR干货】常用cdr快捷键命令汇总,快来收藏!
  6. 西瓜数据集3.0 python_决策树对西瓜数据集2.0二分类
  7. Python机器学习之决策树(使用西瓜数据集构建决策树,并将其可视化,graphviz程序下载)
  8. 看服务器硬盘序列号,获得服务器硬件信息(CPUID、硬盘号、主板序列号、IP地址等)...
  9. 用计算机进行进制换算方法,计算机进制怎么转换?计算机进制换算方法
  10. 【论文阅读笔记】Securing software by enforcing data-flow integrity