独立开博,在Hostmonster上用Wordpress上搭建完自个的空间,第一件事就是把以前发布在Windows Live Space上的博客导进来。其中,下载WindowsLiveSpace的全部文章和评论所用的Python脚本,来自Broom,剩下的一些优化工作,比如删除垃圾评论,用了一些简单的SQL脚本。从WindowsLiveSpace搬家,向来最为麻烦,以下把刚做的功课记下来,鼓励大伙及时退出WindowsLiveSpace。我06年开博,至今在WindowsLiveSpace上积攒下近六百篇博文,所谓积重难返路径依赖,这次全部顺畅导出,兀的不高兴死我也么哥。

对不熟悉Python的朋友来说,以下的内容也一样没有没有障碍:只需要按着相应的步骤,复制粘贴再回车即可。这是我的生活博客,里面所有涉及所谓技术的内容,也是中文系高材生Li也能看懂的。

1.准备工作

1.1. 设置Windows Live Space和Wordpress的日期格式

重要的是让WindowsLiveSpace和Wordpress的日期格式一致,这里我两个设置的是2009/03/30。在WindowsLiveSpace中,我的时间格式是10:24:05,设置的路径是“选项”->“常规”->“日期和时间格式”:

space_date

另外,在“选项”->“日志”->“显示日志日期”选项中,勾选“在页首出显示日志发布日期”。在Wordpress中,相应的路径是“设置”->“常规”->”日期格式”。

1.2.下载安装Python 2.5.2

Broom测试了两种组合,Python 2.5.2+Beautiful Soup 3.0.6和Python 2.5.1+Beautiful Soup 3.0.4。但后面的低版本组合需要打些补丁,我们就不必麻烦了,我是直接用的高版本。Python 2.5.2的官方下载地址在:

http://www.python.org/download/releases/2.5.2/

我用的是Windows平台,选择的是X86 processors python-2.5.2.msi。下载完毕,一路安装过去就是,不妨依着它默认的安装路径c:Python25。接下来看看Python好不好使:

开始->运行->在冒出来的框里输入 cmd 回车->在冒出来的命令行输入 python 再回车

顺利的话,你将看到类似的回应:

cmd

如果提示说python不可识别,就需要为Python设置环境变量,如果不明白什么是“环境变量”,依着下面的操作就是。

“我的电脑”->右键“属性”->“高级”->“环境变量”->“系统变量”->点中一个叫Path的系统变量->“编辑”->在Path的变量值框的末尾,加上一个分号;(英文状态下),然后跟着是填上Python的安装目录,比如c:Python25。一路确定后,再回刚才的命令行试试python这个命令。

path

1.3.下载Beautiful Soup 3.0.6

Beautiful Soup 3.0.6是一个解析HTML页面的类库,接下来那个下载博客文章的脚本需要用它。下载地址:

http://www.crummy.com/software/BeautifulSoup/download/3.x/BeautifulSoup-3.0.6.tar.gz

解压到一个文件夹,比如D:downloadBeautifulSoup-3.0.6。你将看到BeautifulSoup.py等几个脚本。

1.4.下载脚本Live-space-mover

Live-space-mover这个脚本,能够把WindowsLiveSpace中的所有文章和评论等,生成一个Wordpress能够识别的XML文件,以实现博客搬家的目的。下载地址:

http://code.google.com/p/live-space-mover/downloads/list

现在的最新版本是live-space-mover.1.7.5.zip。解压到D:downloadBeautifulSoup-3.0.6。在D:downloadBeautifulSoup-3.0.6目录下,你应该看到脚本live-space-mover.py。

2.运行脚本,下载博客,生成XML文件

在刚才提到过的cmd命令行,转到D:downloadBeautifulSoup-3.0.6文件夹(先敲入d: 回车,然后敲入 cd D:downloadBeautifulSoup-3.0.6 回车),敲入下面的一行语句并回车:

python live-space-mover.py -s http://yourSpaceName.spaces.live.com/ -t “%m/%d/%Y %I:%M:%S %p”

其中,yourSpaceName是你Windows Live Space的名字。

Space-mover

这个运行时间视你博客文章的多少而定,如果在屏幕上看到博客标题显示为乱码,不必在意。成功之后,在D:downloadBeautifulSoup-3.0.6文件夹,将生成一个类似export_03292009-2238.xml的文件,这就是你整个Space的文章、评论以及类别之类的了。

又,如果在准备工作1.1中,你Windows Live Space的时间格式是10:24而不是10:24:05,那么,以上命令就将更简洁些:

python live-space-mover.py -s http://yourSpaceName.spaces.live.com/

3.把XML文件导入到Wordpress

这个就相对简单了。Wordpress后台->“工具”->“导入”->选择WordPress,上传那个export_03292009-2238.xml文件,再指定一个作者就行。这个速度就快多了。

一个问题是,系统只允许导入最大为2MB的文件,对超过2MB的文件(像我这次导入的近六百篇博文),只好手动分割文件或想其他办法了。如果一次导入不漂亮,可以把所有的文章及评论先删除了再试试,两个简单的SQL语句可以参考:

DELETE from wp_posts WHERE post_author=1;

DELETE from wp_comments WHERE comment_ID>1;

作者ID(post_author)和评论ID(comment_ID)你可以在phpMyAdmin中找到。

python_space_over

待看到“导入完毕。好好享受吧!”,心情当真是无比舒畅,按着赖哥哥宁的说法,是比大热天吃了冰水还舒服。

4.一些优化工作

