nickliqian / cnn_captcha

use cnn recognize captcha by tensorflow. 本项目针对字符型图片验证码,使用tensorflow实现卷积神经网络,进行验证码识别。
Apache License 2.0
2.77k stars 783 forks source link

2.10 在线识别的问题 #130

Open sailor613 opened 4 years ago

sailor613 commented 4 years ago

感谢大佬分享,这是我第一个接触的验证码识别项目,这两天照着大佬的程序自己跑了一边,目前程序都跑通了,运行“python3 test_batch.py”显示“100个样本识别耗时4.151228427886963秒,准确率72.0%”。 另外通过运行recognize_online.py这个程序,sample_config中的”remote_url“也已经改成了我自己想要识别的验证码地址,输出的结果也是正确识别对应的验证码。输出结果如下所示: `接口响应: { "speed_time(ms)": 15, "time": "15835750062495346", "value": "9732" }

【2020-03-07 17:56:46】 index:0 耗时:15ms 预测结果:9732 ============== end ==============` 上述都一切正常,我想尝试使用“2.10 在线识别”,运行python webserver_captcha_image.py后,应该是访问我的remote_url地址后台会有输出,但是结果没有输出,我还是访问http://127.0.0.1:6100/captcha/ 才有输出,但那个不是我需要的东西,我想问下这个步骤我需要怎么修改才能正确使用。 另外,我的核心需求是我的爬虫访问某个网址的时候,输入用户名和密码,同时利用您这个项目识别验证码后自动填充,我的爬虫和你这个项目如何连接呢,谢谢!

xujiawei98 commented 4 years ago

求问大佬这个recognize_local和recognize_online怎么运行

sailor613 commented 4 years ago

求问大佬这个recognize_local和recognize_online怎么运行

直接运行这个py文件就可以了哇。

xiejunping commented 4 years ago

python webserver_captcha_image.py 是启动一个 可以生成 验证码的服务, 这个主要是用来当作你要破解的网站的,

xujiawei98 commented 4 years ago

是先运行api再运行webserver_captcha_image.py,才能运行online识别吗,为什么我的显示 HTTPConnectionPool(host='127.0.0.1', port=6100): Max retries exceeded with url: /captcha/ (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x00000249C0A111D0>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。',))

local是也要先运行api才能识别是吧

xiejunping commented 4 years ago

昨晚我的跑出来了,先跑完, UTOOLS1584755382928.png

再执行 test_batch.py 69340259-E7FA-47b5-84E3-15A1F1F96A62.png

要跑线上服务,首先得跑起 webserver_recognize_api.py 这是个服务,会占一个会话窗口,另起一个, FF2AF782-AA76-4e99-B8D4-5CFF6BD99493.png

还得起个服务,webserver_captcha_image.py 这个是提供线上网站的验证码的,就像是你爬取的对象 9E3F6801-8AE1-4b74-B043-0644E5DCDE35.png

最后线上验证 python recognize_online.py AAFA55B5-E924-4464-A14F-C1D0356187E5.png `【2020-03-21 09:22:14】 index:0 耗时:13ms 预测结果:qb39 ============== end ============== PS F:\workspace\python\cnn_captcha> python .\recognize_online.py 接口响应: { "speed_time(ms)": 8, "time": "15847537354767697", "value": "PjrQ" }

【2020-03-21 09:22:15】 index:0 耗时:14ms 预测结果:PjrQ ============== end ============== PS F:\workspace\python\cnn_captcha> python .\recognize_online.py 接口响应: { "speed_time(ms)": 6, "time": "1584753737786458", "value": "D6ym" }

【2020-03-21 09:22:17】 index:0 耗时:14ms 预测结果:D6ym ============== end ============== PS F:\workspace\python\cnn_captcha>`

但是只能识别这个库生成的图片,我把地址换成线上其他网站的网址,就会报 请使用正确的尺寸和会话。

sailor613 commented 4 years ago

昨晚我的跑出来了,先跑完, UTOOLS1584755382928.png

再执行 test_batch.py 69340259-E7FA-47b5-84E3-15A1F1F96A62.png

要跑线上服务,首先得跑起 webserver_recognize_api.py 这是个服务,会占一个会话窗口,另起一个, FF2AF782-AA76-4e99-B8D4-5CFF6BD99493.png

还得起个服务,webserver_captcha_image.py 这个是提供线上网站的验证码的,就像是你爬取的对象 9E3F6801-8AE1-4b74-B043-0644E5DCDE35.png

最后线上验证 python recognize_online.py AAFA55B5-E924-4464-A14F-C1D0356187E5.png `【2020-03-21 09:22:14】 index:0 耗时:13ms 预测结果:qb39 ============== end ============== PS F:\workspace\python\cnn_captcha> python .\recognize_online.py 接口响应: { "speed_time(ms)": 8, "time": "15847537354767697", "value": "PjrQ" }

【2020-03-21 09:22:15】 index:0 耗时:14ms 预测结果:PjrQ ============== end ============== PS F:\workspace\python\cnn_captcha> python .\recognize_online.py 接口响应: { "speed_time(ms)": 6, "time": "1584753737786458", "value": "D6ym" }

【2020-03-21 09:22:17】 index:0 耗时:14ms 预测结果:D6ym ============== end ============== PS F:\workspace\python\cnn_captcha>`

但是只能识别这个库生成的图片,我把地址换成线上其他网站的网址,就会报 请使用正确的尺寸和会话。

感谢,上面的步骤我这边也没问题,我现在的需求是想给一个验证码的地址,然后给我范围验证码,我再填入框框验证。

guoyu1998 commented 3 years ago

老哥,为什么用test测试出来的准确率90%+ 但是用recognize_local.py这个测试本地图片的时候,几乎就都不对啊 测出来的,,这是啥情况啊求教求教