我有这段代码,
import json
from goose import Goose
def extract(url):
g = Goose()
article = g.extract(url=url)
if article.top_image is None:
return "none"
else:
if article.top_image.src is None:
return "none"
else:
resposne = {'image':article.top_image.src}
return article.top_image.src
这里代替“无”我想返回图像文件。为了上传图像文件,我是否需要将图像保存在我的静态文件中并将其作为图像返回?我一直在用静态文件返回图像,但是我不知道如何用python做到这一点,还是有其他方式?
答案 0 :(得分:2)
您拥有article.top_image.src
中图片资源的网址,因此只需下载图片并将其返回即可。您可以使用requests
模块下载部分:
import requests
def extract(url):
article = Goose().extract(url)
if article.top_image is None or article.top_image.src is None
return "none"
r = requests.get(article.top_image.src)
return r.content
这将返回函数中的实际图像数据。
可能您希望将该图像作为HTTP响应返回,在这种情况下,您可以从视图函数返回该图像:
return HttpResponse(extract(url), content_type="image/jpeg")