我有一个非常大的RSS(可能是1M),所以当我读它时,它需要很多时间。如何读取非常大的rss/atom
如果我设置的项目数量看,例如:4,我认为这将不能保证我读了所有,因为我最后一次读它(我将失去一些项目)的最新数据,
我能做什么?
我使用Google AJAX Feed Api来读取RSS/Atom提要。
更新:
我使用谷歌AJAX供稿处理RSS,那么我将数据存储在我的数据库。
我有一个非常大的RSS(可能是1M),所以当我读它时,它需要很多时间。如何读取非常大的rss/atom
如果我设置的项目数量看,例如:4,我认为这将不能保证我读了所有,因为我最后一次读它(我将失去一些项目)的最新数据,
我能做什么?
我使用Google AJAX Feed Api来读取RSS/Atom提要。
更新:
我使用谷歌AJAX供稿处理RSS,那么我将数据存储在我的数据库。
编辑,可能具体的解决办法:
如果从进料访问一组有限的项目都加快了谷歌订阅API访问权限,那么只需继续要求最近的项目,直到你遇到一个你以前见过的物品。除非饲料已被重新订购,否则这将确保所有物品都被看到(但是,请记住饲料物品可能会更新 - 这些更改将会丢失)。
如果访问一组有限的项目没有性能优势,则需要考虑另一种方法,例如服务器端帮助程序(或另一个Feed访问程序)。
一般信息(不针对这个问题):
饲料服务器要正确处理If-Modified-Since头。因此,虽然它不会直接保存1M +下载,但如果Feed已被修改,则只需执行下载。
此外,如果服务器支持范围请求并手动合并数据,则可以从服务器请求一系列数据。即使服务器不支持范围请求,也可以在您之后中止下载有足够的可以继续(使用这种方法将允许您检查入站数据并在恰当的时间终止)。
在任何情况下,您都有责任确保读取足够的内容 - 从那里可以简单地修复本地XML并将其传递到正常的Feed处理器。
而且,无论上述是可能的纯客户端的JavaScript做:-)
你的问题是这样无法回答的。你用什么来阅读饲料?一个1 MB的RSS提要听起来有点夸张 - 是否没有其他更有效的导出机制? – 2010-07-24 22:37:25
任何类型的轮询都会产生问题,因为Google的AJAX API不支持从指定日期开始检索元素,但您可能需要签出[pubsubhubbub](http://code.google.com/p/pubsubhubbub/) ) – Anurag 2010-07-24 22:59:02
尝试阅读更短的内容,如书籍或杂志 – 2010-07-24 23:50:25