【发布时间】:2016-10-10 21:29:35
【问题描述】:
我正在使用提要解析器来获取 rss 对象。当我跑步时
live_leak.links
我明白了
[{'type': 'text/html', 'rel': 'alternate', 'href':
'http://www.liveleak.com/view?i=abf_1476121939'},
{'type': 'application/x-shockwave-flash', 'rel': 'enclosure', 'href':
'http://www.liveleak.com/e/abf_1476121939'}]
但是当我尝试这个时
live_leak.links[1]
我的列表索引超出范围,请注意,这在早些时候工作,然后突然这不起作用。我的代码中有这个,我花了几个小时才找到,因为我没有意识到这是行不通的。如果没有人知道我会做一个字符串替换作为一种技巧,但我宁愿做已经在工作的事情。
这也有效
live_leak[0]
返回
[{'type': 'text/html', 'rel': 'alternate', 'href':
'http://www.liveleak.com/view?i=abf_1476121939'}]
这很奇怪,因为另一个不起作用
编辑
def pan_task():
url = 'http://www.liveleak.com/rss?featured=1'
name = 'live leak'
live_leaks = [i for i in feedparser.parse(url).entries]
the_count = len(live_leaks)
ky = feedparser.parse(url).keys()
oky = [i.keys() for i in feedparser.parse(url).entries][:12] # shows what I can pull
try:
live_entries = [{
'html': live_leak.links,
'href': live_leak.links[0]['href'],
'src': live_leak.media_thumbnail[0]['url'],
'text': live_leak.title,
'comments': live_leak.description,
'url': live_leak.links[0]['href'],
'embed': live_leak.links[1]['href'],
'text': live_leak.title,
'comments': live_leak.description,
'name': name,
'url': live_leak.link, # this is the link to the source
'author': None,
'video': False
} for live_leak in live_leaks]
except IndexError:
print('error check logs')
live_entries = []
# for count, elem in enumerate(live_entries):
# the_html = requests.get(live_entries[count]['url']) # a specific text
return print(live_entries[0])
【问题讨论】:
-
如果索引超出范围,则该元素不存在。
-
重新编辑:
print()返回None
标签: python rss feedparser