import pytesseract
import requests
from selenium import webdriver
from PIL import Image
import timedef get_img_url(d,url):"""登陆界面的按钮,验证码,写入账号,密码功能的实现,传入参数为浏览器和登陆界面的url"""d.get(url)d.save_screenshot('a.png')name = '账户名'password = '密码'# img_url = d.find_element_by_xpath('//*[@id="CaptchaImg"]').get_attribute('src')code = verification_code(d)d.find_element_by_xpath('//*[@id="username"]').send_keys(name)d.find_element_by_xpath('//*[@id="password"]').send_keys(password)d.find_element_by_xpath('//*[@id="verify"]').send_keys(code)d.find_element_by_xpath('//*[@id="SubmitBtn"]').click()def verification_code(driver):"""进行验证码图片的解读,传入验证码图片的url"""
#(进行了更改,使用了又一种方法,从整个的截图中截取验证码图片传入的是浏览器对象)# driver.get_screenshot_as_file('a.jpg')location = driver.find_element_by_id('CaptchaImg').locationsize = driver.find_element_by_id('CaptchaImg').sizeleft = location['x'] + 5# print(left)top = location['y']right = location['x'] + size['width']bottom = location['y'] + size['height']# print(bottom)a = Image.open("a.png")im = a.crop((left, top, right, bottom))# im.show()im.save('aaaa.png')# im.show()time.sleep(1)# headers = {#     'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.81 Safari/537.36'# }# img = requests.get(url,headers = headers).content## img_name = 'verification_code.png'# with open(img_name,'wb') as f:#     f.write(img)str = discern('aaaa.png')return strdef discern(name):"""进行图片的识别,传入图片名字,返回字符串"""img = Image.open(name)# image = image.convert('L')# imag = imag.convert('1')# imag.show()# a = 150# table = []## for i in range(256):#     if i < a:#         table.append(0)#     else:#         table.append(1)# img = img.point(table, '1')
#两种方法进行图片的处理img = img.convert('RGBA')  # 转换为RGBApix = img.load()  # 读取为像素for x in range(img.size[0]):  # 处理上下黑边框pix[x, 0] = pix[x, img.size[1] - 1] = (255, 255, 255, 255)for y in range(img.size[1]):  # 处理左右黑边框pix[0, y] = pix[img.size[0] - 1, y] = (255, 255, 255, 255)for y in range(img.size[1]):  # 二值化处理,这个阈值为R=95,G=95,B=95for x in range(img.size[0]):if pix[x, y][0] < 130 or pix[x, y][1] < 130 or pix[x, y][2] < 130:pix[x, y] = (0, 0, 0, 255)else:pix[x, y] = (255, 255, 255, 255)# img.show()str = pytesseract.image_to_string(img)return strif __name__ == '__main__':d = webdriver.Chrome()d.implicitly_wait(10)url = 'http://www.51ym.me/User/Login.aspx'get_img_url(d,url)time.sleep(10)d.close()d.quit()

