2chブラウザののログコンバーターを作ろう
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG移行するにしても過去ログを捨てなければいけません。
そこで共通のログコンバーターを作ろうというスレッドです。
ちなみに私はプログラムはVC++が出来ますが、
プロでもないし、それ程の実力も無いので協力者を募集します。
関連スレ
monazilla.org (w
http://www.monazilla.org/
0002デフォルトの名無しさん
NGNGPerlとか使えば数日で完了するプロジェクトだと思うんだが。
0003デフォルトの名無しさん
NGNGその数日で終了することを誰も着手していないわけだが。
代表的なところで、かちゅ、ゾヌ1、ゾヌ2、Abone、Janeあたりの相互変換が
できると結構需要ありそうだね。
オープンソースで作って、対応ソフトを増やしていくと(・∀・)イイ!!かも。
00041
NGNGその内容やフォーマットも私一人では正直、解析ですら大変です。
フォルダもサーバー名だったり、板名だったり様々です。
これから出てくるブラウザにも柔軟に対応できるようなソフトを目指したいのです。
00051
NGNG今更ですがスレタイに「の」が一つ多かったですね。(;´д`)
0006デフォルトの名無しさん
NGNGで、最終的な変換はXSLTで。
面倒っちゃ面倒だが普通にやったらそれこそ>>2なので。
0007デフォルトの名無しさん
NGNGとりあえず「ログだけ相互変換」で動くものを迅速にリリースしたほうがいいかも。
0008デフォルトの名無しさん
NGNG>>2ができる奴は作り捨てでやっつけるし、できない奴はどうしようもないので諦める。
結果的に余り公開されて無いだけだと思うが。
公開したら公開したで仕様変わったときに対応迫られて面倒だしな。
0009デフォルトの名無しさん
NGNG同意。
そもそも、そんなにしょっちゅうソフトを変える人がそう沢山いるとは
思えないので、ユーザ名だのハンドル名だのはコンバートする意義が
少ないと思う。設定し直すのもたいした手間じゃないし。
ついてるに越したことはないが、それよりもコンバート対応ソフトを
一種類でも増やしたほうが有意義と思われ。
00101
NGNG最低限どんなファイルがあれば良いのか調べる必要がありますね。
00111
NGNG参考程度に。
色々 → Jane
http://www.geocities.co.jp/SiliconValley-Sunnyvale/7740/
かちゅ〜しゃ → ぞぬ
http://suzuka.cool.ne.jp/aiken/
かちゅ〜しゃ → Hikky ログコンバータ
http://www.geocities.co.jp/SiliconValley-Oakland/4909/
かちゅ〜しゃのログを2chで使用されているdat形式へ
http://kusuri-.hp.infoseek.co.jp/tools.html
0012デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNGそんな大規模なソフトじゃないから意味ないw
単にVerUPでEXE差し替えで十分だと思われ。
0014デフォルトの名無しさん
NGNG内部的には何かの統一的な表現形式を採用したほうがいいんじゃない?
XMLでログデータの受け渡しするんならプラグイン化も楽だと思うし。
(それこそ標準入力からXMLを読んで引数で指定したディレクトリにログを吐く
exe形式のプラグインでもいいような。。。(素人考え)
0015デフォルトの名無しさん
NGNGプラグイン形式にしておけば他のソフトが利用しやすくなると思うのだが。
ひとりで全部作るなら別にいいけど。
>>14
内部的ではそうするだろうね
0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNGデータ解析で挫折しそう。
00181
NGNGわかりました。
幼稚な上に汚くて叩き台にもならないかも知れませんが、
簡単なところでAbone→Janeでもやってみます。
余談ですがギコナビのidx(板リスト)ってバイナリなんですねぇ…。
0019デフォルトの名無しさん
NGNG言語はVC6と思っていいのけ?
それなら俺も力になれるかも。
需要は多いと思うので、がんがれ。
0020デフォルトの名無しさん
NGNGわざわざインストールして調べるのが鬱だ。
誰か必要最小限だけ張ってくれ。それを元にたぶんきっと誰かがなんか書くから。
0022デフォルトの名無しさん
NGNGない
00231
NGNGもし仮に
・スレッドタイトル
・レス数
・スレッド立てた日時
が項目として用意されていたとして、他の2chブラウザがバージョンアップし
新しい項目(仮にスレッド最終取得日時)が追加され、対応を余儀なくされた場合、
下位互換というのは楽に取れるものなのでしょうか?
ログコンバーターの更にコンバーターを用意する羽目になるのは
ミイラ取りがミイラになってしまうような物なので、XMLで独自に
ログ形式を用意するのであれば慎重に考えないと駄目ですね。
00241
NGNG少し時間かかるかも。
0025デフォルトの名無しさん
NGNGぞぬ→かちゅ→ぞぬ
と変換した場合に最初と最後が同じ物になるだろうか?
いくつかの項目はリセットされてしまう気がする……
0026デフォルトの名無しさん
NGNGたとえばどういう項目がならないと思うの?
2chのスレ情報が
・サーバ(http://pc2.2ch.net/ とか)
・カテゴリ(tech とか)
・スレ番号
んでスレ内の情報が
・番号
・ハンドル名
・メールアドレス
・投稿日
・発言内容
だけでしょ。抜けの発生する要素が思いつかないが・・・
0027デフォルトの名無しさん
NGNG0028デフォルトの名無しさん
NGNG<logs>
<category>
<name>tech</name>
<board>
<name>プログラム技術板</name>
<thread>
<id>1046742687</id>
<name>2chブラウザのログコンバータを作ろう</name>
<res>
<head>
<id>26</id>
<name>デフォルトの名無しさん</name>
<mailaddress>sage</mailaddress>
<date>03/03/04 16:08</date>
</head>
<body>
>>1さん。これを拡張子xmlで保存して、IEでみるといいです。
</body>
</res>
</thread>
</board>
</category>
</logs>
</xml>
003026
NGNG投稿日も投稿”日時”が正しいな。もうだめぽ。
0031デフォルトの名無しさん
NGNG例えばゾヌのinfファイル読んでみたかい?
スレの文字の色設定できたり太字にできたり、「ココまで読んだ」があったりメモがあったり。
他のブラウザにはない、独自の機能のためのデータをどう保存する?
003228
NGNG003331
NGNGだったら萎え
お気に入りとかも変換してくれよ
003426
NGNGああなるほど、そういう意味ね。
俺は純粋に2chのログという意味だけで考えてたよ。
ハンドル名や書き込みログと同様、その手の独自データは
切り捨ててもかまわないんじゃないかと個人的には思うがなー。
003631
NGNG純粋にログファイルだけの変換なら、別のブラウザに切り替えたときにまた取り直せばいい話だとおもうんだが。
(2chにはあんまり優しくないけどね)
透明あぼーんやら重要度やら既読フラグやらが別ブラウザでそのまま引き継げたら魅力的だと思う。
そのブラウザがそれらの機能をサポートしている必要があるけどw
どっちかといえばログコンバータよりお気に入りコンバータのほうがよろこばれそうな気がしないでもない。
0037デフォルトの名無しさん
NGNGム板の人間がくれくれ厨とは これいかに
003831
NGNGごめん。
0039デフォルトの名無しさん
NGNGしてくれよ→しようよ
こういう意図で言ったんだけど書き方を誤ったな。・゚・(ノД`)・゚・。
004026
NGNGんー 俺的には仕事柄(プログラマ)、今読み込めるログと同じぐらい
過去ログデータがかなり大事なんだよな。
たとえば xxx ってAPIについて調べたい!ってなった時に、過去ログからも
検索できるってのはかなり大きいから。
現在あるスレと違って、過去ログって見失うことあるし(ちなみに●は持ってる)
個人的な重要度は、
過去ログ>現在あるスレのログ>>>>お気に入り>透明あぼーんとかの付加情報
って感じだな。
まあ、人によって重要度は違ってくると思うが。
0041デフォルトの名無しさん
NGNG揚げ足取りスマソ 気にしないで
0042デフォルトの名無しさん
NGNGage進行のほうがいいんじゃないか?
それとも1が叩き台出すまではsageでいく?
0043デフォルトの名無しさん
NGNG0044デフォルトの名無しさん
NGNG個人的にはプラグインには任意のファイル(基本的にはexe)が指定できるようにしておいて、
どの言語からでもプラグインを追加できるようにするのがいいと
思うんだよなぁ。
ログ <=解析プラグイン(hogeToXml.exe)=> XML <=出力プラグイン(xmlToPiyo.jar)=> 別形式のログ
みたいにできないかな?
0045デフォルトの名無しさん
NGNG・それぞれのログから中間形式へ変換する XSLT
・中間形式からそれぞれのログへ変換する XSLT
XSLT ではなく単なるプログラムでもいいが。
この場合、ログ形式に対して XSLTは高々 2n 種で済む。
ただし、中間形式が十分な記述力を持っていないと情報落ちする。
004644
NGNG必須情報のみによって成り立つ最小のスキーマがあったとして、
致命的な設計ミスがなければ、情報落ちは(必須でない要素を追加していくことで)
あとから対策可能だと思うです。
0047デフォルトの名無しさん
NGNGというか、必須でない情報は別ファイルに追い出すとか。
かちゅのidx、ゾヌのinf……あと知らんけど、それら独特の情報は別ファイルに追い出して、
必要な情報があったらそれを使う。
コンバートのたびに情報量が増えるという欠点があるが……
そうすれば>>25の懸念も消えると思う。
プラグインはぜひともHTML出力プラグインが欲しいね。
どんなログからでもHTML形式にして吐き出せる。
004845
NGNG2ch とかちゅ〜しゃのログの相互変換しかできないけど。
>>46
それぞれのブラウザがログ(dat+idx)に記述する情報の集合を IDXi(IDX1,IDX2...) とすると、
IDX1 and IDX2 and IDX3... で表せる 「必須情報のみによって成り立つ最小のスキーマ」 では、
ユーザのニーズに応えられない。
IDX1 or IDX2 or IDX3 と、ひたすらに拡張することになる。
まあ、このスレで標準化して、ブラウザの方に準拠してもらうって考えもあるけど。
0050デフォルトの名無しさん
NGNG入力にもHTMLが使えたら過去ログ倉庫から読めたり
となるとプラグインの入力先がローカルファイルだけでなくWWW上のリソースも……ああ……
ちょっとトイレでオナってくる
005144
NGNGじゃあ、スキーマに数段階のレベルを持たせるというのはどうだろう。
XHTMLにStrictとそうでないものが数種あるように、
情報の再現性を基準に、定義のレベルを分けるという感じ。
こうしておけば、最小限のスキーマをもとに初期の開発は進むし、
より難しい要求は高次のスキーマが決まるとともに取りかかれるのではないかと。
005245
NGNGhttp:// や >>n にログの段階でリンクをはっていたりいなかったりするので。
さらにいえば、ログ中の空白を除去するブラウザもある。
つまり、ブラウザで読んだ時点でデータが異なる。
実用上は別に問題ないけどね。テストがし辛いが。
0053デフォルトの名無しさん
NGNG俺も去年の終わりごろにちょっと作って放置してあるよ……
ゴミレススマソ
005444
NGNGうん。もちろん正規表現を的確に利用するだけの技能が
必要になるんだろうね。
でも、それはたいしたことじゃないと思うな。
この段階で最も重要なのはインターフェイスなんじゃないだろうか。
プラグインがまっとうに動くことの保証があれば、
プラグインを書くひとはいると思うし、いずれ近いうちに揃っていくと思う。
0055デフォルトの名無しさん
NGNGでもVB厨の俺にはついていけなそうな悪寒
0057前調べたヤツ
NGNGログはかちゅ〜しゃをインストールしたフォルダの「log」フォルダ以下に保
存される。
/Hzb.exe本体
/config
hzb.favお気に入り
/logログフォルダ
/(server)BBSのサーバ名
/(bbs)BBSのディレクトリ名
subject.txtスレ一覧
subject.infスレ一覧データ
head.txtローカルルール
(key).datログファイル
(key).infスレッドデータファイル
(key).txtメモ
0058デフォルトの名無しさん
NGNG>>>57は無視してください。
ゾヌのやつだ……
0059デフォルトの名無しさん
NGNGMonazillaMLに仕様ください〜って流せば?
006045
NGNGログファイル単体のコンバータなのか、ログ情報全体のコンバータなのか。
参考にもならないかも知れないけど、
前に作った行ストリーム指向の Ruby 製ログ単体コンバータ
http://tiki.hakagi.net/tiki.cgi?p=piroshki
00611
NGNG本格的な進展が…。
データ形式のことは前述の通りサッパリなので本格的な内容は
有志の皆様にお任せします。
情けない叩きプログラムは今日中に出来れば良いな、という程度で。
もう少々お待ちください…。(情けなひ)
あとは軽くこのスレ用のサイト作りでもしますかね…。
0062デフォルトの名無しさん
NGNG0063デフォルトの名無しさん
NGNGそれはそれでいいんじゃない?w
たとえ原型とどめなくなったとしても、やっぱベースになるものが
あるのと無いのじゃ、話の具体性がかなり違うよ
とりあえず1&ALLがんがれ!
00641
NGNGyahooBB規制。。?
http://qb.2ch.net/test/read.cgi/sec2ch/1045039955/
■メモ
・DATとSubject.txtは共通
・ABoneのBoard.ini 全て0KBで用途不明(飛ばし)
・Janeのidxの内容
------------------------------------------------
1045039955.idx(頭の行番号は投稿用に追加した物)
------------------------------------------------
001[スレタイ]:yahooBB規制。。?
002[日時]:Tue, 04 Mar 2003 09:25:18 GMT
003[レス]:13
004[不明]:0
005[不明]:
006[板URL]:http://qb.2ch.net/sec2ch
007[不明]:0
008[不明]:0
009[不明]:
010[不明]:
011[不明]:0
012[不明]:1046805933
------------------------------------------------
■Logが格納されているフォルダ
OpenJane
\Logs\2ch\案内\2ch規制情報
Abone
\log\qb.2ch.net\sec2ch
00651
NGNGかちゅ 12.1 KB (12,461 バイト)
Zonu2 11.1 KB (11,418 バイト)
Giko 11.1 KB (11,418 バイト)
Abone 11.1 KB (11,418 バイト)
Jane 11.1 KB (11,405 バイト)
かちゅはhttp〜の部分に<a hrefタグが付くみたいです。
他のDATはついていません。
00661
NGNGディスク上のサイズでは12.0 KB (12,288 バイト)だから正しいんでしょうか?
一応目で追って比較したら内容に違いは無さそうなんですが…。
00671
NGNGage推奨でお願いします。
クッキーの都合もあるので無理にとは言いませんが。
0068デフォルトの名無しさん
NGNG改行(LF/CRLF)とかじゃないかな?
0069デフォルトの名無しさん
NGNGJaneは改行コードがLF。
ABoneはGetResList.txtで既得スレが分かるけど、そのフォーマットは
バージョンを経て随分変わってるようなので、無視した方が良いかも。
あと、>>18で言ってるギコナビの板リストってスレリストのこと?(Folder.idx)
それだったら0x01区切り。
>>25についてだけど、ログ(dat)だけに限って言えば、「かちゅ」、「えまのん」等は
2chのサーバにあるやつと同じ形式に戻せないから、かちゅ→何か→かちゅ は
単純には出来ない。確認するの面倒だから記憶で悪いんだけど、Ya2b、Gicko
は全レスを取得するようにブラウザで設定してないと無理。
他のやつはCRLFかLFの違いしかないから大丈夫かな。
0070愛犬
NGNGかちゅ〜しゃログの変換は
・「あぼーん」→「あぼ〜ん<>あぼ〜ん<>あぼ〜ん<>あぼ〜ん<>」
・「透明あぼ〜ん」→「<><><><>」
・区切りは「,」→「<>」
・「@`」を「,」に復帰
・名前欄前後の「<b>」「</b>」を削除(トリップ前後のタグは残す)
・リンク形式をPATHINFO式に変更する
<a href="http://vip.bbspink.com/test/read.cgi?bbs=ascii2d&key=1013545450&st=20&to=20&nofirst=true" target="_blank">
→「<a href="../test/read.cgi/ascii2d/1013545450/20" target="_blank">」てな感じ。
で、鯖datとだいたい同じになるかと。抜けがあったら補足してください。
1年前の話なので仕様が変わってたらダメぽ。
0071デフォルトの名無しさん
NGNG・項目と順番(名前、日付など)
・項目の形式(日付は YYYY/MM/DD YY/MM/DD など)
・項目のデリミタ(, <> など)
・レコードのデリミタ(LF CRLF など)
・エスケープ文字
・リンクの有無(>>n にリンクをつけるつけないなど)
・リンクの形式
0072デフォルトの名無しさん
NGNG・ファイル名の命名規則 (unixtime など)
・拡張子 (.dat .d など)
・ディレクトリ構造 (サーバ名/板名/ など)
あとなんだろう。
0073デフォルトの名無しさん
NGNGhttp://zonutan.hacca.jp/bbs/test/read.cgi/zonu/040660888/
ここの50ですー。VC++6.0で作ろうかと思ってたですが、、、
フォルダ分けが結構難物かも。
0074デフォルトの名無しさん
NGNG・ルートディレクトリ(かちゅ〜しゃなら log/)
・サイト名 (2ch)
・カテゴリ名 (PC等)
・サーバ名 (pc3)
・板ディレクトリ名 (tech)
・板名 (プログラム技術)
共通形式のボードファイルがあれば情報はとってこれるね。
0075デフォルトの名無しさん
NGNG00771
NGNGボードが更新されてサーバー名が変わった場合
既存のログはどうなるんでしょうか?
サーバー名使用されているのはABoneですが、
確認用に少ししか使っていないのでいまいちわからなかったり…。
0078デフォルトの名無しさん
NGNGコンバータだと納屋見所
0079デフォルトの名無しさん
NGNGログを引き継ぎたい場合は、logmover などでログを移動させる。
katju88 ではボードエイリアス機能で、古いログもそのまま読めるようになってる。
他は知らない。
0081デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/software/1045192709/
これの過去スレでログの形式を調べていた人がいた気がする。
00831
NGNGWebスペース貰えるまでに結構時間掛かるみたいですね・・・。
00841
NGNGhttp://www.geocities.co.jp/SiliconValley-Bay/8642/2chLogConverter.zip
かなり醜態晒します。叩き台っていうか俺が叩かれる勢いね。
でも一応、今日の成果物です。
残念ながらログの読み込みなどはまだ全く出来ません。
全体的に駄目なプログラムかもしれませんが、
指摘してくだされば改善に努めます。
00851
NGNG0086デフォルトの名無しさん
NGNGログだけの相互コンバーターを作って欲しい。
例えばぞぬ→かちゅ〜しゃ→ぞぬ
となっても、ログだけが移行できてれば
設定は移行できなくてもいい。
もちろん将来的には設定も含めて欲しいが差しあたっては。
>>11の一番上の作者です。
普段MFC使ってるんで、非MFC&Cライクの書き方はどうも違和感を覚えました。
DirectX使うときはそっちなんですけど、最近書いてないもんで。
さて、_THREADDATA構造体のresdataですが、レス数はMAX1001じゃないです。
ログ変換のルーチンがないので、とりあえずレベルかもしれませんが・・・
画面周りについては、主目的と外れるのでパス。
いずれにしても、今回のは肝心のログ変換部分がないので、これ以上は
何とも言えないです。
コーディングスタイルレベルではあると思いますけど、すんなりまとまる話
じゃないので、それはコーディングしてる人任せになっちゃいますね。
0088デフォルトの名無しさん
NGNGまあ、各プラグインは、エクスポート関数を呼んでもらうだけだろうから、
主画面はどう書いてもかまわないだろうけど。
ただ、核になる部分が、メンバ決め打ちの構造体というのがつらいかな。
IDはどうするんだとか、sageレスのフラグがあったりすると、柔軟に扱いづらい。
各ログ形式の最大公約数ではなく、最小公倍数の構成にしなければいけないから。
XMLがベストだけれど、それが大げさならハッシュでもいいかなと。
そのほうが面倒くさいかな?
008944
NGNG要素のみから成るシンプルなXMLのDOMツリーなら、それで簡単に代用できる気がする。
0090デフォルトの名無しさん
NGNGhttp://homepage3.nifty.com/digikei/index2.html
0091デフォルトの名無しさん
NGNG0092デフォルトの名無しさん
NGNGもうしらべてあるな。
00931
NGNGhttp://pc2.2ch.net/test/read.cgi/software/987860942/159
かちゅのidxの内容。
>>87
まぁ、画面構成はどっかで見たような感じですが、それは置いといて。
ほとんどがとりあえずレベルの物でresdataの配列も
何となく1000個なんですが、よく考えるとしたらば系は
1000以降も書けるのでNGですね。
>>88-89
ID忘れてました。すいません。
あとハッシュという用語がいまいちハッキリわからないのですが、
各項目のポインタを用意してmallocで確保するという理解で
あっているのでしょうか?
>>90
そうですね。
>>91
セマンティックウェブと言うのはログ検索などに?
ログ変換とは少し趣旨とずれてしまうので。
0094デフォルトの名無しさん
NGNGつか、ログのコンバートに関してはコンバータ作者も来ているようだし
そもそも、そこまで問題はないだろ。
XMLとかセマンティックウェブとかは、ログ毎のidxやinfファイルやその他の
設定ファイルをどう扱うか話してるんじゃないの?
0095デフォルトの名無しさん
NGNGJane使いだろ?
>とりあえず乱立を一通り読んでみた所で>>92が出しているレス以外の気になったところ。
>http://pc2.2ch.net/test/read.cgi/software/987860942/159
>かちゅのidxの内容。
普通のブラウザで開いてみればすぐ分かるが、こんなスレッドは存在せん。
正しくはこう。
http://pc.2ch.net/test/read.cgi/software/987860942/159
そのスレはソフトウェア板がpc2鯖じゃなくてpc鯖にあったときのスレだよ、と。
ちょうどログ話してるからちょっと関連性あると思うけど、
Janeのログって\logs\カテゴリ名\板名\xxxxxxxxxx.datって保存してて、
URLのデータがないんだよね。
だから実際は
http://pc.2ch.net/test/read.cgi/software/987860942/
なんだけど、今は「ソフトウェア板」は「http://pc2.2ch.net/software/」
というデータしかもってないから、
実際はpc鯖時代にあったスレッドにもかかわらず、
http://pc2.2ch.net/test/read.cgi/software/987860942/
になっちゃうんだね。
\logs\カテゴリ名\板名\xxxxxxxxxx.datってログの保存は、
板の移転時にログを移動する処理を作らなくてもいいというメリットがあるが、
上記のようなデメリットがあるんだよね。
Janeのログを変換するなら、そこらへんも気を付けないとだめだね。
009644
NGNG0097デフォルトの名無しさん
NGNG009844
NGNG<log>
<!-- 拡張子xmlで保存後、IE5.0以上かMozillaで開くと、ツリーが見れるです。 -->
<type>2ch</type>
<url>htt://pc2.2ch.net/test/read.cgi</url>
<category>
<id>tech</id>
<name><![CDATA[プログラム技術板]]></name>
<thread>
<id>1046742687</id>
<title><![CDATA[2chブラウザのログコンバータ作ろう]]></title>
<res>
<head>
<id>95</id>
<name><![CDATA[デフォルトの名無しさん]]></name>
<mailaddress>sage</mailaddress>
<timestamp>2003-03-06T20:14:57+09:00</timestamp>
</head>
<body><![CDATA[ここに本文がはいるです。]]></body>
</res>
</thread>
</category>
</log>
009944
NGNGcategory,thread,resは、通常複数個含まれる要素のつもりです。
0100デフォルトの名無しさん
NGNG0101デフォルトの名無しさん
NGNG1週間もすればdat落ちだな、このスレも(藁
■ このスレッドは過去ログ倉庫に格納されています