莊周夢蝶

          生活、程序、未來
             :: 首頁 ::  ::  :: 聚合  :: 管理

          使用ruby備份你的blog

          Posted on 2007-02-06 12:57 dennis 閱讀(323) 評論(0)  編輯  收藏 所屬分類: 動態語言
          ?雖然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)
          主站蜘蛛池模板: 平武县| 龙州县| 昌宁县| 宜章县| 天水市| 军事| 沂南县| 于田县| 曲沃县| 丰城市| 柯坪县| 东乡族自治县| 涞水县| 布拖县| 务川| 科尔| 玉树县| 张家口市| 宜阳县| 社旗县| 台前县| 海宁市| 南和县| 镇雄县| 京山县| 兴化市| 囊谦县| 金溪县| 正定县| 望谟县| 南陵县| 工布江达县| 诏安县| 时尚| 安陆市| 扶风县| 文水县| 印江| 长岭县| 分宜县| 原阳县|