读取RSS源:聚合器做了什么我没做的?

0 投票
2 回答
1058 浏览
提问于 2025-04-16 02:09

我把下面这个链接放进了Google Reader,它更新得很正常。

http://www.indeed.ca/rss?q=&l=Hamilton%2C+ON

但是,当我用网上推荐的几种方法去读取这个源并解析我收到的XML时,我总是只能看到同样的20条内容。

Google Reader是怎么做到的,我在代码里该怎么做才能收到新的内容呢?

谢谢你的建议。顺便说一下,我是在用Python编程。

2 个回答

0

1) 你试过用其他的RSS源吗?

2) 如果试过的话,听起来像是缓存的问题……你是在某个代理服务器后面吗?

3

RSS聚合器会定期“轮询”各个信息源,也就是说,它们会不断地重复发送HTTP请求,查看这些信息源有没有新内容。这种方式其实并不好,因为轮询就像是在不停地问“我们到了吗?”一样,浪费了很多资源(就像带着小孩长途开车一样;-),而且还会有延迟(比如你每小时查询一次某个信息源,那你可能得等上一个小时才能看到新结果)。

不幸的是,在RSS的架构中,并没有其他的选择,无法在有新内容出现时请求“回调”,也不能选择更合理的“发布-订阅架构”。

为了解决这个问题,有一个不错的尝试叫做pubsubhubbub,但这需要RSS信息源和聚合器的合作(超出了RSS标准的要求)——所以在被称为“解决方案”之前,它需要广泛的采用,尽管从技术上讲,它已经是一个解决方案(对于合作的网站来说;-)。

所以回到你的问题,你并没有做错什么:你只需要像RSS聚合器那样定期轮询,才能最终看到新结果。

撰写回答