在Kindle上读博客

最近折腾博客过程中,意外结识了几位新朋友,其中,土木坛子给晴耕雨讀志的搬家带来很大帮助。进而,dapeng 又顺着链接溜到了博士牌民工那里去,继续受启发。读了这两位的博客,有一种感觉叫做相见恨晚。他们跟 dapeng 的兴趣类似,观点雷同,有一种发现叫做臭味相投,大概是因为2008到2009年前后赴欧洲留学的人都有类似的经历吧。比如读到坛子关于 Kindle 的帖子, dapeng 觉得眼熟,心想,这不是我写的吗?一看,坛子比 dapeng 写得好。比如读到民工关于奶粉的观点,dapeng 觉得亲切,心想,这不是我写的吗?一比,民工比 dapeng 写得早。这让虚长几岁的 dapeng 情何以堪啊!于是dapeng 决定把他们的博客通读一遍。在 Kindle 上。

是的,在 Kindle 上。这两位的博客都有二三百篇了,在电脑上看多了费眼,在 iPad 上看多了会被老婆抢走,而在 Kindle 上就方便多了,可以冠冕堂皇地做出一副“我在读书”而非看八卦的姿态。坛子曰,这不算盗版。那好,dapeng 就不客气了——

上图是坛子博客在 Kindle 上的截图。格式还不完美,dapeng 觉得不影响阅读,就懒得精益求精了。还有民工的,也还能凑合着看:

坛子的格式比较难看,抱歉,因为是 dapeng 试手的第一个小板凳。民工的加上了段首缩进,进步了一点。

那么怎么把他们的博客弄到 Kindle 上去呢?下面以坛子的博客为例试做说明。

下载原文

先把坛子的每篇博客都下载到本地电脑上。dapeng 想到了几个方法实现:

  1. 一个一个点击另存。
  2. 用迅雷批量下载。
  3. 用 firefox 的 vim 插件,再用 vim 的宏功能。
  4. 用 wget。

方法 1 太累,不适合 dapeng 这种懒人。方法 2 失败。方法 3 也有点麻烦。最后选用方法 4。

wget 是个命令行下载工具,linux 用户尽人皆知。dapeng 现在用的是 windows 系统,所以下载 wget 的 windows 版。观察一下坛子博客存档的特点,每篇的地址都是 http://tumutanzi.com/archives/i,其中 i 是个数字编号,从第一篇 5947 到最近一篇 10910。所以,windows 下批处理命令用 wget 批量下载:

for /l %%i in (5947,1,10910) do wget -r -np -nd http://tumutanzi.com/archives/%%i

好了,机器开始运转,不一会儿,就把帖子全扒下来了。下一步:

转换文档

下载下来的是 html 格式文档,dapeng 打算转成 txt 的。网上有免费的 html 批量转 txt 工具,比如这里是一个。

转换完后得到几百个 txt文档,要合并成一个。windows 下用命令:

copy *.txt tumutanzi.txt

好了,差不多完成了,还剩最后一步。

美化阅读

上一步得到的 txt 文件里,有大量的冗余字符。在两篇相邻帖子之间,插着博客的副标题,菜单列表,相关日志列表等等,总之坛子博客页面上有什么文字,这个 txt 文件里就有什么文字,比正文还长啊,当然要删掉。怎么删? 懒人 dapeng 用的是 vim 的正则表达式和宏命令,两三个就可以搞定。这个实在懒得细说,感兴趣的朋友请自行搜索 vim 教程吧。

美化之后,就可以用 email 推送到 Kindle 了,不多时, 就发现他们的博客已经被尽收囊中,可以在 Kindle 上爽爽地读了。这里给出 txt 文本的下载链接。
土木坛子 2006 年 7 月 24 日 到 2013 年 2 月 9 日的博客文本点这里
博士牌民工 2010 年 9 月 25 日 到 2013 年 2 月 18 日的博客文本点这里

如前所述,格式不够完美。dapeng 继续探索了一下,哪知道越弄越乱,下面这个是 monomiao 的博客,有些换行还没有实现:

折腾到这里,懒得继续了。dapeng 希望有时间能用 latex 给这个流程画上一个完美的句号。因为 dapeng 曾给小语的成长博客做过一次,还是比较满意的:

在Kindle上读博客》上有14条评论

  1. 土木坛子

    非常感谢提供这样有技术含量的方法,我曾经试过各种方法,都没有成功,你这个方法可以把所有的文字都以纯文本方式下载下来,非常好。

    至于你说我的排版不好,我觉得我有些冤枉,你要知道,从博客界面上,我的文字是具有较清晰的排版的,段与段之间,分段的频率,适当的图片,我是有过研究的。

    而这一切在界面以后是以非常简洁的纯文本方式——尽量去除多余的模式,纯文本方式最好,简单才是最可靠的。所以你下载成纯文后,虽然段与段之间没有间隔,但完全可以用WORD处理一下,比如用查找与替换把所有^p替换成^p^p,即每一个分段符变成两个分段符,这样,段与段之间的间隔就分明了。可读性大大增强。

    而在博客中段与段的间隔是通过 CSS控制的。

    回复
    1. dapeng 文章作者

      坛子,我不是说你的排版不好,我是说我对你的博客处理得不够好。主要是我着急读,就没有弄那么细致。我打算有时间用 vim 再处理一下。

      回复
      1. 土木坛子

        哈哈。没有关系的~就就算真有不足之处,指出来也是欢迎的~~
        你这么一说,我倒是想起来一件事,前两天的服务器的CPU超出限度好多,CPU时间我的限度是100分钟,前两天都是超过200分钟,如果你是在上述时间段进行的,难道这种下载方式会对服务器性能形成很大的开销吗?要是这样,那岂不容易用这种方式把人家的服务器给整趴下?

        回复
        1. dapeng 文章作者

          刚才用 vim 重新处理了一下,更新的txt文件格式更好看一些。下载链接也更新了。处理过程比我想象得简单。

          你说的CPU超限挺有意思。我扒你的博客的时间大概是在2013年2月9日到10日11点之间,你看看能不能对应上?

        2. 土木坛子

          是的,这下排版更美观具有可读性了~太感谢你了。我自己曾经也疑惑,怎么样才能把自己的文字弄下来——万一哪天服务器被人端走了——虽然不太可能,以纯文本的方式保存着。现在的这个样子就非常好了。

          这么说来,服务器是这两天的问题,应该是前两天用了IMAC风格的主题引起的,漂亮,不是从官方获取,所以占用资源太厉害了。现在换回简洁主题,没有问题了。

        3. dapeng 文章作者

          不客气,大家一起玩。上个月扒博客玩的时候,发现我自己的博客反倒是扒不下来。我也顾虑博客的备份问题,所以最近都是先在本地 txt 文件里写好再拷贝粘贴到网上。另外用 email 发送到博客的方式也能在邮箱里有个备份。

  2. Yang

    我感觉我在走你走过的路哎。
    我在国内的时候就买过kindle,但比较浮躁,没看多少书,也有ipad3,但也买了kpw,目前看了一本。
    今天才认识坛子,也有相见恨晚的感觉。

    回复
    1. dapeng 文章作者

      呵呵,我有这种感觉:人人都以为自己个性,等结识某些朋友之后才发现,原来大家差不多……

      Kindle 看书超赞,相信只要选对了你喜欢的书就不浮躁了。

      回复
  3. ChoJemmy

    这篇文章我怎么漏了,难道当时扫GR太快?我一直以为你是有啥特殊工具,没想到是这么来的。

    回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax