我正在尝试使用feedparser从reuters.com
获取RSS源。我访问了链接http://in.reuters.com/tools/rss
以获取RSS订阅源的链接,例如http://feeds.reuters.com/reuters/INtopNews
。当我使用feedparser
在python中实现代码时,我只得到10个帖子,如下所示:
import feedparser
feeds = feedparser.parse('http://feeds.reuters.com/Reuters/worldNews')
for feed in feeds['entries']:
print(feed['title'])
但如果我在www.feedreader.com
上可视化相同的链接,当我附加链接并向下滚动时,我会发现更多帖子。如何在python中的feedparser
中获取所有这些RSS帖子?
答案 0 :(得分:1)
您只能从路透社Feed中获取10个项目的原因是因为所有Feed都包含。大多数RSS源仅包含最新的项目,而不是所有项目都会及时返回。 feedparser库读取Feed中当前的内容。
您的代码示例中的路透社Feed包含10个项目。
当RSS阅读器(如Feedreader)显示的项目多于向下滚动时的项目时,这是因为阅读器会保存不再在Feed中的旧项目。基于Web的RSS阅读器通常以这种方式存档项目。
答案 1 :(得分:0)
正如 rcade 提到的,大多数 RSS 提要仅涵盖最近的项目,但可以每天(甚至每小时)收集并使用它。如果你想要类似的东西,你可以从这里使用 Python rssarchive 库:https://pypi.org/project/rssarchive/
#!/usr/bin/env python
import rssarchive as ra
newra = ra.RssArchive(CONFIG_TEST_MODE=True,CONFIG_FULL_TEXT_MODE = False)
newra.batch_save_rss()