[BlueLeaf1336]> PROBLEMS> MizuhoGetter>

MizuhoGetter > HTMLソースの解析(2)

historyTOP

2004/11/07:作成
2004/11/10:更新

2004/11/07TOP

さて、以下に示す形式のURLを取得することも、解析し易いように加工することもひとまずできるようになりました。ついでなので、加工後の形も参照できるようにしておきます。(赤太字は連番)

やはり、「最近」系のデータは、販売金額なんかが書かれているため、どう考えても邪魔臭そうです。逆に「過去」系のデータは簡単そうで、特に、"loto0001.html"と"loto60001.html"については、一種類の処理でどうにかなりそうな勢いです。

邪魔くさそうな場合は、簡単な奴からやっつけるのが鉄則だと思いますので、この2つを先にやってしまいましょう。まずは、それぞれのファイルの先頭を何行分か抜き出したものを並べてみます。

loto0001.htmlloto60001.html
宝くじコーナー・ミニロト(略)
MINI LOTO    (第1回 〜 第50回)
INDEX
第 1回 〜 第 5回
第 6回 〜 第10回
第11回 〜 第15回
第16回 〜 第20回
第21回 〜 第25回
第26回 〜 第30回
第31回 〜 第35回
第36回 〜 第40回
第41回 〜 第45回
第46回 〜 第50回
第 1 回 〜 第 5 回
回別
抽せん日
本 数 字
ボーナス数字
第1回
H11.4.13
01
03
17
20
25
26
第2回
H11.4.27
02
11
12
21
30
28
(略)
宝くじコーナー・ロト6(略)
LOTO6   (第1回 〜 第50回)
INDEX
第 1回 〜 第 5回
第 6回 〜 第10回
第11回 〜 第15回
第16回 〜 第20回
第21回 〜 第25回
第26回 〜 第30回
第31回 〜 第35回
第36回 〜 第40回
第41回 〜 第45回
第46回 〜 第50回
第 1 回 〜 第 5 回
回別
抽せん日
本 数 字
ボーナス数字
第1回
H12.10.5
02
08
10
13
27
30
39
第2回
H12.10.12
01
09
16
20
21
43
05
(略)

そっくりです。それにデータの並びも非常に素直です。次のようにやればうまくいきそうです。と思いましたが、やっぱりおとなしくそれぞれ処理を分けることにします。

まずは、MINI LOTOの過去データ処理について。

  1. ファイル名が「lotoXXXX.html」であることを(正規表現で?)確認する。
  2. 「第*回」とかかれている行を(正規表現で?)探す。その行の「回」を取り出す。
  3. その次の行から「抽選日」を取り出す。
  4. その次の行から5行分「本数字」を取り出す。
  5. その次の行から「ボーナス数字」を取り出す。

それから、LOTO6の過去データ処理について。

  1. ファイル名が「loto6XXXX.html」であることを(正規表現で?)確認する。
  2. 「第*回」とかかれている行を(正規表現で?)探す。その行の「回」を取り出す。
  3. その次の行から「抽選日」を取り出す。
  4. その次の行から6行分「本数字」を取り出す。
  5. その次の行から「ボーナス数字」を取り出す。

こんな感じで、完璧そうです。しかし、滅茶苦茶似てるんですが...。そして、出力形式はこんな感じに。

続く。

2004/11/10TOP

...と書いたんですが、その前に(コレばっかり)、事前加工したファイルをどの方法で処理するべきか、簡単にいうと、各ファイルがどのデータなのかを判定します。

ファイル名称が種類ごとにルールがあるので、ここでも正規表現を使って判定します。えーと、早い話が次の表です。

ファイルの種類ファイル名の例規則正規表現
MINI LOTO 過去のデータloto0001.htmlloto「数字4連続」.htmlloto[0-9]{4}.html
LOTO6 過去のデータloto60001.htmlloto6「数字4連続」.htmlloto6[0-9]{4}.html
MINI LOTO 最近のデータloto-h1609.htmlloto-h「数字4連続」.htmlloto-h[0-9]{4}.html
LOTO6 最近のデータlt6-h1609.htmllt6-h「数字4連続」.htmllt6-h[0-9]{4}.html
NUMBERS共通 過去のデータnum0001.htmlnum「数字4連続」.htmlnum[0-9]{4}.html
NUMBERS3 最近のデータnum3-h1609.htmlnum3-h「数字4連続」.htmlnum3-h[0-9]{4}.html
NUMBERS4 最近のデータnum4-h1609.htmlnum4-h「数字4連続」.htmlnum4-h[0-9]{4}.html

スクリーンショットTOP

20041110MizuhoGetter01.png「解析」タブが追加されました。前回までに作成済みの処理(ファイルの取得と前準備)がすんだ状態で実行すると、ファイルを巡回して、どれがどの種類なのかを判定します。判定するだけです。

20041110MizuhoGetter.zip(12,674bytes)※ソースコードと実行ファイル

相変わらず「HTMLソースの解析」と名乗りながら、解析は一切していません。次回こそは、(少なくとも1つのフォーマットぐらい)解析したいところです。

EOFTOP