对全盘导入的博文,难免泥沙俱下,以前大量垃圾评论也跟着过来了。垃圾评论的一个特点是姓名为空(“没有名称”或者No name),下面的SQL语句就可以把它们清除:

DELETE FROM wp_comments WHERE CONVERT(`wp_comments`.`comment_author` USING utf8) = ‘(没有名称)nwrote:’ ;
DELETE FROM `wp_comments` WHERE CONVERT(`wp_comments`.`comment_author` USING utf8) = ‘No name’ ;

—-by Jiang<at>li-and-jiang.com——-

Tags: , , , ,

72 条评论 on 博客搬家:从Windows Live Space到WordPress(图解)

  1. nimiss 说道:

    錯過遷移時間
    請問現在能否使用腳本Live-space-mover
    目前做到一半時失敗
    請求援助

  2. [...] 博客搬家:从Windows Live Space到Wordpress(图解) 这是对于原创者的中文详解,挺好的,只是提醒大家能读懂英文最好依照原创者的介绍为好。 我之前有个错误就是Livespace的theme设置不对,要按照Broom的示例博客调整页面布局 my experiment space [...]

  3. [...] 博客搬家:从Windows Live Space到Wordpress(图解) 这是对于原创者的中文详解,挺好的,只是提醒大家能读懂英文最好依照原创者的介绍为好。我之前有个错误就是Livespace的theme设置不对,要按照Broom的示例博客调整页面布局 my experiment space 网易的博客没有太好的建议,参照 “搬家到 Yo2” 利用 [ Blog_Backup ] 软件将其他的博客导入Yo2,因为Yo2也是WordPress系统,因此在导入后可以导出规范的WordPress XML文件,我就是通过Yo2对所有日志进行测试的,虽然有点不人道吧,呵呵~建议无论从哪里导来的日志最好都通过Yo2测试一下,但是最好不要修改什么,然后导入到自己的WordPress博客然后在进行标签、分类目录等设置。好了大功告成,也祝大家都顺利,开始享用吧! del.icio.us: 空间, 网易, 解说, live space, Live Space Mover, WordPress, WP使用手记, Yo2, 博客LiveJournal: 空间, 网易, 解说, live space, Live Space Mover, WordPress, WP使用手记, Yo2, 博客 This entry was posted in WordPress and tagged live space, Live Space Mover, WordPress, WP使用手记, Yo2, 博客, 空间, 网易, 解说. Bookmark the permalink. ← WordPress设置记录 重建博客 WordPress → [...]

  4. [...] 如果和我有同样搬家需求的同学,可以参考这篇和这篇日志。总的思路就是从live space到wordpress,再从wordpress到blogbus。 [...]

  5. [...] 继之前的从 Blogspot/Google Blogger 搬家到 WordPress全攻略 BlogHost再次推出从Windows Live Space搬家到Wordpress图文教程,这是我从网上找到最详实有效的从MSN space搬家到Wordpress的教程,原文可以点此查看。 [...]

  6. SQQQ 说道:

    遇到错误
    LINE 111 : WARNING Can’t find date
    LINE 571 : ERROR Unexpected error

    怎么解决这个??

  7. candy 说道:

    谢谢博主,头疼了好长时间的问题终于解决了!!!搬过去啦,很高兴!
    还有个小小的问题请教,就是导入程序结束后,也收到了成功导入的邮件,现在还想把另一个SPACE也搬过去,可导入界面一直还是显示”Processing…
    We’re processing your import now and will send you an email when it’s all done. If you don’t hear from us within 24 hours, please contact support, and we’ll get everything fixed.
    “请问这个该怎么办呢?
    真的好感谢你~~

  8. veronique 说道:

    我的报错如下, 请问该怎么解决?

    LINE 463 INFO Found cache file
    LINE 471 INFO No more entries in cache file for loading
    LINE 236 INFO connectiong to source blog http://girlviainrye.spaces.live.com/
    LINE 238 INFO connect successfully, look for 1st Permalink
    LINE 252 INFO Found 1st Permalink http://girlviainrye.spaces.liv.....!381.entry
    LINE 97 DEBUG begin fetch page http://girlviainrye.spaces.liv.....!381.entry
    LINE 571 ERROR Unexpected error
    Traceback (most recent call last):
    File “live-space-mover.py”, line 569, in
    main()
    File “live-space-mover.py”, line 492, in main
    i=fetchEntry(permalink,datetimepattern,mode)
    File “live-space-mover.py”, line 100, in fetchEntry
    page = urllib2.build_opener().open(req).read()
    File “C:\Python25\lib\urllib2.py”, line 380, in open
    response = meth(req, response)
    File “C:\Python25\lib\urllib2.py”, line 491, in http_response
    ‘http’, request, response, code, msg, hdrs)
    File “C:\Python25\lib\urllib2.py”, line 418, in error
    return self._call_chain(*args)
    File “C:\Python25\lib\urllib2.py”, line 353, in _call_chain
    result = func(*args)
    File “C:\Python25\lib\urllib2.py”, line 499, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
    HTTPError: HTTP Error 500: Internal Server Error

  9. il 说道:

    我的环境变量中path编辑键是灰色的,不能改:(。。用的是windows 7.有人知道是怎么回事吗。。谢了

  10. [...] 幸福之情溢于言表!感谢丽江行!你真是个大好人!昨天我还对照着抑郁症的症状把自己入了座,心情非常烦闷。今天按照他的方法一举搬家成功,心情好极了!在这里几乎要感谢丽江行同学的救命之恩了……好东西大家一起分享。原文转载如下: [...]

发表评论

*