简单带验证码的登陆网站破解相关推荐

  1. python 登陆网站图片验证,用python登录带弱图片验证码的网站

    上一篇介绍了使用python模拟登陆网站,但是登陆的网站都是直接输入账号及密码进行登陆,现在很多网站为了加强用户安全性和提高反爬虫机制都会有包括字符.图片.手机验证等等各式各样的验证码.图片验证码就是 ...

  2. python+selenium+pytesseract实现自动识别简单验证码,并且自动登陆网站

    文章目录 功能介绍 首先安装需要的库 编写代码 功能介绍 本文章实现自动识别验证码并且自动登陆网站,完全不需要人工操作 Python版本:3.6 Selenium:selenium 是一个用于 Web ...

  3. Android模拟登陆带验证码的网站客户端

    首先获取验证码并保存Cookie,登陆时将Cookie和账号密码一同发送出去,返回状态码200,登陆成功,接下来再去访问其他需要登录权限的页面时附上Cookie发送出去即可. 要实现模拟登陆,首先需要 ...

  4. 登陆网站中的验证码是起什么作用的

    登陆网站中的验证码是起什么作用的 登陆网站中的验证码是起什么作用的 例如:1\登陆"SOSO问问"时先填用户名,然后填密码,下边有四个英文或数字随机组成的,需要用户填入 2\登陆网 ...

  5. 27. 处理网站验证码:处理网站登录验证码(selenium+破解工具)

    目录 前言 目的 思路 代码实现 1. 搭建环境 2. 处理验证码 (关于软件ID的获取) 3. 处理登录信息 4. 获取价格表 完整代码 运行效果 总结 前言 当我们请求网页过于频繁时,或者进行登陆 ...

  6. 打码平台破解验证码+session登陆豆瓣

    上节博客(链接https://blog.csdn.net/MG1723054/article/details/81900983)谈到利用python实现登陆的三种方法,其中利用session登陆网站的 ...

  7. 使用C#登录带验证码的网站

    我在上一篇文章中已经讲解了一般网站的登录原来和C#的登录实现,很多人问到对于使用了验证码的网站该怎么办,这里我就讲讲验证码的原理和对应的登录方法. 验证码的由来 几年前,大部分网站.论坛之类的是没有验 ...

  8. python实现网站的自动登录(selenium实现,带验证码识别)

    python实现网站自动登录(selenium实现,带验证码识别) 一.前言 这是鄙人写的第一篇博客,旨在总结一下近期所学,本文通过selenium工具实现工作所用网站的自动登录,下图为网站登录界面. ...

  9. python编写一个登陆验证程序_用python实现一个简单的验证码

    我们经常在登录一个网站,或者注册的时候需要输入一个验证码,有时候觉得很烦,因为有些验证码不仅复杂还看不清,许多用户就会因为这些而懒得再登录或者注册之类的. 既然验证码会造成流失用户的风险,为什么大家都 ...

最新文章

  1. Mysql中文乱码问题完美解决方案
  2. 疯狂捕鱼之路径解决方案的思考
  3. m430f1101管脚功能_M430F1101IDW
  4. 视频清晰度、色偏以及亮度异常检测
  5. 强化学习6——policy gradient的变种State of the Art
  6. [渝粤教育] 中国地质大学 嵌入式操作系统 复习题 (2)
  7. 首届(2017)中国·呼和浩特创新创业创意大赛·华东分站赛在乌镇成功举办
  8. Google啊谷狗,你是在考验中国人的智商还是探测中国人的情商?
  9. 高吞吐消息中间件Kafka集群环境搭建(3台kafka,3台zookeeper)
  10. 2019-09-30
  11. 奥林匹克计算机竞赛保送,电脑奥赛中最寂寥的竞赛 5学生夺牌直通清华
  12. ADP(自适应动态规划)-扩展HDP
  13. 计算机打印驱动怎么安装,打印机驱动怎么安装,详细教您打印机驱动怎么安装...
  14. VM虚拟机安装使用OBS直播录屏软件图文教程及注意事项
  15. HelloWorld--JAVA程序
  16. 新形势下国家医疗保障局信息化建设注意点(三)建设省级平台
  17. geohash java,GeoHash的简单使用例子
  18. ADI Blackfin DSP处理器-BF533的开发详解8:Timer定时器的驱动和应用(含源代码)
  19. 怎么关闭电脑的硬盘还原卡
  20. java 中遍历双列集合_获取单列集合,双列集合,数组的Stream流对象以及简单操作...

热门文章

  1. Codefroces 366 C Dima and Salad(dp)
  2. js 编写一个函数,计算任意两个数字之间所能组成的奇数个数
  3. html mailto 乱码,outlook会议乱码
  4. 读取应用程序/类库配置文件(比如***.dll.config)的方法小结
  5. 测试用例设计之一——Orthogonal Array Testing Strategy(OATS)
  6. 如何“谨慎”使用“数据驱动”的风控模型(二)——决策篇
  7. 河北大学计算机学院赵润,2010年河北省高招录取名单(7月20日)41
  8. 2021-11-05 微信小程序实现登录功能
  9. appstore关键词优化:AppStore关键词优化的主要流程
  10. Contextual Transformer Networks for Visual Recognition论文以及代码解析