导出msn空间的日志到wordpress
不是我,是今天帮fish做这件事情,我很多年前就放弃msn空间了,那里太不自由。
msn空间很难更换随心所欲的主题模板,也没办法使用自己的插件程序,更重要的是没提供导出备份日志的功能。这一点最霸道,微软在这方面就和中国政府一样,有一种歇斯底里的不安全感。其实越开放,越有客户缘,也就越有竞争力。现在使用者最多的独立博客wordpress就是完全开放自己的代码,这样可以吸引全世界的高手给它补充插件,从而更好地服务下去。
书归正传。这个工作有三个方法实现。推荐第三种方法,好的放最后。如果你不关心技术只想把东西做成的请直接看第三块。
1. 下载GreatNew软件。这是一个离线阅读博客的软件,我曾经用过一段时间,但我觉得更新资源的时候依然需要上网,所以所谓的离线是没有意义的,有多少人会上一下网更新的资料迅速断网阅读这些资料呢?所以我后来专用google reader了。不过这个软件可以帮我们把博客导出为一个XML文件,里面包含了全部的日志数据,也包含每篇日志的分类和日期。在wordpress中可以导入这个XML文件。但是我导入了两次,效果不理想。第一是因为wordpress识别的标准格式与GreatNews导出的格式有一定的差别,虽然我做了转换可还是不完全一致。第二次错误是始终不能全部文章识别,只识别了一部分,而且没有全文,只有标题,我没深究,猜想是guid的编码不一致造成的。所以这种方法不推荐。
2. 下载http://www.pt42.cn/的博客备份软件。这个软件本身还是不错的,可以连接各种博客类型的平台,将博客全部日志文章收集下来,可以导出为文本文件。支持两种编码格式,支持两种顺序排列,支持XML格式、纯文本格式、html格式。用来备份自己的博客还是不错的(我试着备份自己的wordpress不成功)。我本想用它输出的XML格式文件导入,但是还是失败,有两个原因。一是编码格式与标准的不同,只能导入标题部分。我做了替换之后可以导入全文了,但遇到第二个问题,输出文件中没有写入日志日期数据,导致系统认为所有文章都发表于同时刻(我这里显示为1970年1月1日2:00),这样100多篇精确到同时刻发表的文章一起写入wordpress会对排版出现问题,因为wordpress是自动按照文章发表时间顺序排列的,所以我这里看到所有文章挤成一团了。
3. 最后是最推荐的方法,我一开始就使用了但是没成功,经历了上面两种方法的折磨之后,重新研究了这个,才终于成功。
需要准备三件东西:
- python 2.5 版本,下载并默认安装。注意,必须是2.5版本,其它版本不行。高版本也不行!
- BeautifulSoup-3.0.6 程序包,有两种方式,可以下载安装包执行安装,也可以把它和3中的程序放在一起运行时会自动调用。安装方式后面说。
- live-space-mover程序,这是清华的weiwei用python写成的小程序。把它和2中的程序放在一起,然后运行,运行方式后面说。
运行之前要保证msn空间做好了几点设置:
- 日期格式是年/月/日,或者月/日/年,总之必须包含年份;
- 时间格式只要小时和分钟,不要秒;
- 空间设置为全部开放,不能只对部分成员开放,也不能有隐藏日志;
- 别用过于复杂的主题风格。
OK,现在可以开始运行了。先说2的安装。如果下载的是安装包,解压缩后在dos中运行:
python setup.py build
看到提示没啥错误再运行:
python setup.py install
就算安装好了。然后就可以运行3中的程序了:
python live-space-mover.py -s http://name.spaces.live.com
注意把name换成自己实际的名字就可以了,会看到一切提示,一堆乱码不要害怕,最后显示成功,生成一个XML后缀的文件,把它导入wordpress就可以了。这个文件非常完美,格式与wordpress自己的备份文件完全一样,而且包含了全部日志内容、全部评论内容、日志分类目录、日志段落格式、颜色,甚至表情符号,一应俱全。
(python运行时如果提示没找到这个程序,则需要设置路径参数,不多说了,google一下就会了。)






Recent Comments