Keso那里介绍过RSScache.com提供的RSS带宽问题解决方案。
好些RSS内容搜索服务站都提供有对关键字搜索结果的XML订阅。想想可能有不少关键字被好多人订阅,而在时间上又极为频繁的查看是否有更新,这些对于RSS搜索服务的站点来说,是个很大的负担。
检查了几个RSS搜索服务站这方面的情况(以blog关键字为例):
feedster:
search.php?q=blog&sort=&content=full&type=rss&limit=15
blogdigger:
rss.jsp?q=blog&sortby=date
booso:
http://feeds.booso.com/blog (搜索是在news.booso.com中进行)
bulkfeeds:
http://bulkfeeds.net/app/search2.rdf?q=blog
daypop:
http://www.daypop.com/search?q=blog&s=1&c=10&t=a&o=rss
Grassland:
search?dir=blog&q=blog&10&index=FullIndex&outputFormat=RSS
可以看出,booso对于关键词提供有搜索结果的Cache,不知道是不是静态的。仔细看了一下,似乎和搜索的结果上不一样,有延迟。
blogdigger、bulkfeeds的订阅程序和搜索程序也不一样。其他几个都是直接使用搜索程序提供rss的结果。
解决这个问题的初步想法:
记录被订阅的关键词,组成一张表,在爬虫每次抓取完RSS内容后,利用这张表的关键词生成静态的xml订阅文档进入缓存中。这样可以减少资源的压力。
关于RSS带来的带宽问题的解决,除了服务器方面的改进之外,还需要客户端也就是RSS订阅软件的合作,比如更加智能的判断某个blog的更新特征,自动设置更新的频率和更新的时段。比如我的blog,每天一篇,那么可以设置为一天的周期,更新的时间多在午夜前后、清晨或者中午,那么可以选择这个时段更新。这样可以很大程度上减少无用的探寻。
当然,发展Web方式的阅读,例如Bloglines也是个途径。S22正在开发中文这方面的服务,希望早日成功。
RSS搜索引擎中的订阅服务
comments powered by Disqus