2010-07-24 30 views
-1

我有一个非常大的RSS(可能是1M),所以当我读它时,它需要很多时间。如何读取非常大的rss/atom

如果我设置的项目数量看,例如:4,我认为这将不能保证我读了所有,因为我最后一次读它(我将失去一些项目)的最新数据,

我能做什么?

我使用Google AJAX Feed Api来读取RSS/Atom提要。

更新:

我使用谷歌AJAX供稿处理RSS,那么我将数据存储在我的数据库。

+0

你的问题是这样无法回答的。你用什么来阅读饲料?一个1 MB的RSS提要听起来有点夸张 - 是否没有其他更有效的导出机制? – 2010-07-24 22:37:25

+0

任何类型的轮询都会产生问题,因为Google的AJAX API不支持从指定日期开始检索元素,但您可能需要签出[pubsubhubbub](http://code.google.com/p/pubsubhubbub/) ) – Anurag 2010-07-24 22:59:02

+0

尝试阅读更短的内容,如书籍或杂志 – 2010-07-24 23:50:25

回答

1

编辑,可能具体的解决办法:

如果从进料访问一组有限的项目都加快了谷歌订阅API访问权限,那么只需继续要求最近的项目,直到你遇到一个你以前见过的物品。除非饲料已被重新订购,否则这将确保所有物品都被看到(但是,请记住饲料物品可能会更新 - 这些更改将会丢失)。

如果访问一组有限的项目没有性能优势,则需要考虑另一种方法,例如服务器端帮助程序(或另一个Feed访问程序)。

一般信息(不针对这个问题):

饲料服务器要正确处理If-Modified-Since头。因此,虽然它不会直接保存1M +下载,但如果Feed已被修改,则只需执行下载。

此外,如果服务器支持范围请求并手动合并数据,则可以从服务器请求一系列数据。即使服务器不支持范围请求,也可以在您之后中止下载有足够的可以继续(使用这种方法将允许您检查入站数据并在恰当的时间终止)。

在任何情况下,您都有责任确保读取足够的内容 - 从那里可以简单地修复本地XML并将其传递到正常的Feed处理器。

而且,无论上述是可能的纯客户端的JavaScript做:-)

0

天哪,这将是肯定的整体归档。我知道大型XML文件可以解析多么困难!

+0

这应该是对OP的评论,而不是回答。 – TheCloudlessSky 2010-07-25 15:13:27

相关问题