首页 > 解决方案 > 在 python 读取主程序上的 RSS Flux 时列出超出范围的错误

问题描述

目标是在不和谐机器人中拥有一个发布 RSS 通量新闻的命令

我有这段代码可以获取最新的 rss 新闻并在终端中打印:

print ('Number of RSS posts :', len(NewsFeed.entries))
entry = NewsFeed.entries[1]

print (entry.published)
print ("******")
news = entry.summary
news = news.replace('<p>', '')
news = news.replace('</p>', '')
news = news.replace('<li>', '')
news = news.replace('</li>', '')
news = news.replace('<ul>', '')
news = news.replace('</ul>', '')
news = news.replace('<a>', '')
news = news.replace('</a>', '')
news = news.replace('<strong>', '')
news = news.replace('</strong>', '')
news = news.replace('<s>', '')
news = news.replace('</s>', '')
news = news.replace('<em>', '')
news = news.replace('</em>', '')
news = news.replace('&amp', '&')
print(news)

它可以完美地单独工作但是当我像这样将它放在机器人的主程序中时(使用 bot 命令)

@bot.command (name="warframenews")
    async def warframenews(ctx):
    print("warframenews")
    NewsFeed=feedparser.parse("http://content.warframe.com/dynamic/rss.xml")
    entry = NewsFeed.entries[1]
    news = entry.summary
    news = news.replace('<p>', '')
    news = news.replace('</p>', '')
    news = news.replace('<li>', '')
    news = news.replace('</li>', '')
    news = news.replace('<ul>', '')
    news = news.replace('</ul>', '')
    news = news.replace('<a>', '')
    news = news.replace('</a>', '')
    news = news.replace('<strong>', '')
    news = news.replace('</strong>', '')
    news = news.replace('<s>', '')
    news = news.replace('</s>', '')
    news = news.replace('<em>', '')
    news = news.replace('</em>', '')
    await ctx.send(news)

我有一个“列表超出范围”错误,但现在不知道为什么错误附加在“entry = NewsFeed.entry[1]”行上,请帮忙

标签: pythonrssdiscord.py

解决方案


推荐阅读