Fork me on GitHub
使用C#转移WORDPRESS博客到为知笔记或EVERNOTE

使用C#转移WORDPRESS博客到为知笔记或EVERNOTE

注:文中的方法非常简单,使用MySQL导出表到XML,发送邮件到你的为知/Evernote邮箱账户即可,唯一目前没找到破的是SMTP常随机无响应.. 而且象GMAIL的SMTP有发送次数限制(一天一千左右吧,所以如果有超过的话可能需要更换账号再试,当然你也可以改良下,做个数组,遇到配额错误可以提取下一个SMTP信息),优点是利用邮件的方式可以将博客中的图片也能导入到笔记中(而不是用的图片原链接,是直接放进笔记)

日志导入Wiz的结果:

image

一、目的

很简单,我担心博客放在网上有一天会不见了,所以一直想存到本地,博客太多,手动已不可能

  1. 我这些年使用wordpress有上千篇博客,其中有8成都是私有,使用现在的一些读取FEED方式导出的方式不能读取私有和保护博客,Wordpress也有导出插件,我没有试太多,有一个导出xml的工具采用流式试过十多次没有一次是完整导出,有时导出100来K,有时几M,最后放弃使用WP插件导出。
  2. 数据源:使用MySQL导出XML。 
    首先原因是空间提供商不提供MySQL远程连接,(如果你能导出SQL在本地建MySQL再导入,就不在这个话题范围内)。我原本想导出为SQL,再转换为MSSQL,可在网上找的所有converter都是必须登陆远程MySQL服务器,这条路径也行不通。导出的CSV为乱码,试过UTF8, GB2312都不行,这条路径也行不通。最后发现只有导出XML时没有乱码。这就简单多了。
  3. 使用C#读取XML时,有几类重要的信息是个人觉得必需的
    1. 博客表 wp_posts
    2. 类别(category / tag等) 表 wp_term_taxonomy, wp_terms wp_term_relationships 
      SQL: 
      -- 列出全部日志 -- 
      create view v_post as 
      SELECT p.*, tax.term_taxonomy_id,tax.term_id,category.name, tax.count 
      FROM 
      wp_term_relationships relation, 
      wp_terms category, 
      wp_term_taxonomy tax, 
      wp_posts p 
      WHERE 
      category.term_id = tax.term_id and 
      tax.term_taxonomy_id = relation.term_taxonomy_id and 
      relation.object_id =  p.id

二、操作步骤

  1. 登陆你空间的phpAdmin,选中日志数据库后,选择Export,框选的是需要注意的,导出时不要选择导出TABLE/VIEW等SQL语句。UTF-8必选否则会有乱码 
    image 
    得到导出的XML将作为我们的数据源。请一定确保下载下来的XML是有效的(我刚试过,这一种也有可能会下载不完整,无解 /摊手) 
  2. 跑日志的运行结果 
    image
  3. 代码 

    DTO类
    app.config

三、可改善的地方

  1. Mail body顶部,我加入了日志详情 
    image
  2. 我没有将日志放进tag,你可以改一下代码使之subject上加入tag (for evernote, 加入#tag1 tag2等,自行查下规则)
  3. 唯一目前没找到破的是SMTP常随机无响应.. 你如果找到可以破的(比如CATCH到IOExeption重连的),麻烦告诉我
  4. GMAIL的SMTP有发送次数限制(一天一千左右吧,所以如果有超过的话可能需要更换账号再试,当然你也可以改良下,做个数组,遇到配额错误可以提取下一个SMTP信息)

四、关于为知WIZ

  1. 个人觉得Wiz是个还有很多提升空间的、自定义性比较强的国产笔记类软件,记得用Wiz的话一定要注意给你不愿意别人看到的条目加个密,不然按Wiz的目录式的HTML文件在电脑中完全没有秘密可言,知道目录的无需登陆就能打加所有日志。 
    image
  2. 没有Wiz账号的,在这顺便递送个邀请码吧,6d485186 (http://www.wiz.cn/i/​6d485186),据说用了注册后第一个月有VIP试用,当然你不用也行。
  3. 比较起Evernote来说,好处就是日志的空间比较大,插件化让它比较有趣味。 比如它可以导出CHM,可以把以往的日志全部转成一个漂亮的CHM。它的搜索体验我觉得比Evernote更好,全文检索的index使得搜索特别快。再多的就不介绍了,敢兴趣的可以自行了解。
愿一路奔跑不退缩,到目前一直从事.Net的B/S,C/S企业应用研发
 
posted on 2013-05-11 21:01  HackerVirus  阅读(307)  评论(0编辑  收藏  举报