用scrapy从rss抓取新闻网站

Crawl news website from rss with scrapy

我想阅读一些新闻网站的 rss 提要,例如 nytimes.com rss:

<item>
    <title>
        White House Signals Acceptance of Russia Sanctions Bill
    </title>
    <link>
        https://www.nytimes.com/2017/07/23/us/politics/trump-russia-
        sanctions.html?partner=rss&emc=rss
    </link>
    <pubDate>Sun, 23 Jul 2017 23:26:41 GMT</pubDate>
</item>
<item>
    <title>
        News Analysis: For Trump and Putin, Sanctions Are a Setback 
        Both Sought to Avoid
    </title>
    <link>
        https://www.nytimes.com/2017/07/23/world/europe/trump-putin-
        sanctions-hacking.html?partner=rss&emc=rss
    </link>
    <pubDate>Mon, 24 Jul 2017 00:35:14 GMT</pubDate>
</item>

查找我尚未阅读的新项目,并为每个项目商店 link、标题和 GET link 抓取其中的一些内容。 我的问题是我可以为此目的使用 scrapy 吗?如果可以,如何使用?

是的,您可以为此目的使用 Scrapy。您可以使用一些东西来构建您的解决方案:

  • 从设计用于解析 XML 提要的 XMLFeedSpider 开始。提供的 link 中有一个简单示例。
  • 要关注 link 个别文章,从中提取一些数据并将其添加到从 XML 提要中提取的数据,使用 requests chaining.
  • 的概念
  • 你没有指定我还没有读过的项目应该如何实现。如果你的意思是不返回在之前的一些运行中已经抓取的项目,你可以使用 scrapy-deltafetch package.

现在您只需要将这些部分拼凑起来即可。