gpt4 book ai didi

ruby-on-rails - Feedzirra - 如何获取更新的 RSS 提要?

转载 作者:行者123 更新时间:2023-12-04 19:53:39 27 4
gpt4 key购买 nike

以下代码来自 Feedzirra 的要点,用于从 RSS 提要中获取更新的内容:

feed = Feedzirra::Feed.fetch_and_parse(feed_url)
feed = Feedzirra::Feed.update(feed)
do_something_with_new_feed(feed.new_entries) if feed.updated?

我不明白 Feedzirra 如何知道提要已更新。我无法让它工作。为了知道,我必须将之前(几分钟或几小时前)返回的 Feed 对象 Feedzirra::Feed.fetch_and_parse(feed_url) 传递到 Feedzirra::Feed.update,不是吗?如果我使用刚刚 fetch_and_parse 的提要,它如何知道它是否已更新?

最佳答案

提要(您正在访问的站点)可以但不一定保留一个或两个字段,以确定自您上次访问后它们是否发生了变化。这些是 etag 和最后修改的。如果网站支持其中一个或两个,当您访问提要时,它们将返回给您。您的模型应该为每个感兴趣的提要维护这些字段。 Feedzirra::Feed.update 使用它们来确定自您上次访问后是否更新了提要。这些将允许 Feedzirra::Feed.update 提取自您上次访问以来新的或更改的条目。

如果您既没有 etag 也没有最后修改的字段,无论是因为这是您的第一次访问还是因为站点不提供它们,那么 Feedzirra::Feed.fetch_and_parse 会从该站点提取所有可用的条目。这对于第一次访问是有意义的。它对后续访问意义不大,但如果站点不支持它,你能做什么?

需要说明的是,Feedzirra::Feed.fetch_and_parse 总是提取所有可用的条目。 Feedzirra::Feed.update 仅提取自提供给它的 etag 和/或上次修改日期以来新的或更改的条目。

条目也保持更新/发布日期。

关于ruby-on-rails - Feedzirra - 如何获取更新的 RSS 提要?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18318636/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com