虽然sohu不大可能倒闭,但是我也想导出我所有的文章,备份在自己的数据库中。javaeye的blog系统提供了一个blog导入导出的功能,用起来很酷。其实你自己用ruby写一下也很简单,比如我要读取我的blog的RSS源:require 'rss/2.0'require 'open-uri'url = 'http://dennnis-zane.blog.sohu.com/rss'feed = RSS::Parser.parse(open(url).read, false) puts "=== blog名称: #{feed.channel.title} ===" feed.items.each do |item| puts item.title puts " (#{item.link})" puts puts item.description end feed.items对应rss2.0的item元素,每个item元素描述了一篇文章的标题,链接,内容等信息,你可以通过item.title,item.link等来读取,并存入你自己的数据库。再给一个使用代理的例子,因为我的机子是使用代理上网的:require 'rss/2.0'require 'net/http'url = 'http://dennnis-zane.blog.sohu.com/rss'$proxy_addr = '172.16.51.10'$proxy_port = 807response = Net::HTTP.Proxy($proxy_addr, $proxy_port).get_response(URI.parse("http://dennnis-zane.blog.sohu.com/rss"))feed = RSS::Parser.parse(response.body, false)puts "=== Channel: #{Iconv.conv('GBK','UTF-8',feed.channel.title)} ==="feed.items.each do |item| puts Iconv.conv('GBK','UTF-8',item.title) puts " (#{item.link})" puts # puts Iconv.conv('GBK','UTF-8',item.description)end打印:=== Channel: 花非花 ===websphere错误备忘录 (http://dennnis-zane.blog.sohu.com/29898836.html)感冒,寒冷的夜 (http://dennnis-zane.blog.sohu.com/29859082.html)ECMAScript对象基础 (http://dennnis-zane.blog.sohu.com/29499101.html)用ruby创建领域特定语言(DSL)——转载 (http://dennnis-zane.blog.sohu.com/29350052.html)使用ruby解析json (http://dennnis-zane.blog.sohu.com/29200192.html)ruby实现抽象类和抽象方法 (http://dennnis-zane.blog.sohu.com/29145303.html)看了《父子》,看了《绿帽子》 (http://dennnis-zane.blog.sohu.com/29047444.html)ECMAScript基础 (http://dennnis-zane.blog.sohu.com/28876856.html)假期结束,专心工作 (http://dennnis-zane.blog.sohu.com/28604494.html)不解 (http://dennnis-zane.blog.sohu.com/27564529.html) |