以简单的方式通过请求获取图像

2024-05-02 02:30:15 发布

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

我发现urlliba handy way从url获取图像:

urllib.urlretrieve( url, localName )

然而the ^{} way似乎有点棘手。甚至答案也建议urllib去做这项工作。你知道吗

requests真的不能像urllib那样做吗? 或者,是否有类似于urllib.urlretrieve()requests接口?你知道吗

我的项目当前仅使用requests。 我不想只为一个功能导入另一个工具。你知道吗


Tags: 工具the项目答案图像功能urlurllib
3条回答

您可以随时发出GET请求,读取响应,然后将其保存到文件中。你知道吗

f=open("filename.jpeg","w")
data=requests.get("http://example.com/img.jpeg");
f.write(data.content)
f.close()

请注意urllib.urlretrieve文件()对于现代不可靠的服务是无用的。如果服务器的应答状态代码为500(内部服务器错误),则无法检测到它:该函数只会写下服务器的应答(空一或“500内部服务器错误”或其他任何内容)。你知道吗

通过请求,您可以检查状态代码。你知道吗

只需将响应的响应content保存到二进制文件,例如:

In [1]: import requests
In [2]: r = requests.get('https://lh3.googleusercontent.com/-NwXieow8Dac/VfWsN9Gnc4I/AAAAAAAATB8/dbaO0RKfIhE/w426-h538/PP_%2B1944wm.jpg')
In [3]: with open('fred.jpg', 'wb') as outfile:
   ...:     outfile.write(r.content)
In [4]: exit()

保存图像很好。你知道吗

相关问题 更多 >