How can I parse multiple URLs in feedparser (Python)?

强颜欢笑 提交于 2019-12-02 12:19:57

问题


I'm making a little webapp with some fixed feeds (fixed as in, you can't add feeds like in Feedly or Google Reader)

I tried this, with no luck

RSS_URLS = [
    'http://feeds.feedburner.com/RockPaperShotgun',
    'http://www.gameinformer.com/b/MainFeed.aspx?Tags=preview',
    ]

feed = feedparser.parse(RSS_URLS)

for post in feed.entries:
    print post.title

And this, with no luck

RSS_URLS = [
    'http://feeds.feedburner.com/RockPaperShotgun',
    'http://www.gameinformer.com/b/MainFeed.aspx?Tags=preview',
    ]

feed = []
for url in RSS_URLS:
    feed.append(feedparser.parse(url))

for post in feed.entries:
    print post.title

回答1:


Your second approach is OK, but as you append the feeds into a list, you also will get a list of feeds of entries, thus:

RSS_URLS = [
    'http://feeds.feedburner.com/RockPaperShotgun',
    'http://www.gameinformer.com/b/MainFeed.aspx?Tags=preview',
    ]

feeds = []
for url in RSS_URLS:
    feeds.append(feedparser.parse(url))

for feed in feeds:
    for post in feed.entries:
        print post.title

or to make a flat list of all posts, extend the list with the list of new entries from each url:

posts = []
for url in RSS_URLS:
    posts.extend(feedparser.parse(url).entries)

for post in posts:
    print post.title


来源:https://stackoverflow.com/questions/28683619/how-can-i-parse-multiple-urls-in-feedparser-python

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!