パッケージ com.lmt.lib.bldt.parser
クラス GenocideHtmlParser
- Object
-
- GenocideHtmlParser
-
- すべての実装されたインタフェース:
Parser
public class GenocideHtmlParser extends Object implements Parser
GENOCIDE の通常・発狂難易度表を掲載したWebページから楽曲情報を抽出するパーサです。当パーサはSHIFT-JISでエンコードされたWebページ(HTML)から楽曲情報を抽出します。 楽曲情報は JavaScript のソースコードとして定義されており、その中から楽曲情報定義部分の JSON を検出します。 楽曲情報の定義は以下のようになっていることを前提として抽出します。
var mname = [ [ (番号), "(難易度ラベル)", "(タイトル)", "(LR2IRのID)", "<a href='(楽曲本体入手先URL)'>(アーティスト)</a>", "(楽曲コメント)" ], …以下複数 ];
- 導入されたバージョン:
- 0.1.0
-
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 GenocideHtmlParser()
-
メソッドの概要
すべてのメソッド インスタンス・メソッド concreteメソッド 修飾子とタイプ メソッド 説明 List<ContentDescription>
parse(TableDescription tableDesc, PlayStyle playStyle, byte[] raw)
入力された情報を使用して楽曲情報を解析し、楽曲情報一覧を生成して返します。
-
-
-
メソッドの詳細
-
parse
public List<ContentDescription> parse(TableDescription tableDesc, PlayStyle playStyle, byte[] raw) throws IOException
入力された情報を使用して楽曲情報を解析し、楽曲情報一覧を生成して返します。入力データは各難易度表のサーバからダウンロードされた無加工のバイトデータです。 パーサは与えられた情報を基にして正確なデータの構造を特定し、解析した楽曲情報の一覧を返さなければなりません。 元データの内容が正しくないと判定した場合は IOException をスローしてエラー終了とするか、 正しくないデータを無視して解析を続行するかの判断をしてください。処理を続行する場合は
DifficultyTables.printLog(String)
を使用して問題となったデータをログ出力することを推奨します。- 定義:
parse
インタフェース内Parser
- パラメータ:
tableDesc
- 処理対象の難易度表定義playStyle
- 処理対象のプレースタイルraw
- 難易度表のサーバからダウンロードされた無加工のバイトデータ- 戻り値:
- 解析された楽曲情報一覧
- 例外:
IOException
- 入出力エラー、またはデータ不正の検出により解析が続行不可
-
-