ブログトップ

今日から始めるゲーム統計学

tsubame30.exblog.jp

かつては麻雀およびエロゲのデータを統計解析して遊んでました。今では日本酒に夢中です。

【麻雀雑談】鳳凰卓牌譜取得の方法

天鳳では、鳳凰卓および技能β(一局清算)の牌譜が公開されています。
しかし、私が解析を試みようとした当時、牌譜をDLする段階でかなり手間取ったので、
今回は、天鳳のページから鳳凰卓の牌譜(mj.log)を取得する手順について書いてみようと思います。


●手順1:牌譜(urls)ファイルのダウンロード

天鳳のログのページはhttp://tenhou.net/sc/raw/にあります。

これは、天鳳トップから「ランキング」のページに飛ぶと、
ひっそりとログへのリンクがあるので、ここから飛べます。
d0279358_07662.png


この一覧には、最近の牌譜がgz圧縮形式で配布されています。
欲しい卓の牌譜のURLをクリックしてDLします。
せっかくなので、今ホット(……?)な技能戦の牌譜を落としてみましょう。
d0279358_074543.png


すると、「sce2013031109.gz」がDLされました。
これを、拡張子gzを解凍できるアーカイバーを使って解凍すると、なんかよくわからないファイルがでてきます。

※ちなみに、ファイル名の最初のアルファベット3文字は卓の種類を表しています。
sca=個室 / scb=段位戦 / scc=段位戦鳳凰卓(牌譜URLあり) / scd=雀荘戦 / sce=技能戦(牌譜URLあり)のようです。
さらに、牌譜URLありのものしかmj.logは取得できないようです。


●手順2:urls.htmlファイルをml.logに変換

このファイルをmj.logにする方法があるようなのですが、私にはちょっとわからなかったので、外部のツールを使わさせていただいてます。
それが、idaten!さんの天鳳の牌譜変換βです。
d0279358_0102588.png



「ファイルを選択」で先ほどの解凍したファイルを指定して、「urls.htmlからmjlogを取得」を押してしばらく(牌譜容量によって数秒~4,5分くらいかかったりと時間差あります)待つと、「tenhou_logs.tar.gz」がDLされます。
これを解凍すると、ml.log形式の牌譜を取得することができます。



●手順3:牌譜ファイルのリネーム→牌譜の書式化

こうして得られた牌譜データを、前回の記事のように書式化して解析することができる――
と思いきや、その際にもうひとつ作業があります。

リネームツールを使って、得られた牌譜ファイル全てのファイル名末尾に「&tw=0」を加えてください。

何故かといいますと、牌譜の書式化の際には牌譜解析スクリプトの起動が必要なため、
「その牌譜のどの席に座っていたか」という情報が必要となるからです。



これで晴れて、DLした牌譜の書式化ができることになります。
これ読んでる方だいたい察したかと思いますが、すんごいめんどくさいです。




ちなみに、オールドアーカイブ(http://f.tenhou.net/sc/raw/list.cgi?old)には、
過去の牌譜のファイル名が全て書いてあります。

list([
{file:'2006/sca20060701.log.gz',size:8480},
{file:'2006/sca20060702.log.gz',size:7596},
{file:'2006/sca20060703.log.gz',size:5517},
{file:'2006/sca20060704.log.gz',size:6272},
………


これのファイル名(file:以後)を参照して、
http://tenhou.net/sc/raw/dat/"ファイル名".log.gz
の形のURLにアクセスすると、DLできます。

http://tenhou.net/sc/raw/dat/2006/sca20060701.log.gz
↑例えば、こんな感じです。

このようにすれば、鳳凰卓黎明期の牌譜から全部ダウンロードできます。
(大量ダウンロード、自動ダウンロードの際には、運営の但し書きをよく読んでご利用ください。)
これも先ほどと同じ方法でmj.logに変換して解析ができます。




かなり荒っぽい解説でしたが、何かの参考になればと思います。
[PR]
by tsubame30 | 2013-03-19 00:17 | 麻雀雑談 | Comments(1)
Commented by kon at 2014-04-21 02:10 x
牌譜変換βでは1つずつのhtmlファイルしか変換出来ないんですかね?
となるとこの方法で鳳凰卓の全ての牌譜を落としこむのは難しそうですね