Feedparser - 从Google阅读器中检索旧邮件

时间:2009-11-04 19:58:05

标签: python rss google-reader feedparser

我正在使用python中的feedparser库从当地报纸上检索新闻(我的目的是通过这个语料库进行自然语言处理),并希望能够从RSS提要中检索许多过去的条目。

我不太了解RSS的技术问题,但我认为这应该是可能的(我可以看到,例如,当我移动滚动条时,Google Reader和Feedly可以“按需”执行此操作) 。

当我执行以下操作时:

import feedparser

url = 'http://feeds.folha.uol.com.br/folha/emcimadahora/rss091.xml'
feed = feedparser.parse(url)
for post in feed.entries:
   title = post.title

我只收到十几个条目。我在想几百个。如果可能的话,也许是上个月的所有参赛作品。是否可以仅使用feedparser执行此操作?

我打算从rss中获取仅包含新闻项的链接,并使用BeautifulSoup解析整个页面以获取我想要的文本。另一种解决方案是跟踪页面中所有本地链接的爬虫,以获取大量新闻,但我想暂时避免这样做。

-

出现的一个解决方案是使用Google阅读器RSS缓存:

http://www.google.com/reader/atom/feed/http://feeds.folha.uol.com.br/folha/emcimadahora/rss091.xml?n=1000

但要访问此内容,我必须登录Google阅读器。谁知道我是如何从python那样做的? (我真的不知道关于网络的事情,我通常只讨论数值计算)。

2 个答案:

答案 0 :(得分:9)

您只会收到十几个条目,因为这是Feed所包含的内容。如果您需要历史数据,则必须找到所述数据的Feed /数据库。

查看此ReadWriteWeb article以获取有关在网络上查找开放数据的一些资源。

请注意,Feedparser与此标题无关。 Feedparser会解析您提供的内容。它找不到历史数据,除非您找到它并将其传递给它。它只是一个解析器。希望这能说明问题! :)

答案 1 :(得分:3)

要扩展Bartek的答案:您还可以开始存储您已经看过的Feed中的所有条目,并建立您自己的Feed内容的历史存档。这会延迟你开始使用它作为语料库的能力(因为你必须这样做一个月才能建立一个月的条目集合),但你不会依赖其他任何人来获取数据

我可能会弄错,但我很确定Google阅读器能够及时回归:他们将每个Feed的过去条目存储在某个地方。