feedparser和谷歌新闻

时间:2009-11-04 02:41:41

标签: python rss feedparser google-news

我正在尝试使用带有python的通用feedparser从Google新闻下载新闻集(尝试进行一些自然语言处理)。我对XML一无所知,我只是使用了如何使用feedparser的示例。 问题是我无法在RSS提要中找到新闻的内容标题。

我目前正在尝试使用的代码是:

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 个答案:

答案 0 :(得分:8)

您是否检查了Google新闻中的Feed?

每个Feed中都有一个根元素,其中包含一堆信息和实际条目。这是一种肮脏的方式来查看可用的内容:

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的用途)

因此,要从此Feed中获取所有新闻条目的标题:

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

所以,玩弄它。希望这是一个有益的开始

答案 1 :(得分:1)

首先,您需要查看RSS Specification。这是一个feed parser。这应该让你开始。