Я выполнение этих строк:Я хотел бы, чтобы поймать изображение из RSS-канал
views.py
def pull_feed(feed_url, posts_to_show=5):
feed = feedparser.parse(feed_url)
posts = []
for i in range(posts_to_show):
pub_date = feed['entries'][i].updated_parsed
published = date(pub_date[0], pub_date[1], pub_date[2])
posts.append({
'title': feed['entries'][i].title,
'summary': feed['entries'][i].summary,
'link': feed['entries'][i].link,
'content': feed['entries'][i].content,
'date': published,
})
return {'posts': posts}
my_template.html
{% for post in posts.posts %}
<h3>{{ post.title }}</h3>
{{ post.content }}
<hr/>
{% endfor %}
Но я хотел бы иметь что-то вроде post.image или поймать изображение (из блога RSS) из post.content, потому что он дает мне следующий результат :
[{'base': u'http://websiteexample.com/feed/', 'type': u'text/html', 'value': u'<p><a href="http://websiteexample.com/wp-content/uploads/2014/12/imageexample.png">}]
Как я могу получить изображение из RSS? Я сохраню его в моей базе данных позже и сделаю что-то вроде пост-репликации.
Что мне следует вводить в строке «значение»? потому что я получаю следующую ошибку: индексы списка должны быть целыми числами, а не str –
Я обновил свой ответ, «значение» - это ключ в словаре, который вы получаете из post.content, пропустил ту часть, где словарь фактически находится в квадратных скобках, так что это на самом деле список словарей (или список с одним единственным словарем), поэтому нужно сверлить в этот индекс списка, чтобы получить значение «значение», так что это: post.content [0] ['value'] – brobas