上周有篇日志谈到了搬家的无奈和沮丧,但这家不搬不行啊,否则总是很多个site开着也很麻烦,呵呵,这周一直在考虑用什么方式把PJBlog2里的Blog转到SuperSite里,其实有很多手工的方法,甚至最笨的方法就是一篇一篇的拷贝过来,可是这样不是让我觉得自己太笨了吧,不行,一定要找个办法。
曾经考虑过用数据库导入的方式,PJBlog2用的是MS Access的数据库,可以本地导出所有的内容,可是这个Supersite的程序都是用Zend加密的了,不知道程序,只是从Mysql的表结构上看还是不敢直接导入啊,风险貌似大了点,这个方法就被否定了。
因为PJBlog2的作者也是个很喜欢尝试新东西的人,所以Blog上RSS、ATOM、XMLRPC都有,RSS其实是最简单的方式,我看了一下到处的XML文件的格式,不清楚定义XML格式的Schema是什么,但因为格式很简单我觉得不应该有什么问题,但把URL放入到SuperSite的导入对话框里,出来的有两个问题,第一:只有10条记录,第二:出名标题之外连日志发布时间都无法识别。第一个问题还好解决,打开PJBLOG2的源代码,修改一下最大记录值就可以,但第二个,没法看Supersite的源代码,不知道怎么解析的XML,所以。。。只能放弃。。。
RSS 2.0不行,那么就试验一下XMLRPC吧,这个是个好东西,而且SuperSite也支持,里面注明支持MetaWeblog API和WordPress API,可是回头一看Pjblog2,立刻傻眼了,这东西只是支持Movable Type API,这怎么办呢,搜索了一下Google,发现WordPress和Movable Type作为竞争对手,都有提供导入对方文件或者XMLRPC的支持,那么能不能用其中的一个做中间环节来导入呢?看了一下Movable type,晕死,居然是用Perl的,那就算了,用WordPress 2.5吧。
在美国的空间上有一键安装的WordPress,太好了,这免得我自己劳累,装好之后,看了一下文档和根目录下的xmlrpc.php,哇咔咔,什么实现都有啊,甚至连Bloger API都有得支持,爽死了,正在高兴着呢,突然发现import的功能不支持live的RSS或者Movable Type,必须需要倒成本地文件之后才可以上传导入,怎么会成这样,真吐血,唉。。只能用RSS 2.0的导出文件来导入了,这次识别的项目很多,不过我发现一个问题,这个导入对XML里的某个元素里的DATA类型识别不好,不知道为什么,没办法我只能把这个tag去掉,然后上传。
上传的很顺利,然后这次我觉得我可以用Supersite从我的这个WP里导入了,可是新的问题又出来了,每次也只能倒10个,我没办法,又跑去看WordPress的程序,改好之后,重新来过,但发现有很多错误,觉得很纳闷,怎么会有错呢?最后自己用RSS查了一下,发现输出的很多字符串不是UTF-8的编码,这很奇怪啊,怎么一些是乱码,一些是UTF-8呢?看来一下,也就30多个,算了,手工对付这30多个记录吧。
一点一点的磨了下来终于今天下午把原来的内容全部导入了,但所有的评论,ping,回复等全部都消失了,我虽然还想把这些导进来,但这已经是另外一项艰巨的任务了。。
文章评论