从百度空间搬家到WordPress

试着将百度空间的博客文章搬到这里,google了几把,发现了一个工具:

http://www.yhustc.com/exp/other/BlogMover.zip

按照用法,解压、执行其中的一个脚本,发现出错:

python hi-baidu-mover.py -s http://hi.baidu.com/百度账号

就试着改成:

python hi-baidu-mover.py -s http://hi.baidu.com/百度账号/blog

结果ok了。

脚本执行过程中,屏幕不停地报错:

UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe9 in position 117: ordinal not in range(128)
Traceback (most recent call last):
File “/usr/lib/python2.6/logging/__init__.py”, line 768, in emit
msg = self.format(record)
File “/usr/lib/python2.6/logging/__init__.py”, line 648, in format
return fmt.format(record)
File “/usr/lib/python2.6/logging/__init__.py”, line 436, in format
record.message = record.getMessage()
File “/usr/lib/python2.6/logging/__init__.py”, line 306, in getMessage
msg = msg % self.args
UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe9 in position 117: ordinal not in range(128)

暂不理睬,一会儿功夫,文章抓完了,生成了一个XML文件:

-rw-r–r–  1 zhubaining zhubaining 292403 2011-03-15 00:50 hibaidu_03152011-0050.xml

于是就往WordPress里面导入:

先要安装一个用于导入的插件:WordPress Importer,激活后,在管理后台Tools=> Import里面选择WordPress,然后上传那个xml文件。

不幸的是,报错了:

Sorry, there has been an error.
This does not appear to be a WXR file, missing/invalid WXR version number

看来是抱怨文件缺少wxr版本号,vim打开xml文件后,确实没发现,怎么办?

WordPress不是可以导出xml文件么,那就马上导出一个标准版本。经过对两个xml文件的比对,确实发现少了一行,于是加上蓝色的那一行:

<language>en</language>
<wp:wxr_version>1.0</wp:wxr_version>
<wp:category><wp:cat_name><![CDATA[Jishu]]></wp:cat_name></wp:category>

再次上传,这下OK了。

导入了不少文章,发现有几篇是乱码,直接查看那个xml文件,里面确实也是。一开始以为是由于百度空间博客里面的分类是汉字导致,都改成英文的分类名,重试一次还是乱码。算了,那几篇就人肉复制粘贴过来吧。

还有一个比较倒霉的问题,就是原来文章里面那些图由于防盗链,在这里没法正常显示了。下来准备写个脚本把这些图片从百度空间抓下来,转存一下,然后再把文中的图片链接修改一下。

http://zhubaining.com/

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注