直接将图像从URL转换为base64而无需在Python中另存为文件的方法

inkz8wg9  于 2023-03-11  发布在  Python
关注(0)|答案(3)|浏览(307)

我想将基于Web的图像转换为base64。我目前知道如何将图像另存为.jpg文件,然后使用base64库将.jpg文件转换为base64字符串。
我想知道我是否可以先跳过保存图像的步骤?谢谢!

7gs2gvoe

7gs2gvoe1#

使用requests库:

import base64
import requests

def get_as_base64(url):

    return base64.b64encode(requests.get(url).content)
zujrkrfu

zujrkrfu2#

由于requests不是一个官方的包,我更喜欢使用urllib。

from urllib.request import urlopen 
import base64

base64.b64encode(urlopen("http://xxx/yyy/abc.jpg").read())
8qgya5xd

8qgya5xd3#

下面是我的解决方案::--

from base64 import b64encode
def url_to_base64(url):
    headers = {
        "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 \
            (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36",
        "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
    }
    return b64encode(requests.get(url, headers=headers, timeout=120).content).decode(
        "utf-8"
    )

相关问题