javascript - python 如何下载验证码图片?
巴扎黑
巴扎黑 2017-04-10 17:19:23
[JavaScript讨论组]

比如说网易邮箱注册页面
http://reg.email.163.com/unireg/call.do?cmd=register.entrance&from=163mail_right

我想要下载验证码图片然后用 ORC 识别,但是识别出来的验证码好像和服务器后端的不一样

<img id="mVcodeImg" class="vCode" width="120" height="50" alt="验证码" src="/unireg/call.do?cmd=register.verifyCode&v=common/verifycode/vc_en&vt=mobile_acode&t=1457058837406" style="cursor:pointer;">页面源代码这里 t=1457058837406 好像是动态的,
那么请问怎样才能正确下载到和服务器一致的验证码图片呢?

巴扎黑
巴扎黑

全部回复(3)
PHP中文网

带cookie

ringa_lee

首先这个东西不能看静态源代码来下载的,需要模拟请求。那个t其实就是当时的时间,通过模拟发送请求,这样就可以把图片下载下来,如下:

#!/usr/bin/env python
# encoding: utf-8

import urllib2
import urllib
import time


def down_pic():
    url ='http://reg.email.163.com/unireg/call.do?'

    para= { #构造请求参数
        'cmd': 'register.verifyCode',
        'v': 'common/verifycode/vc_en',
        'vt': 'mobile_acode',
        't': int(time.time())
    }
    encode_url = url + urllib.urlencode(para)
    req = urllib2.Request(encode_url)
    data = urllib2.urlopen(req).read()
    pic = file('very.jpg', 'wb')
    pic.write(data)
    pic.close()


if __name__ == '__main__':
    down_pic()

大致这样子了,可以在当前目录下,看到一个图片文件,如果不想每次都保存的话,可以使用tempfile,程序结束会删除掉验证码图片。可以多看看爬虫方面的东西

PHPz

你想说的是ocr吧,这种图片进行机器学习的成本还是比较高的。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号