博客搬家

话说这个域名注册了有一段时间了,几乎一直都是闲置状态。前段时间又重新捣鼓了个虚拟主机,经过了1个多月的备案后,终于都搞定了。

当初买这个域名就想建独立博客,算是对自己的一个记录,因此装上wordpress后第一件事就是把博客从Baidu Hi搬过来。

在网上google了一番,发现baidu hi的内容无法直接import过来,一般情况下只能通过rss了。起初是想自己写个程序把baidu hi的内容拔下来,然后组装成wordpress能识别的xml文件,后来在google wordpress的xml格式时发现早有前人把程序写好了,而且支持的搬家功能更全更强大。就是一个叫做“blog_backup”的小东西,最新是2.x版本了,可以直接读取baidu hi的内容生成wordpress格式的xml,但是是收费软件,不注册的话,只能读取博客,没法导出。找到的另一个1.x版本的软件倒是全功能的(可以输出rss的xml,但是跟wordpress略有区别),可是已经无法读取baidu hi的内容。

后来仔细比较了一下两个版本软件的目录结构,发现它存放数据的文件都叫做myblog.db,所以就试着把高版本读取到的内容文件放到低版本目录里,发现可以正常打开,就直接输出整个xml文件,然后需要对xml文件作如下替换,使之成为wordpress能导入的格式:

替换<description>标签为<content:encoded>,</description>为</content:encoded>

替换<pubDate>为<pubdate>,</pubDate>为</pubdate>

为每一个item节点添加一个<dc:creator>jnduan</dc:creator>子结点,标识作者
然后通过wordpress后台的import导入整个xml就行了(可能需要装一个导入rss的插件)。

导入完成后,发现分类都丢了,又人肉修改了分类,顺便编辑了文章的副标题……

然后发现baidu hi的图片是防外链的,在这边都没发显示了,就动手花了几分钟写了个程序把相册的图片地址抓了下来,用迅雷的批量下载搞下来,再传到ftp上,然后执行下面的sql把图片地址替换掉:

update wp_posts set post_content=replace(post_content

,’http://hiphotos.baidu.com/openj/pic/item/'

,’http://www.jnan.org/wp-content/uploads/old/')
至此,所有的内容都已经搬到了自己的主机上,博客搬家功能算是告一段落了。

加载评论框需要翻墙