奋战了一个晚上,终于迎来了这一刻,之前在MT上面的blog全部导入到WP里面了!
之前一直在围绕着Berkeley DB的数据文件升级或者导出,其实进入了一个误区。虽然我知道原来的数据版本是在1.85版本上面的,但是放到DH主机上面无论用v3版本还是v4.3版本的db_upgrade,db_dump,db_dump185都没有办法读取到数据库的内容(具体原因真是天晓得了,只好认倒霉)。穷途末路之中,想起老子当年好歹都做过搜索引擎,何不写一个spider去读自己的静态文件,然后在里面抽取出内容数据,在生成到MT导出文件格式的txt文本里面,然后让WP导入呢?
正准备谋划这步,不过写这个spider用Java写确实很麻烦。为什么不用perl这么强大的文本处理呢?全世界不超过10个人知道我曾经写过perl的程序,嘿嘿。不过当然我没有那么笨白手兴家,感谢Google,终于我在MT的论坛上面竟然找到同道中人,详情可以见这里,感谢里面两位大侠anakin513和apakuni无私地提供了程序代码,然后就是我自己利用apakuni的修订版为基础,在上面继续修改以符合我本身的那些archives文件内容的要求。注意:因为我本身的模板是有中文包含在里面,所以对于perl代码里面用中文字符串查找时,perl的文件必须存成UTF-8格式,这个是跟我本身的HTML是UTF-8相对应,否则perl可能匹配不了那些UTF-8编码的中文字。
改好以后将几个html上传到DH的临时目录,然后运行这个perl程序,生成出来的txt能够成功导入到WP里面。那个激动啊!!!接下来将自己1000余个HTML文件全部通过SSH上传到服务器,结果洗完澡出来还没传完(这是我笨,没有在本地打好一个gz包整体上传,分开一个个小文件导致大量的IO消耗,因为太激动,所以笨了)。接下来生成导出的txt文件。半秒不到,强大的DH服务器加perl强大的文本处理能力!生成出来的文件是1.4M多,这个就是我5年的blog心血。(注:生成出来的txt文件其实已经是UTF-8格式的啦)
利用WP的tool上传文件然后import,搞定!但是部分文章因为模板的改变,没有记录具体的category信息,所以需要手工恢复。惨
如果导入的txt文本是“正版”的(也就是原来由MT导出工具生成的),文章的类别是会自动保留的,并且导入后在WP里自动生成相应的新类别。看来盗版跟正版还是不一样啊,哈哈。
不过你成功恢复已经很不错啦!我那位大侠这两天忽然失踪,在MSN上叫不应,大概是捣腾数据库入迷了也未知,呵呵。
顶吾顺啊,好丑样的blog啊,你这么腌尖的人点解可以忍受呢?
因为太多主题可以选择,花多眼乱,这个够平实,符合我……
有空再自己弄主题了
我看的时候连现在这个都没有啊,单纯白纸黑字,现在还算好看的啦