Python - 从网址保存图像

时间:2010-11-29 00:40:42

标签: python beautifulsoup urllib

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

-Thanks

4 个答案:

答案 0 :(得分:5)

你想要urllib.urlretrieve()

答案 1 :(得分:3)

不需要美丽的汤,因为我认为你需要阅读二进制文件。 只需读取流并将其存储为文件即可。

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')

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

答案 2 :(得分:0)

只需在读取数据时写入文件。

这是一个简单的example

答案 3 :(得分:0)

刚给自己写了这个。

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