如何使用urllib 2在django-python 2.7中使用url下载和上传图像

时间:2016-08-05 11:52:46

标签: django python-2.7 beautifulsoup urllib2

我使用漂亮的汤来废除Foodily-food website的数据。我是python的新手,所以我在python中有文件处理的知识,我的要求是从上面的url中删除数据然后下载图像并将其上传到我的项目。

我使用的是src图像:

image = soup.find("img",{"itemprop":"image"})['src']

现在我需要下载此图片然后上传。 我使用下面的代码来检索图像并阅读它:

 img = urllib2.urlopen(image)
    html = img.read()
    return HttpResponse(html)

我有一些编码形式的输出,并且不知道该做些什么。

任何指导都将不胜感激。

2 个答案:

答案 0 :(得分:2)

使用urllib2保存图像

import urllib2
img_src = 'https://unsplash.it/500/300'

response = urllib2.urlopen(img_src)
image = response.read()

with open('your_image_name.jpg', 'wb') as out:
    out.write(image)

请注意,python2 and python3中的urllib2不同。 关于django,请查看https://github.com/divio/django-filer和/或https://github.com/SmileyChris/easy-thumbnails以正确保存图片。

此外,要下载图片,请查看jinkspadlock建议的http://docs.python-requests.org/en/master/

答案 1 :(得分:0)

我使用的是请求和shutil:

import requests
import shutil

response = requests.get(iconurl, stream=True)
with open(iconfilepath, 'wb') as out_file:
    shutil.copyfileobj(response.raw, out_file)
del response