如何从url获取文件,然后像读取本地文件一样读取它?

2024-04-19 00:05:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个jpg图像,它存储在一个url中,我需要从该url访问和读取二进制/字节数据

我可以使用以下方法获取Python中的文件:

import urllib3

http = urllib3.PoolManager()

url = 'link to jpg'

contents = http.request('GET' url)

单纯地用contents.data从这个请求中读取数据并不能提供正确的二进制文件,但是如果我下载文件并在本地读取,我会得到正确的二进制文件。但我无法继续读取文件内容:

with open(contents, "rb") as image:
     f = image.read()

使用请求中的字节也不起作用:

with open(contents.data, "rb") as image:
     f = image.read()

如何将url中的jpg视为本地的,以便正确读取二进制文件


Tags: 文件imagehttpurlreaddata字节as
1条回答
网友
1楼 · 发布于 2024-04-19 00:05:48

当本地读取文件时,在f中获得的结果与contents.data的结果完全相同

import urllib3

http = urllib3.PoolManager()

url = 'https://tinyjpg.com/images/social/website.jpg'

contents = http.request('GET', url)
with open('website.jpg', "rb") as image:
     f = image.read()

print(f==contents.data)

您可以从代码中的链接下载图像,然后运行此代码,您将收到输出True,这意味着从本地图像文件读取的数据与从网站读取的数据相同

相关问题 更多 >