【转】Live Space的搬家利器:Live Space Mover
主要部分是借鉴一个blog"假如我们的语言是威士忌"中同名文章,用双引号括起来,我自己的注都用斜体字标明。本文适用于live space blogs搬迁至wordpress blogs。
“之前介绍过利用blogbus的搬家程序作为跳转,结合古冰写的Blogbus到WordPress转换程序,是目前较完美的方法,可以把live spaces上的日志和评论搬迁到WordPress上。但仍然有一些后遗症,其中一个就是日志的发布时间只精确到天,剩下时分秒都被简化成了00: 00:00。
近日帮朋友搬spaces时发现blogbus的搬家程序改版了,死活也只能读取开始的十几篇日志, 开始以为是space的设置问题,譬如自定义版面,日期格式等,后来反复测试依然如故。找了另外一些space测试,结果一样。发邮件到blogbus反 映了一下,回复石沉大海。看来林子大了,鸟算什么呢。
于是只好继续求助谷哥,把搜索内容转移到英文网页上,发现了Live Space Mover,刚好碰上作者Wei Wei升级发布1.0版本没多久,已经全面支持live space的日志+留言搬迁。 经过测试,效果非常理想,而且解决了之前日志发布时间不正确的问题。
具体的搬家流程如下:
- 搬家前准备
- 安装Python runtime,Live Space Mover是基于Python 2.5的运行环境下通过调试。Python默认的安装路径是c:\Python25 。
- 下载并解压最新版本的Live Space Mover到python25的安装目录。(由于 Live Space改版后的新特性,旧版本的搬家程序已经失效,不过既然有新版本,当然用最新的了。)解压后会有两个文件:
live-space-mover.py
my-wp-comments-post.php - 下载BeautifulSoup.py,把它放到live-space-mover.py所在的相同目录下,或者你可以手动把它添加到Python的运行库。下载BeautifulSoup.py的时候,我发现官方网站打不开,然后发信给WeiWei要了一份副本。如果你也遇到同样的情况,可以点这里下载。//后面的链接是直接用浏览器打开BeautifulSoup.py文件,另存为同名文件就可以了
- 搬家
- 调整你的Space空间的设置。
(1)如果是隐藏Blog,在搬家之前请确认为开放状态;
(2)如果Blog中有隐藏日志,若希望连隐藏日志一起搬走请在搬家前确认被隐藏的日志已经公开;
(3)将时间格式设置成 年/月/日(yyyy/mm/dd)或者 月/日/年 (mm/dd/yyyy),这个显示格式取决于你本地操作系统和浏览器的日期格式设置。如果由于日期格式导致程序出错,可以尝试用-t 参数去设置日期格式(具体可以使用 -help 参数查看用法)//具体是将日期设置成yyyy/mm/dd,如2007/11/14,时间设置成hh/mm格式,如09:04,因为程序不能识别秒。 (4)运行搬家程序。点【开始】菜单-【运行】,输入CMD,调出DOS命令行后台,切换到live-space-mover.py所在目录(这里即是从c:\Python),输入如下命令行:
python live-space-mover.py -s http://yourspaceid.spaces.live.com/
用你的空间地址替代 http://yourspaceid.spaces.live.com/ 。
好了,现在你可以去喝杯咖啡或者聊聊天,听听歌。如果没出错的话,程序开始一条一条读取space的文章。程序的读取速度可能没你预想的那么有效率,需要等待一段时间。成功完全读取后,会出现类似如下的提示:
root : INFO Export XML to file export_XXXXXX
root : INFO Finished! Congratulations!
这时会在python安装目录下生成一个 export_xxxxx.xml 的文件。这就是我们需要的标准WordPress格式的导入文件。
(5)进入Wordpress的后台管理,使用导入功能,选择WordPress类型,上传刚才的导出的文件开始导入日志。导入前,WP会提示你使用哪个用户身份作为日志的发布者,你可以选择现有的用户或者新建一个。
- 调整你的Space空间的设置。
- 注意事项
- 如果你的space日志不是中文或者英文,而是其它语言类别,运行程序后或许你会碰到“ UnicodeDecodeError ”的出错提示,这是Python 2.5版本的一个bug。你需要手动修改一下 \Python25\Lib\sgmlib.py 这个文件,在第394行代码你会看到如下语句:
if not 0 <= n <= 255:
改成:
if not 0 <= n <= 127:
- 作者曾在原版说明里面提到,必须将space的时区设置成GMT (+00:00),即格林威治时间,但我在测试过程中发现,如果设置成GMT (+00:00),导入文章的发表时间将根据时区的调整而发生相应的改变。所以我这里并没有把这个设置作为必须的前提。如果你已经在wp的后台【选项】设 置了时差,就没必要调整space上的时区了。
- 在WP后台导入日志时,不要搞错导入文件类型,记得选择WordPress格式,我就曾误以为XLM文件是RSS的导入方式,导入日志后发现评论 没导入,日志发布日期全部变成“1999-11-30 8:00:00 上午”。更要命的是,WP没有批量删除日志功能,你必须手动逐个删除日志。
如果你想测试一下导入功能,你可以指定读取日志数目进行测试,而不必全部日志一口气导入。具体的命令行如下:
python live-space-mover.py -s http://myid.spaces.live.com -l 3
上面的“ -l 3”表示读取space的最近期3篇日志。(要提醒的是,用 -l 输出的xml在WP后台导入,不会导入相关的日志评论。) - 如果你的日志标题是中文,当你导入WP后重新编辑文章,标题栏会出现乱码情况(不是乱码,就是一种HTML的编码),只要重新修改一下就可以。这个问题看来是搬家程序一个尚待解决的地方,已经想作者反映。
- 你可以在DOS命令行运行
python live-space-mover.py -help 获取更详细的参数说明。
- 使用中的其它疑问,可以直接到作者主页留言或者发邮件给作者,WeiWei是个非常热心的人,一定可以帮你解答。
- 该程序目前不支持识别自定义添加的标签,比如我在转移时同一个自定义标签下的文章被一一识别为名字相同但是标签ID不同的标签,目前只能靠手动一一把导过来的文章的标签重新标记,可能也是在以后的版本当中才会改进。
- 如果你的space日志不是中文或者英文,而是其它语言类别,运行程序后或许你会碰到“ UnicodeDecodeError ”的出错提示,这是Python 2.5版本的一个bug。你需要手动修改一下 \Python25\Lib\sgmlib.py 这个文件,在第394行代码你会看到如下语句:
再次感谢WeiWei写出这么好的程序,希望下一个版本更完善。”
也感谢上面blog的主人已经写了这么详细的教程,我再加几句话就可以了:)
是该文章帮助我成功成MSN Space 搬家到WordPress!所以将文章帖出,以飨读者,希望能帮助到更多的人!
原帖地址http://pigstar.yo2.cn/articles/zzlive-space%E7%9A%84%E6%90%AC%E5%AE%B6%E5%88%A9%E5%99%A8%EF%BC%9Alive-space-mover.html
同一个主题,支持。。。
@蛋王
是啊,我很喜欢这个主题!
另外,我可以请教你一些问题吗?
哈哈,有缘,也是同一个主题~~
ps:蛋王也在啊~~呵呵
@老饕
名字很别致呢!
话说,您写链接的时候多写了一个http://
想当年我从live spaces搬到WP,是一篇一篇复制的,好惨啊
@万戈, 我也是意外搜到这个方法的,最开始也是打算一篇一篇复制的,但是那样的话就不能反映出实际的时间了,而且评论也失去了!
现在的问题是,我想把万蝶的搬过来,但是一直没找到方法,实际上我之前几年的大部分内容都写在万蝶上了