如何解决如何从 url 获取文件,然后像本地文件一样读取它?
我有一个 jpg 图像,该图像存储在一个 url 中,我需要从中访问和读取二进制/字节数据。
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 视为本地文件,以便我可以正确读取二进制文件?
解决方法
本地读取file时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
,这意味着从本地图片文件读取的数据与从网站读取的数据相同。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。