Skip to content

越来越多的网站具有反爬虫特性,有的用图片隐藏关键数据,有的使用反人类的验证码,建立反反爬虫的代码仓库,通过与不同特性的网站做斗争(无恶意)提高技术。(欢迎提交难以采集的网站)(因工作原因,项目暂停)

Notifications You must be signed in to change notification settings

luyishisi/Anti-Anti-Spider

Folders and files

NameName
Last commit message
Last commit date

Latest commit

dd9ed29 · Aug 25, 2021
Apr 21, 2020
Apr 21, 2020
Apr 21, 2020
Apr 21, 2020
Apr 21, 2020
Jun 27, 2020
Jun 29, 2020
Aug 25, 2021
Apr 21, 2020
Apr 21, 2020

Repository files navigation

基于CNN的验证码图片识别

简介

本项目采用alexnet模型和letnet模型,可根据实际需要选择(在train_model.py中的train函数修改即可)95.5%

作者有话说

不知不觉这个git库伴随我从16到到20年,带给我自己最棒的一段人生旅程,
整理了这份文档,希望任何想学习图片识别,玩玩卷积神经网络的同学可以最便捷的上手体验。
请谨慎使用技术,仅支持学习,不支持任何黑灰产相关
可参看:https://www.urlteam.cn/?p=1893 https://www.urlteam.cn/?p=1406
原先的Anti-Anti-Spider 全部内容移动到 原Anti-Anti-Spider 目录下
有何疑问可邮件 [email protected] 咨询
模型文件下载 如果出现无法解压,可以使用:
https://www.urlteam.cn/%E5%8F%AF%E7%94%A8%E8%AE%AD%E7%BB%83%E9%9B%86%E4%B8%8E%E8%AE%AD%E5%A5%BD%E7%9A%84%E6%A8%A1%E5%9E%8B.zip

Alexnet 模型结构

根据验证码的复杂度不同,训练的时间也会有较大的不同

使用方法

1.开始训练样本前,修改conf/config.json
2.将预处理过的数据集分成验证集和训练集,放到sample目录下
3.运行train_model.py开始训练,训练完成的模型保存至model_result中
4.将训练好的模型放置model_result,运行cnn_models/recognition.py,选定验证码,即可看到模型效果

环境配置

TensorFlow CPU版本安装:pip install tensorflow==1.9.0 TensorFlow GPU版本安装:pip install tensorflow-gpu==1.9.0 GUP版本的安装比较麻烦,需要安装CUDA和cuDNN才能使tensorflow调动GPU 下图为TensorFlow,Python,CUDA与cuDNN之间的版本对应关系: CUDA与cuDNN安装过程主要有两步:

  1. 到官网下载CUDA并安装
  2. 将cuDNN解压,复制到CUDA安装目录下 这里提供两个文件的链接: CUDA:https://developer.nvidia.com/cuda-toolkit-archive cuDNN:https://developer.nvidia.com/rdp/cudnn-archive 更具体的安装过程度娘可帮你轻松解决(linux,windows这两步的操作方法各不相同)

项目结构

├─cnn_models
│  ├─cnn_model.py		# CNN网络类
│  └─recognition.py		# 验证训练结果
├─conf
│  └─config.json		# 配置文件
├─logs			# 模型训练日志
├─model_result	# 模型保存地址
│  └─1040		# 一套训练完成的验证码训练集及对应模型
├─sample
│  ├─test		# 训练集(训练集与验证集一般是对总数据集9:1分割)
│  └─train		# 验证集
├─src			# 配置环境所需的工具,可根据自身情况到网上下载
├─train_model.py		# 训练程序
└─verify_sample.py		# 制作数据集(打标签加图片预处理)

图片预处理

  • 为验证码图片打上标签,如: 命名为1040_2019-10-13_10_1092.jpg,1092为标签,其余为附加信息,可根据自己需要更改,用_分割即可
  • 由于模型输入要求输入必须为227*227,所有需要调整图片形状,verify_sample.py中提供有工具函数

注意事项

alexnet输入必须为227*227的图片,所有图片预处理时可通过PIL中的函数线性转换图片形状,或者缩放后粘贴到227*227的背景中。

About

越来越多的网站具有反爬虫特性,有的用图片隐藏关键数据,有的使用反人类的验证码,建立反反爬虫的代码仓库,通过与不同特性的网站做斗争(无恶意)提高技术。(欢迎提交难以采集的网站)(因工作原因,项目暂停)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published