結果切り出しスクリプト簡易説明書

このマニュアルはXA0258M/db氏によって書かれた、結果切り出しスクリプトのマニュアルを加筆・修正したものです。
月並みな表現ですが、氏にはここには書けないくらい感謝しています。

しょほうせんのコンテンツのひとつとしてアップロードするに際し、私(XA0276F/イヴ=プロフェン)が追加したところは緑色(この段落の文字色)で書かれています。

>マニュアルもついてないのに誰が使うんでしょうか。
なら作れば良いじゃない、と言う事でスクリプト屋としてカヴァー
なお、私、rubyは「文法がキモイ」と食わず嫌いのため微妙に信頼性がありません
あしからず

諸注意

書いてある通りにやったのに動かねぇよウワーン
>知るか、PCは環境の違いが多いんだ、わからなければまだ早い

説明があやふやだったり間違ってたりするんだけど?
>申し訳ない、あれだけ言ってrubyは素人なんだ
>自分のプログラムだけど、予期せぬバグが混じってることもある。

インストールの仕方詳しく教えれ
>rubyの作者は日本人だからドキュメントも多い、自力でやれ

以上が承認でき、さらに自責OKなら読み進めてください
rubyって何、な人用
rubyあるよ、な人用
で、どういう動作なのよ、な人用

rubyのインストール

rubyって言うのは簡単に言うと簡易プログラムの実行環境です
同時に言語でもあるんですがー、普通実行環境は言語と近似だわな
スクリプト、の意味がわかる方は 本家 でどうぞ

イヴ=プロフェンさん作結果切り出しスクリプトは、このrubyの環境が無ければ動作しません
即ち無いならインストールする他無いのですが…多分、環境ある人用だと思います
少々手順が難しくなるのでPC初心者はお帰りください

では、いきなり始めます
本家 よりダウンロード>Ruby本体で
Windowsなら「Windows版Ruby」から頑張って
Linuxなら「Ruby version 1.8.5」からtarボールを
Macなら自力でどうにかしてください、 確かMacはOS XでもRuby環境が古いんだ

第二段階、それぞれダウンロードしてきた本体を解凍します
Windowsでインストーラ付きならもう説明は要らないでしょうから
ここからはインストーラ無し、或いはLinuxの方達に向けます
…もっとも、Linux使いならこんなの見なくてもできることは確実ですが

解凍が済んだら適当な場所に置きます
Windowsなら「C:\Program Files\」にフォルダの名前を「ruby」に変えて突っ込んでください
Linuxなら「/usr/local」辺りが適当でしょうか、此方もディレクトリの名称変更はしましょう
長い名前だと面倒ですから、環境変数設定まで教える気は無いし

意味の分かる人用にお手軽インストール方法。意味が分かる人は言われなくてもいいため無意味。
rubyはCygwinのパッケージに入ってる(Win)
apt-get install ruby(debian系)

実行

では、実際に使ってみましょう
fetch_result.rb.txtを「しょほうせん」よりダウンロードし
ファイル名から「.txt」を削除、「fetch_result.rb」とします

それから…
Windowsなら「スタート>すべてのプログラム>アクセサリ>コマンドプロンプト or MSDOSプロンプト」
Linuxならコマンドラインを使用します、プロンプトはWinのコマンドラインですが
後はコマンドラインで「cd (fetch_result.rbを置いた場所)」でエンター
(rubyを入れた場所)/bin/ruby fetch_result.rb」エンター、で動作するはずです

上記の手順を終了した場合、(fetch_result.rbを置いた場所)に「smsbs_(日付).res.txt」と言うファイルができます
このファイルはTabでのCSVファイルとなっていますので、後はExcelやOOoなどで開いて編集してください

動作内容

此方からは実際のスクリプト内容
むしろ私、XA0258M/dbの趣味兼実益の解読モードです
興味が無ければ無駄無駄ァ

簡単且つ神速で
パッケージ、net/http,uri,kconv,pathnameをインポート
メソッド、fetch_result,split_result,mainを初期化

fetch_result(uri)はuriをストリームオープンし、内容を返す

split_result(html,date,output_dir)は
htmlで渡された内容を世紀表現で分解し、\tで分割、CSV化する
この際open_dir/smsbs_yymmdd.res.txtに出力

main()は引数を取らなず、コマンドライン引数の解釈を行う。 ARGVはARGumentsVariableだろう

コマンドライン引数の指定は以下のいずれかのパターンとなる。どの場合も-d date -o openDirは省略可能。
fetch_result.rb -d date -o openDir
fetch_result.rb -u url -d date -o openDir
fetch_result.rb -f filePath -d date -o openDir

それぞれのオプションは
-u : 入力URL。デフォルトでは -u http://mb2223f.hp.infoseek.co.jp/sMSBS_LOG/Res.html が指定されている。
-f : 入力ファイル。-u と排他。ローカルに結果のHTMLを既にダウンロードしてある時に用いる。
-d : 日付、yymmdd形式以外でも可能、日付じゃなくても良いだろう。デフォルトではスクリプトを実行した日付。省略可能。
-o : 出力先ディレクトリ。デフォルトではカレントディレクトリ(./)。省略可能。