有没有在网站上显示大量外部RSS源的方法,而无需对它们进行物理重新擦除?

时间:2010-06-28 22:30:14

标签: php rss

IMDb为他们列出的每部电影都有一个单独的RSS源。我有一个网站有很多与电影相关的网页,我每个网站都存储了一个IMDB ID。

我希望为每部电影显示每个RSS Feed的前5个结果。 Feed看起来像这样: http://rss.imdb.com/title/tt1013743/news

你可以想象,IMDB有超过一百万部电影被索引,其中大部分实际上都是活跃的。许多人每天更新几次。有没有办法从IMDB获取新闻的实时馈送,而不是让我的服务器每天多次为每部电影实际获取每个RSS源?

2 个答案:

答案 0 :(得分:0)

我认为简短的回答是否定的。 除非imdb本身提供这样的提要,否则某处必须完成单独提取每个提要的工作,以便找到包含最近更新的新闻的电影。

有一个overall site news feed,但我真的认为这不符合您的要求。

我认为从理论上讲,您可以使用Yahoo Pipes来提供组合Feed,然后您的服务器只需要获取该单个Feed。但是,你仍然需要在每个电影提要中找到它,或者找到一些方法来循环它们(你的每个新电影的rss uri例子的'tt1013743'部分会增加吗?)。实际上我不知道Pipes是否能够管理这个潜在的巨大任务。您最好的选择可能是联系imdb并要求添加“最近更新”的RSS订阅源。

答案 1 :(得分:0)

您可以在每个版本的数据库中存储内容长度标题信息。两个版本不太可能具有完全相同的字节长度,并且可能发生的最糟糕的事情就是丢失更新,但这不是一个大问题。通过这种方式,您只需要发送非常便宜的 HEAD http请求。在服务器端,您可以存储压缩的生成的缓存文件(gzcompress),以确保可能的文件大小最小。这样您还可以节省XML解析RSS源的时间。

此外,您可以尝试YQL仅从Feed中获取5条最新消息。此外,请确保使用 cURL获取 RSS,因为它非常灵活且接受压缩输入,因此您可以减少带宽使用和传输时间