Python - 从网址保存图像[重复]

Posted

技术标签:

【中文标题】Python - 从网址保存图像[重复]【英文标题】:Python - Saving an image from a url [duplicate] 【发布时间】:2011-05-17 01:10:22 【问题描述】:

有没有办法使用 urllib 或 Beautiful Soup 从 url 保存图片?

-谢谢

【问题讨论】:

【参考方案1】:

你想要urllib.urlretrieve()

【讨论】:

【参考方案2】:

不需要 Beautiful Soup,因为我假设您需要读取二进制文件。 只需读取流并将其存储为文件即可。

import urllib                                       
url = "http://example.com/file.pdf"
uopen = urllib.urlopen(url)
stream = uopen.read()
file = open('filename','w')
file.write(stream)
file.close()

顺便说一句。解决多千兆图像问题

import urllib
urllib.urlretrieve('url', 'filename')

第二个代码 sn-p 会更可靠.. 感谢Ignacio Vazquez-Abrams 启发这个大文件问题。

【讨论】:

【参考方案3】:

这是为我自己写的。

def get_file(url):
    file_temp = NamedTemporaryFile()
    file_temp.write(urllib2.urlopen(url).read())
    file_temp.flush()
    return File(file_temp)

【讨论】:

【参考方案4】:

在读取数据的同时写入文件。

from urllib.request import urlopen

local_file_name = 'localfile.txt'
remote_url = 'http://localhost/example'

remote_file = urlopen(remote_url)
local_file = open(file_name, "w")
local_file.write(remote_file.read())
local_file.close()

【讨论】:

这是一个不温不火的例子,尽管您不会遇到很多数 GB 的图像。 太好了,非常感谢! :D 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效

以上是关于Python - 从网址保存图像[重复]的主要内容,如果未能解决你的问题,请参考以下文章

将图像从相机保存到数据库[重复]

从 Base64 字符串保存图像不会打开 [重复]

如何以编程方式保存来自 URL 的图像?

枕头图像打开保存未按预期工作[重复]

railscarrierwave - 图像网址保存在数据库中但文件未保存

从外部 URL 下载图像,使用 JavaScript 和 ExpressJs 保存在服务器上 [重复]