【问题标题】:How to collect all feeds though feedparser in python?如何通过 python 中的 feedparser 收集所有提要?
【发布时间】:2016-10-21 09:29:29
【问题描述】:

我正在尝试使用 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 帖子?

【问题讨论】:

标签: python rss feedparser


【解决方案1】:

您只能从 Reuters 提要中获得 10 件商品的原因是提要包含的全部内容。大多数 RSS 提要只有最新的项目,而不是所有项目都可以追溯到过去。 feedparser 库读取提要中当前的内容。

您的代码示例中的 Reuters 提要包含 10 个项目。

当您向下滚动时,如果像 Feedreader 这样的 RSS 阅读器显示的项目多于您向下滚动的项目,那是因为阅读器会保存不再在提要中的旧项目。基于 Web 的 RSS 阅读器通常以这种方式归档项目。

【讨论】:

    【解决方案2】:

    正如 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()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-29
      • 1970-01-01
      • 1970-01-01
      • 2020-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多