代码之家  ›  专栏  ›  技术社区  ›  Rafael S. Calsaverini

FeedParser和Google News

  •  4
  • Rafael S. Calsaverini  · 技术社区  · 16 年前

    我正在尝试使用带有python的通用feedparser从Google新闻下载新闻语料库(尝试做一些自然语言处理)。我对XML一无所知,我只是用了一个如何使用FeedParser的示例。 问题是我在我从rss feed获得的dict中找不到 内容 新闻的标题。

    我当前尝试使用的代码是:

    import feedparser
    url = 'http://news.google.com.br/news?pz=1&cf=all&ned=us&hl=en&output=rss' 
    # just some GNews feed - I'll use a specific search later
    
    feed = feedparser.parse(url)
    for post in feed.entries:
       print post.title
       print post.keys()
    

    我在这篇文章中得到的关键是标题、摘要、日期等。没有内容。

    这是谷歌新闻的问题还是我做错了什么?有办法吗?

    2 回复  |  直到 9 年前
        1
  •  8
  •   Bartek    16 年前

    你检查过google新闻的提要了吗?

    每个提要中都有一个根元素,其中包含一组信息和实际条目dict。下面是一种查看可用内容的脏方法:

    import feedparser
    d = feedparser.parse('http://news.google.com/news?pz=1&cf=all&ned=ca&hl=en&topic=w&output=rss')
    
    print [field for field in d]
    

    从我们所看到的我们有一个 entries 最有可能包含..新闻条目!如果你:

    import pprint
    pprint.pprint(entry for entry in d['entries'])
    

    我们得到了更多的信息:)这将以一种漂亮的打印方式显示与每个条目相关的所有字段(这就是pprint的用途)。

    因此,要从这个提要获取我们的新闻条目的所有标题:

    titles = [entry.title for entry in d['entries']
    

    所以,好好玩玩吧。希望这是个有帮助的开始

        2
  •  1
  •   David Basarab    16 年前

    首先你需要退房 RSS Specification . 这是一个 feed parser .你应该开始了。

    推荐文章