python3将网络图片读取到内存并获取图片Base64编码

有时候需要一个远程图片的base64编码而不想下载图片,其实可以通过几条简单的命令就可以获取到图片的base64编码

直接看下面的例子吧

#!/usr/bin/python3
#coding:utf-8
from io import BytesIO
import requests
import base64

img_url = "https://sulao.cn/zb_users/theme/plain/style/images/logo.png"
response = requests.get(img_url)
img_bs64 = base64.b64encode(BytesIO(response.content).read())
print(img_bs64)

打印的结果是

b'iVBORw0KGgoAAAANSUhEUgAAAOYAAAA8CAYAAAByz8byAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MzA0M0JGQTI2MTk0MTFFNTk1NjRCNDMxODIyOTRCNjciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MzA0M0JGQTM2MTk0MTFFNTk1NjRCNDMxODIyOTRCNjciPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozMDQzQkZBMDYxOTQxMUU1OTU2NEI0MzE4MjI5NEI2NyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozMDQzQkZBMTYxOTQxMUU1OTU2NEI0MzE4MjI5NEI2NyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PiyB0zEAAAqGSURBVHja7F1PqCRH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'

如果我们需要将图片再写入到硬盘那么很简单,b64decode解码后使用二进制模式写入文件即可

with open("1.jpg", "wb") as f:
    f.write(base64.b64decode(img_bs64))


内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/699.html

我要评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。