码迷,mamicode.com
首页 > 其他好文 > 详细

手动输入验证码

时间:2017-03-31 12:56:20      阅读:242      评论:0      收藏:0      [点我收藏+]

标签:code   open   headers   需要   ima   http   self   www   .com   

总结:

因为一些验证码使用ocr识别效率比较低,所以就是有时候需要使用手动输入验证码,那么首先就是需要在网页上找到验证码的链接,很多时候验证码的链接是后面有个时间戳的失效时间的,

例如:

code_url = https://www.xinhehui.com/Index/Index/verify?version=58d8e16c99f39

version后面就是经过时间戳得到的,所以就是如果不是根据这个时间戳来获取,会有一个过期或者叫做失效的一个情况出现。

那么获得验证码的链接之后,就可以去下载图片了,如下是使用requests去获取的,

1、第一根据获取得到的二进制而去打开的一个图片:

image = requests.get(self.code_url,headers=headers,stream=True,verify=False)
        i = Image.open(StringIO(image.content))
        i.show()

是使用二进制流去打开图片

2、还有一个办法就是直接下载下来一个路径,然后再打开图片进行获取该验证码。

with closing(requests.get(self.code_url,headers=headers,stream=True,verify=False)) as response1:
            with open(self.path + str(2) + .jpg, wb) as fd:
                for chunk in response1.iter_content(128):
                    fd.write(chunk)

嗯嗯,应该可以成功获取验证码出来了。

手动输入验证码

标签:code   open   headers   需要   ima   http   self   www   .com   

原文地址:http://www.cnblogs.com/caicaihong/p/6650731.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!