如何订阅RSS更新?
我现在订阅了一个新的RSS源, 我已经用PHP把文章解析完成, 但是,这个rss源是加载全部的文章进行显示的, 在下次他的网络文章有更新的时候.
1.
我如何只获取更新的文章?
2.
我如何知道他的网络文章更新了没有
?
scream
10 years, 10 months ago
Answers
首先回答你第二个问题, 我如何知道他的网络文章更新了没有?
一般来说,对方新增的文章都是在上次更新文章之前,那么就可以记录上次解析rss时的文章id(如果无法获取id,获取url地址作为文章id也可以),然后通过判断第一篇的文章id是否是上次解析记录的id,如果不是,则认为有更新了,否则则认为没有更新。
我如何只获取更新的文章?
如果上面步骤判断文章有更新,则将rss解析成列表,遍历解析的列表,直到获取到和上次记录的文章id一致时停止,则之前的文章都是更新的。
更新:
可以通过使用正则查找替换,例如你用正则匹配到相同的文章id的部分,则从查找的位置替换为一个节点的关闭,举个例子:
假设的上次文章id为3,
<rss>
<item>
<id>1</id>
</item>
<item>
<id>2</id>
</item>
<item>
<id>3</id>
</item>
<item>
<id>4</id>
</item>
<item>
<id>5</id>
</item>
</rss>
那么通过正则找
找到之后,将后面的内容
替换成
则变成
那么就可以认为是更新后的内容了
yzxdc
answered 10 years, 10 months ago