问题场景:
这种图片地址类型,如果用request直接去请求是得不到二进制数据的。
这种需求还是比较常见的,我每次都是去百度,在csdn中去找,这次记录下来,以后也方便自己。
代码解析:
import base64
import re
def analysis_base64(src):
result = re.search("data:image/(?P<ext>.*?);base64,(?P<data>.*)", src, re.DOTALL)
if result:
ext = result.groupdict().get("ext")
data = result.groupdict().get("data")
else:
raise Exception("Do not parse!")
img = base64.urlsafe_b64decode(data)
return img
- 导入base64库和re库
- 通过re.search方法将图片类型和数据拿出来
- 用base64.urlsafe_b64decode方法进行解码,就可以直接拿到数据流