`

使用ruby备份你的blog

阅读更多
 虽然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)
分享到:
评论

相关推荐

    yangbinfx的博客文章-ruby部分备份

    yangbinfx的博客文章-ruby部分备份

    website:我的网站是使用Serious(Ruby博客)构建的,并在Git中备份并部署到了Heroku

    现在,我开始使用Ruby和Sinatra并与Heroku一起部署。 我发现这要容易得多,因为它遵循了我日常所用的相同方法。 如果您对入门有任何疑问,请随时与我们联系。 安装 git clone ...

    ghost-backup:备份幽灵博客

    备份博客数据。 这有两件事: 下载Ghost Post数据库的JSON导出 复制幻影内容目录(图像资产等) 第2部分仅运行 安装 gem install ghost-backup 用法 设定档 第一步是生成ghost-backup.yml : $> ghost-backup ...

    safe:将 mysql、posgresql、svn 和文件简单备份到 s3 或本地文件系统

    博客: : 动机 我们需要一个能够满足以下要求的备份解决方案: 开源 安装和配置简单 支持目录的简单“tar”备份(包含/排除) 支持mysql数据库的简单mysqldump 支持对称或公钥加密 支持本地文件系统、Amazon S3 ...

    bigchaos:Big Chaos 网站 (bigchaosband.com) 的备份位置

    什么是八达通? Octopress 是最好的... 注意:Octopress 需要最低 Ruby 版本1.9.3-p0 。 文档 查看以获取指南和文档。 它应该都适用于我们当前的稳定版本(在master分支中找到)。 如果不是这种情况,。 贡献 我们

    tumblr-photo-downloader:从Tumblr博客轻松下载所有照片

    Ruby脚本,用于从Tumblr博客下载所有照片。 Tumblr曾经有一个Mac OS的GUI备份工具,但似乎没有维护:''( 用法 签出代码: git clone https://github.com/jamiew/tumblr-photo-downloader cd tumblr-photo-...

    lortza.github.io:这是我的投资组合页面

    我的,你挖了吗? 杰基尔3.6.2 Ruby2.4.2 设计是根据的原始进行 自我笔记 项目的顺序基于日历日期(最新的排在最前面)。 我选择在2017年1月订购每个.md作为日期,并在这31天内移动项目以订购它们。 关于主题 该...

    iuhyiuhkjh908u0980

    如果你使用ant 1.6.0或者更高,你可以简单的到src/example/hello-ivy 目录并运行ant: 如果构建成功,你就成功的安装了ivy! 如 ... by skydream 2009-09-02 回复 (0) ivy教程(8 ... 这个教程介绍ivy文件中的模块配置...

    dotfiles:Fish带有Fish,程序包控制,VS代码,回购管理,Hammerspoon的macOS系统配置

    有关点文件的更多信息,我在博客上写了以下文章: 用法 生成新的SSH密钥并将其添加到您的GitHub帐户或者,将安全备份的SSH密钥还原到~/.ssh/ 安装Homebrew和git /usr/bin/ruby -e " $( curl -fsSL ...

    nyeonneko.github.io

    此仓库是我的博客的备份。 您可以跟踪我推送到博客存储库中的所有内容的更改。 是的,但是为什么呢? :cat_face::rocket: 此时,在诸如WordPress之类的平台上投入时间和金钱是没有意义的。 最重要的是,我真的很...

    brewdo:自制的沙盒

    brewdo可以工作,我个人使用,但是我建议您在运行brewdo install或brewdo switch之前确保已备份系统。 brewdo已通过以下测试: macOS 10.13 High Sierra(主要开发平台) macOS 10.11 El Capitan 过去,brewdo还...

    C++ 100本好书

    放在这里备份。打包一起上传。懒得弄了。 C.Plus.Plus.for.Engineers.and.Scientists,.Bronson,.3ed,..Course,.2010,.Source.Codes,.0324786433_233683-.exe │ Objective-C.Recipes.A.Problem-Solution.Approach,....

Global site tag (gtag.js) - Google Analytics