首页 > 编程语言 >使用 Python 实现验证码识别与自动化登录

使用 Python 实现验证码识别与自动化登录

时间:2024-10-19 10:33:02浏览次数:1  
标签:登录 Python text 验证码 captcha path requests response

  1. 安装所需依赖
    首先,确保你已经安装了 Python。然后,可以使用 pip 安装所需的库:

bash

pip install requests pillow pytesseract
确保你也安装了 Tesseract OCR。可以从 Tesseract GitHub 获取安装指南。

  1. 下载验证码图片
    使用 requests 库下载验证码图片并保存到本地:

python

import requests

def download_captcha(url, save_path):
response = requests.get(url)
if response.status_code == 200:
with open(save_path, 'wb') as f:
f.write(response.content)
print(f"验证码图片已保存为 {save_path}")
else:
print(f"下载失败: {response.status_code}")

download_captcha("https://captcha7.scrape.center/captcha.png", "captcha.png")
3. 图像处理和 OCR 识别
使用 Pillow 和 pytesseract 进行图像处理和 OCR 识别:

python

from PIL import Image
import pytesseract

def recognize_captcha(image_path):
# 打开图像
image = Image.open(image_path)
# 使用 pytesseract 进行 OCR 识别
captcha_text = pytesseract.image_to_string(image).strip()
print(f"识别结果: {captcha_text}")
return captcha_text

captcha_text = recognize_captcha("captcha.png")
4. 自动化登录
使用 requests 库发送 POST 请求,模拟登录操作,并传递用户名、密码和识别出的验证码:

def login(username, password, captcha):
url = "https://captcha7.scrape.center/login"
payload = {
"username": username,
"password": password,
"captcha": captcha
}
response = requests.post(url, json=payload)

if response.status_code == 200:
    print("登录成功")
else:
    print(f"登录失败: {response.status_code}")

login("admin", "admin", captcha_text)
5. 主程序
整合上述代码,创建主程序:

python
更多内容联系1436423940
if name == "main":
captcha_url = "https://captcha7.scrape.center/captcha.png"
captcha_path = "captcha.png"

# 下载验证码
download_captcha(captcha_url, captcha_path)

# 识别验证码
captcha_text = recognize_captcha(captcha_path)

# 登录
login("admin", "admin", captcha_text)

标签:登录,Python,text,验证码,captcha,path,requests,response
From: https://www.cnblogs.com/ocr1/p/18475572

相关文章

  • 如何安全运行别人上传的Python代码?
    写后端的同学,有时候需要在网站上实现一个功能,让用户上传或者编写自己的Python代码。后端再运行这些代码。涉及到用户自己上传代码,我们第一个想到的问题,就是如何避免用户编写危险命令。如果用户的代码里面涉及到下面两行,在不做任何安全过滤的情况下,就会导致服务器的Home文件夹......
  • 一位60后老程序员从零学习Python的感悟
    AI时代,Python因其语法流畅、上手简单、生态强大,被越来越多的企业和个人所青睐,成为大数据、人工智能的首选编程语言,由于Python的扩展性强大,在其他几乎所有领域,甚至办公、小游戏等,都可以迅速上手。近几年更是在编程语言排行榜中稳居第一,使用人数也持续攀升。在全民学Python的热......
  • python实现rsa加密
    模拟效果:用户注册/登陆成功,返回自己的公钥,注册时候生成的私钥和公钥入库。下次进来的时候,加解密是动态的,也就是每个用户都不一样fromcryptography.hazmat.backendsimportdefault_backendfromcryptography.hazmat.primitives.asymmetricimportrsa,paddingfromcryptograp......
  • java_day17_JDBC、登录注册修改案例
    一、JDBCJDBC编写六步走:1、注册驱动,告诉java程序我们要链接什么数据库【mysql为案例】5.1.x驱动包中的驱动类路径:【com.mysql.jdbc.Driver】8.x.x驱动包中的驱动类路径:【com.mysql.cj.jdbc.Driver】2、创建与数据库的链接对象......
  • python+uniapp微信小程序线上点餐管理信息系统java+nodejs-毕业设计
    前端开发框架:vue.js数据库mysql版本不限后端语言框架支持:1java(SSM/springboot)-idea/eclipse2.Nodejs+Vue.js-vscode3.python(flask/django)--pycharm/vscode4.php(thinkphp/laravel)-hbuilderx数据库工具:Navicat/SQLyog等都可以 随着科技的不断发展,移动互联网......
  • python+vue基于django/flask的在线投票管理系统java+nodejs-计算机毕业设计
    目录技术栈和环境说明具体实现截图预期达到的目标系统设计详细视频演示技术路线解决的思路性能/安全/负载方面可行性分析论证python-flask核心代码部分展示python-django核心代码部分展示研究方法感恩大学老师和同学源码获取技术栈和环境说明本系统以Python开发语言......
  • python+vue基于django/flask的美食分享推荐系统Java+nodejs-计算机毕业设计
    目录技术栈和环境说明具体实现截图预期达到的目标系统设计详细视频演示技术路线解决的思路性能/安全/负载方面可行性分析论证python-flask核心代码部分展示python-django核心代码部分展示研究方法感恩大学老师和同学源码获取技术栈和环境说明本系统以Python开发语言......
  • Nodejs java python php基于微信平台的二次元手办商场小程序
    目录项目介绍具体实现截图设计方法和思路技术介绍小程序框架以及目录结构介绍java类核心代码部分展示其他小程序项目推荐系统测试详细视频演示源码获取项目介绍小程序选用微信开者与Nodejsjavapythonphp语言,应用uniapp框架,MySQL为后台数据库。系统主要包括用户......
  • java Nodejs python php云台音乐网站系统 微信小程序
    目录项目介绍具体实现截图技术介绍HBuilderX协同过滤算法java类核心代码部分展示其他springboot项目推荐详细视频演示源码获取项目介绍云台音乐微信小程序的设计基于现有的智能手机上运行,可以实现服务端;首页、个人中心、用户管理、音乐分类管理、歌曲信息管理、音......
  • 【Spring】Spring实现加法计算器和用户登录
    加法计算器准备工作创建SpringBoot项目:引入SpringWeb依赖,把前端的页面放入项目中**<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,init......