4

我正在尝试使用带有 python 的通用 feedparser 从 Google 新闻下载新闻语料库(尝试进行一些自然语言处理)。我真的对 XML 一无所知,我只是在使用一个如何使用 feedparser 的示例。问题是我在从 RSS 提要获得的 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()

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

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

4

2 回答 2

8

您检查过来自 Google 新闻的提要吗?

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

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']

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

于 2009-11-04T02:50:01.753 回答
1

首先,您需要查看RSS 规范。这是一个提要解析器。那应该让你开始。

于 2009-11-04T02:46:31.043 回答