令狐虫的Linux空间

Linux tips for normal user

季明鑫ID:TopCat
17468次访问,排名6660好友0人,关注者3
TopCat的文章
原创 10 篇
翻译 0 篇
转载 0 篇
评论 15 篇
令狐虫的公告
以一个普通用户的角度介绍Linux的使用经验和技巧
最近评论
weizhe86:讲的好,学习
Raptor:Linux还能这样干啊,Windows就干瞪眼了。HOHO
sirit:深夜细读,眼红...
flowercity:火星乡下人?
解释一下嘛
truelove7283159:关于这个名字是这样的,
以前注册的时候没有发现那里可以留联系方式的。
就把QQ号和那天的名字用上了。
7283159 就是我的号。呵呵:)。
文章分类
    收藏
      相册
      Links
      令狐虫的摄影空间
      令狐虫的无聊空间
      存档
      软件项目交易
      订阅我的博客
      XML聚合  FeedSky
      订阅到鲜果
      订阅到Google
      订阅到抓虾
      订阅到BlogLines
      订阅到Yahoo
      订阅到GouGou
      订阅到飞鸽
      订阅到Rojo
      订阅到newsgator
      订阅到netvibes

      原创 [Python]HTML转换为TXT的脚本收藏

      新一篇: 解决A1200手机的zmplayer中文字幕问题 | 旧一篇: 输出信息“英化”的解决方法

      朋友给我发了一些文章,是HTML格式的。但是我的A1200手机只适合看txt格式的书,所以写了一个脚本,把某个目录下的所有.htm文件转换成txt,并放到txt目录下。

       1 from formatter import AbstractFormatter, NullWriter
      2 from htmllib import HTMLParser
      3
      4 def _(str, in_encoder="gbk", out_encoder="utf8"):
      5 return unicode(str, in_encoder).encode(out_encoder)
      6
      7
      8 class myWriter(NullWriter):
      9 def __init__(self):
      10 NullWriter.__init__(self)
      11 self._bodyText = []
      12
      13 def send_flowing_data(self, str):
      14 self._bodyText.append(str)
      15
      16 def _get_bodyText(self):
      17 return '\n'.join(self._bodyText)
      18
      19 bodyText = property(_get_bodyText, None, None, 'plain text from body')
      20
      21 class myHTMLParser(HTMLParser):
      22 def do_meta(self, attrs):
      23 self.metas = attrs
      24
      25 def convertFile(filename):
      26 mywriter = myWriter()
      27 absformatter = AbstractFormatter(mywriter)
      28 parser = myHTMLParser(absformatter)
      29 parser.feed(open(filename).read())
      30 return ( _(parser.title), parser.formatter.writer.bodyText )
      31
      32 import os
      33 import os.path
      34
      35 OUTPUTDIR = "./txt"
      36 INPUTDIR = "."
      37 if __name__ == "__main__":
      38 if not os.path.exists(OUTPUTDIR):
      39 os.mkdir(OUTPUTDIR)
      40
      41 for file in os.listdir(INPUTDIR):
      42 if file[-4:] == '.htm':
      43 print "Coverting", file,
      44 outfilename, text = convertFile(file)
      45 outfilename = outfilename + '.txt'
      46 outfullname = os.path.join(OUTPUTDIR, outfilename)
      47 open(outfullname, "wt").write(text)
      48 print "Done!"
      49

      BTW:以上这段代码是用vim的 :TOhtml 命令转换而成。

      发表于 @ 2007年01月04日 20:10:00|评论(loading...)|编辑

      新一篇: 解决A1200手机的zmplayer中文字幕问题 | 旧一篇: 输出信息“英化”的解决方法

      评论:没有评论。

      发表评论  


      当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
      Csdn Blog version 3.1a
      Copyright © 令狐虫