メインコンテンツに移動
mattz.xii.jp

Main navigation

  • Home
User account menu
  • ログイン

パンくず

  1. ホーム

2ちゃんねるログビューアを作成する(1)

By mattz, 2008/05/21

とりあえずの目標である、CHPログビューアの移植に向けての第一歩。

まずは1行分のログをparseして整形して返す関数を作ってみる。

  • とりあえず文字コードのことは忘れるために全部asciiにしてしまえ。
  • jsでレスポップアップとか入れるためにも、各要素にidだけは振っておく。とはいいながらもその辺の処理は後回しだ。pythonでの正規表現の使い方とかさっぱり分からんし(splitだけは使ったが)。

今日学んだこと。

  1. 関数は先に定義するもののようだ。
  2. 文字列の連結は"+"。
  3. int型の変数はいきなり連結は出来ないみたいだ。まぁ、いずれsprintfに相当するものが出てくるだろうから、コレについてはほっとく。
  4. 今日書いたコード。
    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    '''
    2ちゃんねるログ形式の1行をparseして整形する。
    '''
    import re
    def parseRes( res, n ):
            ar = re.split( '<>', res )
            num = str(n)
            ret = '<dt id=\'dt' + num + '\'>' + num + ': 名前:<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;utf-8'
    print
    res1 = 'name<>sage<>05/03/19 11:07:30 ID:???<> body1 <>thread title'
    res2 = 'no name<>sage<>05/03/19 11:15:37 ID:???<> <a href="../test/read.cgi/board/0000000000/1"'
    res2 += ' target="_blank">&gt;&gt;1</a> <br> body 2 <>'
    
    print parseRes( res1, 1 )
    print parseRes( res2, 2 )
    

    実行結果がかつてはリンクされていました。

次はテキストファイルを読み込む辺り。の前にShift_JIS問題を何とかしよう。後ではまるかもしれないし。

タグ

  • Python
前のエントリー次のエントリー

最近のエントリー

  • 俺は野球殿堂博物館を甘く見ていた
  • 2022シーズン セ・パ12球団の総移動距離
  • Drupalを9にあげてみました
  • 2021シーズン セ・パ12球団の総移動距離
  • 登場曲
  • 2020シーズンのセ・パ12球団の総移動距離を調べてみた
  • vagrant + VirtualBoxで構築した仮想ホスト(Cent OS)の.sshフォルダの権限をうっかり変えてしまってvagrant sshできなくなっちゃった時の話
  • STVの呪い
  • 松田 vs 十亀シミュレーター
  • ○●○●○●○●○●○●○

タグ

DragonflyセキュリティCDイベントTogetterマンガオウガwebお出かけ田中圭一空耳DrupalUserJSONE OUTSながいけんLDR皆川亮二とめはねっ!24のひとみメールフロマンガ小池一夫IE6石塚真一男女PSP増田吉田戦車弁護士のくずツモっ子どうぶつの森甲斐谷忍森のテグーたむらぱん写真集加藤伸吉bookmarkletgrepUserCSSTwitterゼブラクイーンTap Defenseカルネージハートスポーツ三国志ライブJavaScript時をかける少女ER倉島圭Michael Jacksonプログラミング言語神聖モテモテ王国NPB国民クイズ上ってなンボ!!おもちゃブログOperasaku saku岳Googleケータイ琉神マブヤー12月生まれの少年コンビニFONレジストリMovable TypePEACE MAKER杉元伶一翻訳塊魂武帝紀田辺イエロウ映画キーボード正規表現ニュースphp北方謙三Python二ノ宮知子Excel安全地帯私たちは繁殖している木村カエラ燃えるVはてなYahoohideシャーロック・ホームズ仮面ライダーSPIRITSやきう井浦秀夫お知らせperlHALCALI風来のシレンサナギさん猫安倍夜郎twicli村枝賢一河合克敏本さくらインターネット音楽UIIMEGoogle+島本和彦Line RiderWindowsFreeBSDウルフガイ野球pipesアプリいきものがかり施川ユウキ内田春菊平井和正結界師ファイターズボルダリングCSS2ちゃんねるOAuthゲーム日本語CPAN卓球のだめカンタービレlinuxiOSChromeADAMAS小説ブラウザvagrant雑記Firefox検索仲里依紗DVDspam水滸伝
mattz.xii.jp