更改RSS源,但只更新新项目

时间:2015-02-18 06:50:45

标签: php rss

我是PHP的新手,我正在尝试编写一个解决以下内容的脚本

  • 我有一个RSS提要,每10分钟保存到我的服务器(从别处复制)。
  • RSS Feed上的时间戳(pubDate标签)存在问题,它们始终具有正确的日期,但格林尼治标准时间00:00:00作为时间戳(我无法控制此时间)。
  • 因此,当我使用自动转发程序从订阅源发送推文(它每小时检查一次)时,它不会 - 它只会推送每天的第一次更新。

因此,我正在尝试修复它在某种程度上是检查Feed是否已更改,如果已更改,则仅将新保存的pubDate更改为当前服务器时间。

我对如何检查更改感到困惑 - 如果我将更正的版本(具有相当准确的时间戳)保存到我的服务器,它总是会认为有更改,因为时间戳会永远是00:00:00。我在想,检查包含完整字符串的项目的两个Feed,例如<guid isPermaLink="true">http://services.runescape.com/m=adventurers-log/a=161/display_player_profile.ws?searchName=A13d&amp;id=-463827091</guid> - 由于最后的id =保持不变,它只会更改<pubDate>找到的新项目。 / p>

http://services.runescape.com/m=adventurers-log/a=161/rssfeed?searchName=A13d这是一个Feed作为示例。如果有人能让我开始或指向我可能有帮助的某种教程,我真的很感激。这是我的头脑,但我需要学习如何做。

1 个答案:

答案 0 :(得分:0)

也许您的代码解析时间戳,日期格式可能有问题?

我相信在具有相同<title>的项目之间进行完整字符串比较(<description>&amp; <guid>)的方法是您最好的选择。如果您有兴趣,请参阅以下RSS duplicate detection