V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
dotpig
V2EX  ›  问与答

关于简单验证码的识别

  •  
  •   dotpig · 2016-07-24 10:05:15 +08:00 · 3791 次点击
    这是一个创建于 3035 天前的主题,其中的信息可能已经有所发展或是发生改变。
    受爱国青年的影响,最近喜欢读人民日报。人民日报网站提供 pdf 下载,每一页一个 pdf 文件。本来很好的一件事,我可以弄个脚本每天自动下载、合并一张报纸的十几个 pdf ,回家后就可以看了(本地报纸我就是这么弄的)。但是,人民日报选择给人民制造一点麻烦,就是下载每一页报纸都要输入验证码。验证码很简单,就是 4 个等宽数字,如下图:



    由于我不会编程,咨询一下有没有简单方便的识别方法可用,比如 python 的,最终目的就是在脚本里方便的将验证码识别并提交,然后下载对应的文件( curl )。
    21 条回复    2016-07-25 10:44:31 +08:00
    scnace
        1
    scnace  
       2016-07-24 10:09:17 +08:00 via Android
    尝试一下 ocr
    int64ago
        2
    int64ago  
       2016-07-24 10:11:05 +08:00 via Android
    不需要 OCR ,这种是最简单的,过滤背景-分割-对比
    jswh
        3
    jswh  
       2016-07-24 11:29:23 +08:00
    @int64ago 还是 OCR 方便,自己写其实最终也是 OCR 那一套。

    https://github.com/tesseract-ocr/tesseract
    niboy
        4
    niboy  
       2016-07-24 11:36:06 +08:00
    PIL
    dotpig
        5
    dotpig  
    OP
       2016-07-24 12:14:11 +08:00
    发现有 PyTesser 可用。悲剧的是,我发现人民日版数字版其实要钱的,下了三页以后就要求输入订阅帐号了。那我只能上网学习人民日报了。
    Garantion
        6
    Garantion  
       2016-07-24 12:14:31 +08:00
    最简单的 KNN 即可 Github 上一搜一大把
    yangxiongwei
        7
    yangxiongwei  
       2016-07-24 12:15:28 +08:00
    tscat
        8
    tscat  
       2016-07-24 12:17:56 +08:00
    二值化之后 ocr 就行
    klesh
        9
    klesh  
       2016-07-24 13:16:33 +08:00
    会 python 不会编程?
    bazingaterry
        10
    bazingaterry  
       2016-07-24 13:22:52 +08:00 via iPhone
    这个和我校的教务系统很像,我处理的时候直接 OCR 就有 70% 成功率。
    popok
        11
    popok  
       2016-07-24 13:50:21 +08:00
    次世代验证码识别,可以找下破解版。
    SDK 例程: http://antiyzm.sinaapp.com/
    就你这个验证码的话,识别率可以到 100%
    popok
        12
    popok  
       2016-07-24 14:04:59 +08:00

    新建工程,然后每个数字都做一个字模,然后生成 cds 文件,用 python 调用一个 dll ,加载这个字模文件,就能识别了
    coolzjy
        13
    coolzjy  
       2016-07-24 14:15:02 +08:00   ❤️ 1
    这种类型的验证码,曾经用 JavaScript 搞了一个在浏览器环境中识别的。
    http://coolzjy.github.io/captcha-reader/
    coolzjy
        14
    coolzjy  
       2016-07-24 14:22:35 +08:00
    @dotpig 下载三页确定不是 cookie 控制的?
    fusae
        16
    fusae  
       2016-07-24 16:13:46 +08:00
    DaCong
        17
    DaCong  
       2016-07-24 16:30:00 +08:00
    我记得我曾经搞过一个类似的,好像是教务系统的。
    说一下大致思路:
    1. 图片降噪
    2. OCR 识别
    bumz
        18
    bumz  
       2016-07-24 18:24:34 +08:00
    @Garantion KNN 指什么? k-Nearest Neighbors?
    Garantion
        19
    Garantion  
       2016-07-24 20:15:00 +08:00
    @bumz 是的,不好意思,写缩写写错了,应该是 k-NN 。
    panda0
        20
    panda0  
       2016-07-25 08:36:24 +08:00
    tesseract 我刚试了下,好像毫无难度。
    dotpig
        21
    dotpig  
    OP
       2016-07-25 10:44:31 +08:00
    各位,看到大家的回复,很感谢。我在 5 楼说了,找到 PyTesser 了(基于 tesseract )。但是现在找到也没用,因为人民日报电子版需要订阅才能看。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5300 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 07:15 · PVG 15:15 · LAX 23:15 · JFK 02:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.