使用ruby备份你的blog

 虽然sohu不大可能倒闭,但是我也想导出我所有的文章,备份在自己的数据库中。javaeye的blog系统提供了一个blog导入导出的功能,用起来很酷。其实你自己用ruby写一下也很简单,比如我要读取我的blog的RSS源:
None.gif
None.gifrequire 
' rss/2.0 '
None.gifrequire 
' open-uri '
None.gifurl 
=   ' http://dennnis-zane.blog.sohu.com/rss '
None.giffeed 
=  RSS::Parser.parse(open(url).read,  false
None.gifputs 
" === blog名称: #{feed.channel.title} === "  
None.giffeed.items.each 
do   | item |  
None.gif    puts item.title 
None.gif    puts 
"  (#{item.link}) "
None.gif    puts puts item.description 
None.gifend 
None.gif

feed.items对应rss2.0的item元素,每个item元素描述了一篇文章的标题,链接,内容等信息,你可以通过item.title,item.link等来读取,并存入你自己的数据库。

再给一个使用代理的例子,因为我的机子是使用代理上网的:

None.gif require  ' rss/2.0 '
None.gifrequire 
' net/http '
None.gifurl 
=   ' http://dennnis-zane.blog.sohu.com/rss '
None.gif$proxy_addr 
=   ' 172.16.51.10 '
None.gif$proxy_port 
=   807
None.gif
None.gifresponse 
=  Net::HTTP.Proxy($proxy_addr, $proxy_port).get_response(URI.parse( " http://dennnis-zane.blog.sohu.com/rss " ))
None.giffeed 
=  RSS::Parser.parse(response.body,  false )
None.gifputs 
" === Channel: #{Iconv.conv('GBK','UTF-8',feed.channel.title)} === "
None.giffeed.items.each 
do   | item |
None.gif  puts Iconv.conv(
' GBK ' , ' UTF-8 ' ,item.title)
None.gif  puts 
"  (#{item.link}) "
None.gif  puts
None.gif # puts Iconv.conv(
' GBK ' , ' UTF-8 ' ,item.description)
None.gifend


打印:

=== 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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值