本博客再次搬家,感谢那些从QQ空间一路追踪到这里的朋友。胜利就在眼前了,再跳转一次你就能到达胜利的彼岸了。 目的地就是——http://www.idalin.cn ,爱生活,idalin.cn

如何将blog从MSN space搬到linuxsky

上一篇 / 下一篇  2006-05-16 19:10:02 / 天气: 晴朗 / 心情: 高兴 / 精华(1)

    近来因为GFW或者其它的某种原因,很多人的MSN space登录不了,所以有了将blog搬家的想法。刚好hew同志的linuxsky(http://www.linuxsky.net)推出了blog服务(http://blog.linuxsky.net)。这个blog采用的是discuz!论坛配套blog系统——X-space,功能还算可以。而且小h的这个服务器人少,访问量少,负载不大,所以服务运行速度相比国内大型的blog网站,比如blogcn等等要快得多,于是就决定选用它了!!!linuxsky,物美价廉,您瞅准了,linuxsky(公益广告)!!!

    好了,废话也不多说了,咱们还是说说怎么搬家吧。说到搬家,现在比较出名的搬家公司有大众搬家,人人搬家,蚂蚁搬家等等,至于孰优孰劣我就不清楚了(读者:靠,不是不说废话吗?怎么还口水多过茶?)。首先msn space并不提供数据导出功能,所以我们直接msn space导出,然后在x-space导入数据的计划就无法实现了。那么,难道要我们自己一篇篇文章拷出来再贴上去吗?嗯,这样也不是不行,勤能补拙嘛,通过勤劳的劳动,你也可以达到目的的,不过就显得你笨了(当然,如果你msn space原来就只有一两篇文章的话,那倒是无所谓)。那么,既然不能导出,又不能一篇篇手动导出,我们就没有办法啦?

    答案当然不是啦,不然我还写这个howto干什么。msn space不提供导出功能,并不代表别的地方不提供啊。通过一番google,发现blogbus(http://www.blogbus.com)提供了搬家的功能,于是赶紧跑上去看看 http://61.152.90.82:8080/index.jsp ,发现这个搬家功能是支持msn space的,于是赶紧试了一下,成功地将数据导了出来。数据虽然有了,但是问题也来了,这个导出来的数据的格式是blogbus专用的格式,并不能直接被x-space导入,我们还需要将它转换成RSS2.0的格式才行。人民的智慧是无穷的,google的能力是很牛的,通过google,我终于搜索到一个可以将blogbus备份数据转换成wordpress支持的rss2.0格式的数据的程序(http://bingu.net/blog/308/update-blogbus-to-wordpress/)!按照冰古同学说的,俺两下三下就把数据转换了,然后跑回x-space去导入数据,先试了一下导入xml,发现不行(有谁知道x-space的导入xml数据的格式要求?)。那就再试试rss导入了。靠,这东西只提供在线链接的RSS导入。没办法,找了个地方把刚刚生成的xml文件上传上去,然后再把链接填进入。提交,经过一段时间的等待之后,激动人心的时刻来了~~~终于,我的msn space上面的文章的标题出现了!!!赶紧保存,回到blog首页,刷新,hoho,终于出来了~~等等,不对,还有问题!导入的文章只有标题,怎么没有内容了?郁闷啊(上次我就是做到这一步,刚好就周末了,然后就没继续了)~~~

    今天看看小难同学在说起怎么从msn space搬家,突然想起还有工作没有完成,于是仔细检查了一下,发现了可能
存在的问题,问题就在于,通过冰古的程序转换的数据,里面关于文章正文部分的标记是<content:encoded>文章正文</content:encoded>,而标准的RSS2.0则好像应该是<description>文章正文</description>于是将冰古的程序的第38、39行改成<description><![CDATA[<?php echo $log['Content']; ?>]]></description>,然后再试,果然成功了!

    好了,废话这么多,我再简单地把步骤写一写:

    1、从blogbus搬家(点击进入),将数据从msn space中导出来;
    注意事项: 填入地址时要将后面的/也填进去,比如我的msn space地址是http://spaces.msn.com/idalin,那么我就应该填http://spaces.msn.com/idalin/,注意红色部分的斜杠不要忘记也填进去了,其它需要注意事项请看blogbus搬家帮助
    2、利用
冰古的程序(由此下载)将数据进行格式转换;
    注意事项:没有更改过的程序转换出来的数据并不能直接使用,具体如何转换数据请看
冰古的将blogbus数据转换成wp数据这篇文章并结合我上面提到的修改方法对程序进行修改(或者由此下载我修改过了的程序)。这个转换程序是用php写的,所以你需要有php运行环境,没有运行环境的话,找别人帮忙吧,或者我看看什么时候把它改成一个在线直接转换的程序;
    3、找一个空间将转换后的数据文件上传上去,然后在x-space的日志导入那里通过rss导入。

    有什么问题大家再提出讨论讨论吧,我写的不是很清晰,有什么不清楚的就问我吧.

Update(2006-5-23):
    1.小h同志更新X-space到正式版之后,有同志提出新的问题,那就是导入会乱码了,因此我又不得不更新一下,弄个GBK版的出来,同时,因为免费空间出了问题,把
dalin的搬家行动挪了个地方,大家可以通过新的搬家行动进行搬家了~~

Upate(2006-5-18):
    1.将转换程序改写成在线版,今后大家不用下载程序,更不用搭建php平台了,直接通过
dalin的搬家行动这个网址将从blogbus中导出的数据上传,然后就可以得出转换后的数据了。转换后的数据也不用下载,上传完成后会给出一个链接,将这个链接填入到X-space的RSS2.0导入那里,就可以直接导入了,欢迎大家测试;
    2.找到冰古转换程序中的关于
<category>部分存在的问题,categories($tag)函数中光判断是否允许分类,而没有判断分类是否非空,这样当设置为允许分类而原来的文章中又没有分类时,就会导致分类内容为空的情况。解决的办法是再加上个非空的判断,即将原来的if ($allowtag) return $tag;改成if ($allowtag and !empty($tag)) return $tag

Update(2006-5-17):
    1.利用blogbus搬家出来后的数据日期显示可能不大正确,可能原因是,在msn space中,文章的日期并没有加上年份,所以当blogbus从那取数据时,导致取不到年份,而它需要的数据又需要年份,所以搬家程序会自动补全年份,由于自动补全的算法不够智能,所以会导致补全错误。比如,默难的数据中,会出现2004年写的blog,而他是从2005年才开始写,所以很显然这个数据是错误的;又如,默难的某些数据是2006年3、4月份写的,它又给自动补全成2005年;在这两个例子中,解决的办法很简单,可以通过月份来判断是到底哪一年写的,然后通过编辑器的替换功能就可以简单快捷地把数据修整过来,至于其它的情况,大家自己研究一下吧,毕竟数据的修整已经不是本文的重点了(PS:发觉其实搬家过程就是数据挖掘技术里面的ETL-数据的抽取、转换和加载技术);
    2.如果通过我修改过的转换程序转换之后的数据,在导入时出现,URL中没有内容的错误时,检查一下xml文件中的<category>项是不是只有<category />面没有实际内容,如果是的话,那么请将<category/>替换成<category>Uncategories</category>吧,用编辑器的全部替换则可完成,如果再有问题,请发上来大家一起讨论
  

TAG: 生活日志 应用服务

龙的宠物 引用 删除 hew   /   2006-06-07 19:54:34
blogbus 的搬家地址
http://banjia.blogbus.com/index.jsp
龙的宠物 引用 删除 hew   /   2006-05-24 20:54:08
乱码的bug 已经修正了。
可怜的dalin
龙的宠物 引用 删除 hew   /   2006-05-19 09:11:28
辛苦dalin 了。
dalin的个人空间 引用 删除 dalin   /   2006-05-18 17:27:36
汗,小h一升级blog程序,我这篇文章就几乎废了。
现在导入会乱码,应该是编码问题,看来还得继续update啊
月下刀客的个人空间 引用 删除 月下刀客   /   2006-05-18 10:57:57
5
的确好文啊,加精~~~
Neo的个人空间 引用 删除 Neo   /   2006-05-17 08:19:50
-5
哦..听说有台风
dalin的个人空间 引用 删除 dalin   /   2006-05-16 22:10:53
这么好的一篇文章,你给扣分,难道你就不怕打雷吗?难道你就不怕珍珠吗?
llc的个人空间 引用 删除 llc   /   2006-05-16 21:16:21
-5
恭喜恭喜!
 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-11-21  
      1
2345678
9101112131415
16171819202122
23242526272829
30      

数据统计

  • 访问量: 12723
  • 日志数: 41
  • 文件数: 1
  • 书签数: 2
  • 建立时间: 2006-04-19
  • 更新时间: 2006-12-28

RSS订阅

Open Toolbar