你的位置:首页 > 软件开发 > ASP.net > 把博客园的博客导出为MovableType的文本格式

把博客园的博客导出为MovableType的文本格式

发布时间:2015-12-29 12:00:08
最近把以前的wordpress建的博客删了,用textpattern重新建了一个独立博客,http://www.shenlongbin.com,可以把它当成博客园上内容的备份,但导入我以前的一大堆文章非常有难度。经过一番折腾,终于把博客园的内容导出为文本,再导入到textpatt ...

把博客园的博客导出为MovableType的文本格式

最近把以前的wordpress建的博客删了,用textpattern重新建了一个独立博客,http://www.shenlongbin.com,可以把它当成博客园上内容的备份,但导入我以前的一大堆文章非常有难度。经过一番折腾,终于把博客园的内容导出为文本,再导入到textpattern中了。

第一步:C#编程把博客园内容读取出来

博客园的管理端提供了博客备份功能,可以生成一个学习了metaweblog编程知识,内部采用了很多地方都引用了

博客园的metaweblog的访问接口可以访问:http://www.cnblogs.com/speeding/services/metaweblog.aspx,从而获得详细的描述信息。实际上在

我们单位访问互联网要用到代理,还要密码验证,所以关键代码得添加几行:

MetaWeblogCnblogs blog = new MetaWeblogCnblogs();

blog.Url = "http://www.cnblogs.com/speeding/services/metaweblog.aspx";

Uri proxyURI = new Uri("http://myproxyhost.myproxydomain.com:80");

System.Net.WebProxy proxyObject = new System.Net.WebProxy(proxyURI, false);

proxyObject.Credentials = new System.Net.NetworkCredential("proxy_username", "proxy_password");

blog.Proxy = proxyObject;

Post[] posts = blog.getRecentPosts("speeding", "speeding", "my_blog_admin_password", 50);

这样就可以获得博客内容了,但需要再调用getPost才能获得详细的信息,这里就可以看到摘要和关键词了。

Post detail = blog.getPost(post.postid.ToString(), "speeding", "my_blog_admin_password");

第二步:利用pandoc把html内容转换为textile标记

Post中的description中都是html标记,而textpattern默认的标记语言是textile,所以需要将其转换为textile,关于textile标记的百科知识见这里。

这里要用到著名的pandoc了,这个神奇的工具竟然是用haskell写成了,以前学习haskell语言的时候以为只是一种教学语言,真有人写出了实用程序!

把博客中内容写入temp.html文件中,再用下面的命令行就可以转换了。

pandoc.exe -t textile -o textile.txt temp.html

主要代码:

ProcessStartInfo startInfo = new ProcessStartInfo();

startInfo.CreateNoWindow = false;

startInfo.UseShellExecute = false;

startInfo.FileName = "..\\..\\pandoc.exe";

startInfo.WindowStyle = ProcessWindowStyle.Hidden;

startInfo.Arguments = "-t textile -o textile.txt temp.html";

using (Process exeProcess = Process.Start(startInfo))            {

     exeProcess.WaitForExit();

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:把博客园的博客导出为MovableType的文本格式

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录