使用ruby备份你的blog

    xiaoxiao2024-05-30  106

    虽然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  =   807 response  =  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)

    文章转自庄周梦蝶  ,原文发布时间5.17

    相关资源:敏捷开发V1.0.pptx
    最新回复(0)