How can I parse multiple URLs in feedparser (Pytho

2019-03-03 03:33发布

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条回答
干净又极端
2楼-- · 2019-03-03 04:07

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
查看更多
登录 后发表回答