我能用PHP解析RSS - 我正在寻找的是能够只获得更新的内容,如果没有新的RSS更新,什么也不做.
例如,我有这个RSS文件,如果没有新内容,没有任何反应,但如果有新内容,我想向我的用户发送最新的RSS更新,而不是重新发送已有的内容.我正在解析并仅发送标题和链接.
我使用cronjob检查每小时的更新.我的问题是如何判断Feed现在已更新,与上一次不同?这是我用来阅读RSS 的PHP文件.我是否将最后一个内容写入文件并进行比较,还是有其他方法可以确定内容现在与上一个不同?
更新:我不得不复活这篇文章,因为我仍然试图让它发挥作用.虽然我接受了一些答案,但它们很难实现,例如哈希选项最初看起来是个好主意,但是当检查数千个RSS时,几乎不可能将它们全部哈希.
再一次,有人建议HTTP缓存 - 我找不到一个简单的演示,所以我几乎卡住了.
任何进一步的建议将受到高度赞赏.
你可以用两种方式使用哈希:
如果有问题的Feed为其项目提供了guid,您可以通过存储guid <>哈希对来优化此过程.这样可以更快地进行比较,因为您只需将项目与已知的先前版本进行比较,而不是与之前的所有项目进行比较.
您仍然需要一些过期/清除机制来将存储的哈希值保持在边界内,但考虑到您只存储相对较短的字符串(取决于所选的哈希算法),您应该能够在获得性能之前保留大量的待办事项问题.
| 归档时间: |
|
| 查看次数: |
1123 次 |
| 最近记录: |