「㌧」のことは置いといて、(1)と(2)を組み合わせてみた。細かいことは後から考えよう。
#!/usr/bin/env python # -*- coding: utf-8 -*- ''' 2ちゃんねるログを読み込んで整形してhtmlとして出力する ''' import re import sys import codecs def parseRes( res, n ): ar = re.split( '<>', res ) num = str(n) ret = '<dt id=\'dt' + num + '\'>' + num + u': 名前:<span class="name">' if ar[1]: ret += '<a href="mailto:' + ar[1] + '">' ret += ar[0] if ar[1]: ret += '</a>' ret += '</span> ' + ar[2] ret += '</dt>\n<dd id=\'dd' + num + '\'>' ret += ar[3] + '</dd>\n' return ret print 'Content-Type: text/html;charset;Shift_JIS' print print ''' <html> <head><title>prototype</title> <meta http-equiv="Content-Type" content='text/html; charset="Shift_JIS"' /> </head> <body> <dl> ''' fout = codecs.getwriter('shift_jis')(sys.stdout) log = codecs.open('1111198050.dat', 'r', 'shift_jis', 'ignore' ) res = 1; for line in log: fout.write( parseRes( line, res ) ) res += 1 print '