手动输入验证码
Posted 你若精彩,蝴蝶自来
tags:
篇首语:本文由小常识网(cha138.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)
嗯嗯,应该可以成功获取验证码出来了。
以上是关于手动输入验证码的主要内容,如果未能解决你的问题,请参考以下文章
每次使用 YouTube Data API v3 时如何绕过输入验证码来授权我的代码