python识别验证码
Windows系统
示例代码
import sys
import time
import urllib
import shutil
import pytesser3
import requests
from lxml import etree
config={'gid':1}
def parse(s, html, idx):result = {}tree = etree.HTML(html)valimg = Nonevalimgs = tree.xpath('//img[@id="imgCode"]/@src')if len(valimgs) > 0:valimg = valimgs[0]validateCode = Noneif valimg:fname = 'img/' + str(0) + '_' + str(config['gid']) + '.jpg'config['gid'] = config['gid'] + 1ri = s.get("https://sojump.com/jq/16276361.aspx?from=timeline" + valimg)with open(fname, 'wb') as f:for chk in ri:f.write(chk)f.close()validateCode = pytesser.image_file_to_string(fname)validateCode = validateCode.strip()validateCode = validateCode.replace(' ', '')validateCode = validateCode.replace('\n', '')result['validateCode'] = validateCodereturn result
s = requests.Session()
r = s.get('https://sojump.com/jq/16276361.aspx?from=timeline')
while True:res = parse(s, r.text, 0)
print(res)
一:安装pytesser3
1.安装pytesser3
pip3 install pytesser3
2.安装PIL(前者的依赖)
pip install pillow
3.安装tesseract-ocr引擎(没有会识别的很慢)
http://101.96.10.43/internode.dl.sourceforge.net/project/tesseract-ocr-alt/tesseract-ocr-setup-3.02.02.exe(win)
http://blog.csdn.net/strugglerookie/article/details/71606540(linux:centos)
二:安装lxml
pip3 install lxml
**
Linux系统
**
示例代码:
mport random
import requests
import urllib.parse
import urllib.request
from PIL import Image
import pytesseract
from time import time,strftime, localtime
def download(qid,header,i):url='https://www.wjx.cn/AntiSpamImageGen.aspx?q='+qid+'&t='+str(int(time() * 1000))req = urllib.request.Request(url,headers=header)def download(qid,header,i):url='https://www.wjx.cn/AntiSpamImageGen.aspx?q='+qid+'&t='+str(int(time() * 1000))req = urllib.request.Request(url,headers=header)data = urllib.request.urlopen(req).read()pic = open('%d.gif'%(i),'wb')pic.write(data)pic.close()
def binarizing(img): #input: gray image 对图像灰度值低的像素点处理,去除噪声threshold=30pixdata = img.load()w, h = img.sizefor y in range(h):for x in range(w):if pixdata[x, y] > threshold:pixdata[x, y] = 255else:pixdata[x, y] = 0return img
def depoint(img): #input: gray imagepixdata = img.load()w,h = img.sizefor y in range(1,h-1):#图像扩展防止溢出for x in range(1,w-1):count = 0if pixdata[x,y-1] > 245:count = count + 1if pixdata[x,y+1] > 245:count = count + 1if pixdata[x-1,y] > 245:count = count + 1if pixdata[x+1,y] > 245:count = count + 1if count >2:pixdata[x,y] = 255return img
def shibie(img):imgry = img.convert('L')#convert对图片处理(参数L是对图像灰度处理)threshold = 140table = []for i in range(256):if i < threshold:table.append(0)else:table.append(1)out = imgry.point(table, '1')print(str(pytesseract.image_to_string(out)).strip())#识别return(str(pytesseract.image_to_string(out)).strip())
1.
安装pytesseract
pip3 install pytesseract
2.安装PIL
pip3 install pillow
3.剩下的看提示吧-_-||
python识别验证码相关推荐
- python识别验证码——PIL,pytesser,pytesseract的安装
1.使用Python识别验证码需要安装Python的图像处理模块(PIL.pytesser.pytesseract) (安装过程需要pip,在我的Python中已经安装pip了,pip的安装就不在赘述 ...
- Python识别验证码----谷歌reCapture 4*4验证码
Python识别验证码----谷歌reCapture 4*4验证码 写在前面 数据特点 识别思路 识别结果 改进点 写在前面 近日某众打码平台被跑路的消息一出,脚本圈中一片哗然(我并不是脚本圈的,只是 ...
- Python识别验证码----数美图标点选
Python识别验证码----数美图标点选 写在前面 数据特点 获取数据 识别思路 按顺序抠出F4 定位f4 计算相似度 打标签(~~偷懒~~ ) 训练孪生网络 使用模型 识别结果 改进点 写在前面 ...
- Python识别验证码----网易易盾推理拼图
Python识别验证码----网易易盾拼图推理 写在前面 数据特点 获取数据 识别思路 识别结果 改进点 写在前面 近日某众打码平台被跑路的消息一出,脚本圈中一片哗然(我并不是脚本圈的,只是喜欢看群里 ...
- Python识别验证码----谷歌reCapture 3*3验证码
Python识别验证码----谷歌reCapture 3*3验证码 写在前面 数据特点 识别思路 识别结果 改进点 写在前面 近日某众打码平台被跑路的消息一出,脚本圈中一片哗然(我并不是脚本圈的,只是 ...
- 用Python识别验证码
[摘要] 爬虫过程中难免会碰到验证码,各种各样的验证码似乎阻挡了爬虫的脚步. 由于本文实现的功能是在内网环境完成,因此,没有代码介绍,也没有识别效果展示. 爬虫过程中难免会碰到验证码,各种各样的验证码 ...
- Python爬虫入门教程 60-100 python识别验证码,阿里、腾讯、百度、聚合数据等大公司都这么干...
常见验证码 之前的博客中已经解决了一些常见验证码的问题,但是验证码是层出不穷的,目前解决验证码除了通过常规手段解决以外,还可以通过人工智能领域的深度学习去解决 深度学习?! 无疑对爬虫coder提高了 ...
- python爬虫验证码的处理(云打码)_用Python识别验证码
由于本文实现的功能是在内网环境完成,因此,没有代码介绍,也没有识别效果展示. 爬虫过程中难免会碰到验证码,各种各样的验证码似乎阻挡了爬虫的脚步. 为了识别机器和真实用户而诞生的爬虫 碰到验证码有两个方 ...
- Python爬虫入门教程 60-100 python识别验证码,阿里、腾讯、百度、聚合数据等大公司都这么干
常见验证码 之前的博客中已经解决了一些常见验证码的问题,但是验证码是层出不穷的,目前解决验证码除了通过常规手段解决以外,还可以通过人工智能领域的深度学习去解决 深度学习?! 无疑对爬虫coder提高了 ...
- python识别验证码ocr_Python 验证码识别-- tesserocr
Python 验证码识别-- tesserocr tesserocr 是 Python 的一个 OCR 识别库 ,但其实是对 tesseract 做的一 层 Python API 封装,所以它的核心是 ...
最新文章
- python 统计文件top IP
- Session机制二(简易购物车案例)
- android 变量Map集合
- php bloginfo stylesheeturl,WordPress主题制作–bloginfo函数使用教程
- 微软作为金牌会员加入Cloud Foundry基金会
- 手机满足不了华为 华为拟在年底前发布带5G的8K电视!
- mysql网上图书销售_PHP+MySQL网上书店|网上图书销售系统
- DynamipsGUI支持的全系列Cisco IOS下载
- JAVA:实现求Median中位数算法(附完整源码)
- 读《TOWARDS EXPRESSIVE SPEAKING STYLE MODELLING WITH HIERARCHICAL CONTEXT INFORMATION FOR MANDARIN》
- 如何用Python找回微信撤回信息
- OPENGL回归原点
- hdu 1680 Cheesy Chess
- Vue——v-show的使用——2020.11.18
- DbVisualizer 解决中文乱码问题
- win10系统哪个是索引服务器,小编教你在Win10系统下建立索引的方法技巧
- 攻击重放技术以及什么是重放攻击?
- [转载]WIFI Direct/WIFI P2P
- 计算机中的电子科学与技术论文,电子科学与技术优秀毕业论文.doc
- oracle数据库频繁被锁,Oracle数据库账号频繁被锁定的原因排查
热门文章
- KMP-两种方法求next数组
- html自动分行工具,自动HTML简化工具?
- CAD二次开发(C#) CAD2017+VS2015 (一 环境配置)
- 春节还怕抢不到票?Github上11k star开源神器助你一臂之力
- 软银退出自动驾驶公司Cruise:通用汽车21亿美元接盘
- 模糊熵(FE)计算的C++ 实现,及参考MATLAB代码
- pacs系统 服务器安全,PACS系统
- 服务器维修学徒,6月24日服务器维护公告 新增导师学徒系统
- 嵌入式Linux开发-在6818开发板上显示图案
- 人民币金额大写转数字