【发布时间】:2015-12-24 17:08:48
【问题描述】:
游戏计划是提取那些主要图像,并在索引页面中以缩略图的形式显示它们。我在这个功能上遇到了很多麻烦,互联网上似乎没有这个功能的例子。 我找到了三个选项 1. beautifulsoup// 似乎人们使用这种方法最多,但我不知道beautifulsoup 是如何找到代表图像的……而且我认为它需要的工作最多。 2. python goose//这看起来是合法的。文档说它提取主图像,我想我需要相信他们的话。问题是我不知道如何在 django 中使用它。 3. embedly//....我需要的功能可能是错误的选择。我正在考虑为这个项目使用 python goose。 我的问题是您将如何解决这个问题?你知道任何例子或者可以提供一些我可以看的例子吗?为了从用户提供给我的页面的图像中提取图像,我可能可以使用 sorl-thumbnail(right?_) 但对于发布的链接....??
Edit1:使用python goose,看起来(主)图像抓取非常简单。问题是我不确定如何将脚本用于我的应用程序,我应该如何将该图像转换为右侧缩略图并显示在我的 index.html 上... 这是我的 media.py(不确定它是否有效
import json
from goose import Goose
def extract(request):
url = request.args.get('url')
g = Goose()
article = g.extract(url=url)
resposne = {'image':article.top_image.src}
return json.dumps(resposne)
来源:https://blog.openshift.com/day-16-goose-extractor-an-article-extractor-that-just-works/ 博客示例使用的是烧瓶,我尝试为使用 django 的人制作脚本
编辑 2:好的,这是我的方法。我真的认为这是对的,但不幸的是它没有给我任何东西。没有错误或没有图像,但 python 语法是正确的....如果有人为什么它不起作用,请告诉我
模型.py
类帖子(models.Model): url = models.URLField(max_length=250, blank=True, null=True)
def extract(request, url):
url = requests.POST.get('url')
g = Goose()
article = g.extract(url=url)
resposne = {'image':article.top_image.src}
return json.dumps(resposne)
索引.html
{% if posts %}
{% for post in posts %}
{{ post.extract}}
{%endfor%}
{%endif%}
【问题讨论】: