近日帮朋友搬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要了一份副本。如果你也遇到同样的情况,可以点这里下载。
- 搬家
- 调整你的Space空间的设置。
(1)如果是隐藏Blog,在搬家之前请确认为开放状态;
(2)如果Blog中有隐藏日志,若希望连隐藏日志一起搬走请在搬家前确认被隐藏的日志已经公开;
(3)将时间格式设置成 年/月/日(yyyy/mm/dd)或者 月/日/年 (mm/dd/yyyy),这个显示格式取决于你本地操作系统和浏览器的日期格式设置。如果由于日期格式导致程序出错,可以尝试用 -t 参数去设置日期格式(具体可以使用 -help 参数查看用法)
(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!
这时会在目录下生成一个 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是个非常热心的人,一定可以帮你解答。
- 如果你的space日志不是中文或者英文,而是其它语言类别,运行程序后或许你会碰到“ UnicodeDecodeError ”的出错提示,这是Python 2.5版本的一个bug。你需要手动修改一下 \Python25\Lib\sgmlib.py 这个文件,在第394行代码你会看到如下语句:
再次感谢WeiWei写出这么好的程序,希望下一个版本更完善。
后记:
最近越来越多的blog开始向wordpress转移,昨天在网上闲逛的时候,发现一篇
由BSP搬家至Wordpress简明攻略
内文提到
目前可使用本法搬迁的BSP有Blogbus、Blogcn、Bokee、新浪博客、大旗精英、敏思博客、UUZone、和讯博客、网易部落、天涯博客、 MSNSpace、BlogDriver、搜狐博客,基本涵盖了主流的BSP。在搬家过程中会保留全部文章、全部评论,并且文章顺序、发表时间、评论时间 没有错乱,文字格式和嵌入多媒体也全部保留,只有文章分类要手动调整。
有兴趣的朋友可以去看看。
没有评论:
发表评论