虽然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