当前位置: 首页 > news >正文

python爬虫滑块验证及各种加密函数(基于ddddocr进行的一层封装)

git链接: https://github.com/JOUUUSKA/spider_toolsbox

这里写目录标题

  • 一.识别验证码
    • 1、识别英文+数字验证码
    • 2、识别滑块验证码
    • 3、识别点选验证码
  • 二、下载系列
    • 1、下载视频
    • 2、下载图片
    • 3、下载文本
  • 三、常用加密类型
    • 1、AES系列
    • 2、DES系列
    • 3、RSA系列
    • 4、SHA系列
    • 5、BASE64
    • 6、HMAC
    • 7、PBKDF2

一.识别验证码

git链接: https://github.com/JOUUUSKA/spider_toolsbox
创作不易记得stars

1、识别英文+数字验证码

from spider_toolsbox.spidertools import SpiderTools
spidertool = SpiderTools()   spidertool.ocr_img(img_path)

返回给图片中显示的验证码

2、识别滑块验证码

一张图为带坑位的原图,如下图
在这里插入图片描述
一张图为原图,如下图
在这里插入图片描述

from spider_toolsbox.spidertools import SpiderTools
spidertool = SpiderTools()  spidertool.ocr_slide_with_hole(bgimg_path, fullpage_path)

返回图片中显示的滑块图缺口坐标

小滑块为单独的png图片,背景是透明图,如下图

在这里插入图片描述
然后背景为带小滑块坑位的,如下图
在这里插入图片描述

from spider_toolsbox.spidertools import SpiderTools
spidertool = SpiderTools()  spidertool.ocr_slide_with_clean(bgimg_path, fullpage_path)

3、识别点选验证码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

from spider_toolsbox.spidertools import SpiderTools
spidertool = SpiderTools()    spidertool.ocr_click_choose(test_img_path, result_img_path)

二、下载系列

1、下载视频

from spider_toolsbox.spidertools import SpiderTools
spidertool = SpiderTools()    spidertool.download_video(url)

2、下载图片

from spider_toolsbox.spidertools import SpiderTools
spidertool = SpiderTools()    spidertool.download_img(url)

3、下载文本

from spider_toolsbox.spidertools import SpiderTools
spidertool = SpiderTools()    spidertool.download_character(txt)

三、常用加密类型

使用说明:
加密模式的填充类型统一设定为PKCS7
加密类型中只有 SHA系列,HMACPBKDF2 的输出格式只能为hex固定格式
其他的加密类型都能 自行指定 输出格式为base64或者hex

加密函数的 形参 中
指定output_format='hex’则输出为hex返回值,
指定output_format='base64’则输出为base64返回值

解密函数的 形参 中
指定input_format='hex’则输出为hex返回值
指定input_format='base64’则输出为base64返回值

使用示例

1、AES系列

from spider_toolsbox.cryptools import Cryptor
cryptor = Cryptor()  cryptor.encrypt_AESCBC(data, key, iv)
cryptor.decrypt_AESCBC(encoded_ciphertext, key, iv)cryptor.encrypt_AESECB(data, key)
cryptor.decrypt_AESECB(encoded_ciphertext, key)

2、DES系列

from spider_toolsbox.cryptools import Cryptor
cryptor = Cryptor()   cryptor.encrypt_DESCBC(data, key, iv)
cryptor.decrypt_DESCBC(encoded_ciphertext, key, iv)cryptor.encrypt_DESECB(data, key)
cryptor.decrypt_DESECB(encoded_ciphertext, key)

3、RSA系列

from spider_toolsbox.cryptools import Cryptor
cryptor = Cryptor()   cryptor.encrypt_RSA(data, pubkey)
cryptor.decrypt_RSA(data, privkey)

4、SHA系列

from spider_toolsbox.cryptools import Cryptor
cryptor = Cryptor()   cryptor.encrypt_MD5(data)
cryptor.encrypt_SHA1(data)
cryptor.encrypt_SHA256(data)
cryptor.encrypt_SHA384(data)
cryptor.encrypt_SHA512(data)

5、BASE64

from spider_toolsbox.cryptools import Cryptor
cryptor = Cryptor()   cryptor.encrypt_Base64(data)

6、HMAC

from spider_toolsbox.cryptools import Cryptor
cryptor = Cryptor()   cryptor.encrypt_HMAC(data, key, digestmod)

7、PBKDF2

from spider_toolsbox.cryptools import Cryptor
cryptor = Cryptor()  cryptor.encrypt_PBKDF2(password, salt)

若是对此项目中的API存疑,
可鼠标中键点击进入项目内部查看源码注释,
笔者已做好详细的注释供各位参考
若还不清楚,可通过电子邮箱联系作者1393827820@qq.com

git链接: https://github.com/JOUUUSKA/spider_toolsbox

本文所有资源由JOUUUSKA提供
git主页: https://github.com/JOUUUSKA

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 什么是NLP实体识别?
  • 群晖NAS本地搭建可远程交互的大型语言模型LLM聊天机器人
  • Redis 列表类型的常用命令总结
  • WebService基础学习
  • SQL每日一练-0814
  • Unity新输入系统结构概览
  • telegraf、influxdb、grafana安装配置
  • Android的Service和Thread的区别
  • 将pytorch配置到jupyter里面(个人踩坑向)
  • HarmonyOS开发案例:创建全局自定义组件复用池-BuilderNode
  • 网鼎杯-2018-Web-Unfinish
  • python从入门到精通:函数
  • 安企CMS多站点迁移教程
  • 秋招突击——面经整理——有塔游戏提前批
  • AtCoder Beginner Contest 366 A~F
  • 网络传输文件的问题
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • centos安装java运行环境jdk+tomcat
  • co.js - 让异步代码同步化
  • codis proxy处理流程
  • CSS 提示工具(Tooltip)
  • Java到底能干嘛?
  • JDK 6和JDK 7中的substring()方法
  • JS学习笔记——闭包
  • nodejs:开发并发布一个nodejs包
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • Terraform入门 - 3. 变更基础设施
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 构建二叉树进行数值数组的去重及优化
  • 跨域
  • 力扣(LeetCode)21
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 如何实现 font-size 的响应式
  • 跳前端坑前,先看看这个!!
  • 微服务入门【系列视频课程】
  • 小程序button引导用户授权
  • 一起来学SpringBoot | 第三篇:SpringBoot日志配置
  • 正则表达式
  • 2017年360最后一道编程题
  • ​必胜客礼品卡回收多少钱,回收平台哪家好
  • #android不同版本废弃api,新api。
  • #单片机(TB6600驱动42步进电机)
  • (6)添加vue-cookie
  • (C11) 泛型表达式
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (void) (_x == _y)的作用
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (第30天)二叉树阶段总结
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (转)菜鸟学数据库(三)——存储过程
  • ./configure,make,make install的作用
  • .cn根服务器被攻击之后
  • .form文件_一篇文章学会文件上传
  • .net refrector
  • .net Signalr 使用笔记