V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
fjhh
V2EX  ›  Python

求助验证码识别难题

  •  
  •   fjhh · 2017-07-02 10:26:58 +08:00 · 4399 次点击
    这是一个创建于 2705 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近想实现这样一需求,全自动登录网站,获取某些内容,保存为 mht 格式文件,上传至 windows 共享文件夹。
    现已实现半自动登录,但需要用户手工输入验证码,想用程序实现全自动化。网上搜索各类代码,发现对于验证码的识别酷似难度极高,作为一个业余选手,颇感压力山大。
    求大家伙目测此验证码识别的难度如何?
    期待能给出 demo 的代码,万分感谢。
    也期待能给出一些提纲性的指引。
    验证码地址: https://www.cqccms.com.cn/workspace/Captcha.jpg
    第 1 条附言  ·  2017-07-03 20:35:12 +08:00
    第二次更新:
    多谢各位朋友的热情解答。
    关于系统的正常登录,目前已能实现手工输入验证码,登录成功,利用 Cookie 进行内部网页的获取。
    也有考虑到,在某服务器上运行脚本,如每隔 15 分钟带 cookie 请求一下网站,保持 cookie 的永久有效。
    当技术不够时,确实有很多中转的办法来实现。

    只是,第一次接触到验证码的识别,还是很有兴趣和激情来了解这个广袤的世界。搜索到: http://www.yanyaozhen.com/archives/345/
    并利用其中的代码对图片进行灰度处理。

    现面临难题,如何对空心的验证码实现填充?
    13 条回复    2017-07-05 12:17:14 +08:00
    h4x3rotab
        1
    h4x3rotab  
       2017-07-02 10:55:53 +08:00 via iPhone
    接入打码平台
    fiht
        3
    fiht  
       2017-07-02 11:12:30 +08:00
    这种空心的不怎么好搞..难度略高,Google 家的 tesseract 应该不能直接搞定。
    如果不能搞定的话自己处理就比较复杂了,这方面的博文有很多你可以自己去找一找。
    不行的话就直接买打码服务就好,量不大的话也花不了多少钱
    misaka19000
        4
    misaka19000  
       2017-07-02 12:25:46 +08:00
    多收集点验证码做训练数据,然后用机器学习来搞
    ivechan
        5
    ivechan  
       2017-07-02 16:06:18 +08:00
    验证码识别, 如何正确切割是很重要的, 一般来说, 如果能正确切割。 用现在深度学习算法, 像这一种弯曲度很低的验证码很容易达到可用的正确率。
    cdwyd
        6
    cdwyd  
       2017-07-02 18:52:24 +08:00 via Android
    放弃破解吧,接入打码平台
    anexplore
        7
    anexplore  
       2017-07-02 18:58:38 +08:00 via iPhone
    打码平台
    kylinking
        8
    kylinking  
       2017-07-02 19:37:57 +08:00 via iPhone
    安利一波自己实现的
    https://github.com/kylingit/Captcha_recognize

    验证码不是通用的,重要的是思路
    myself659
        9
    myself659  
       2017-07-03 09:13:10 +08:00
    @kylinking 思路不错,赞
    enenaaa
        10
    enenaaa  
       2017-07-03 09:37:22 +08:00
    这种还不算难。 比较好切割。
    用简单的卷积神经网络应该有能接受的准确度。
    ty0716
        11
    ty0716  
       2017-07-03 15:06:00 +08:00
    看了下,这种还算比较好处理,英文数字的倾斜程度都是一样的,噪点和干扰线也比较明显。
    二值化再比对下,当然了,连在一起的就不好玩了。
    量小的话可以买验证码 api
    或者你可以手动登录一次,记下 cookie,定时刷新以保证在线(固定过期时间的除外)
    nosilence
        12
    nosilence  
       2017-07-03 16:25:38 +08:00
    多刷几张验证码图片,你会发现这验证码很有特点。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1190 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 18:24 · PVG 02:24 · LAX 10:24 · JFK 13:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.