#!/usr/bin/env python ## ## html2txt.py - strip printable texts from html files. ## ## by Yusuke Shinyama, May 2003 ## import sys, sgmllib class Parser(sgmllib.SGMLParser): def __init__(self): sgmllib.SGMLParser.__init__(self) self.t = 0 self.ok = 1 return def handle_data(self, x): if not self.ok: return s = x.strip().replace("\n", " ") if s: if ord(s[0]) < 128: sys.stdout.write(" ") sys.stdout.write(s) self.t = 1 return def newline(self): if self.t: self.t = 0 print return def do_p(self, attrs): self.newline() return def do_br(self, attrs): self.newline() return def do_th(self, attrs): self.newline() return def do_td(self, attrs): self.newline() return def do_li(self, attrs): self.newline() return def do_hr(self, attrs): self.newline() return def do_h1(self, attrs): self.newline() return def do_h2(self, attrs): self.newline() return def do_h3(self, attrs): self.newline() return def do_h4(self, attrs): self.newline() return def do_h5(self, attrs): self.newline() return def do_h6(self, attrs): self.newline() return def do_h5(self, attrs): self.newline() return def start_style(self, attrs): self.ok = 0 return def end_style(self): self.ok = 1 return def start_script(self, attrs): self.ok = 0 return def end_script(self): self.ok = 1 return if __name__ == "__main__": import fileinput p = Parser() for s in fileinput.input(): p.feed(s)