1-4.Webページ文字列抽出プログラム(WebページCSV変換プログラム)

A抽出した文字列の表示(フォントサイズ28)

Bパラメータファイルリストの作成

【説明】
◇Webページ(HTMLで記述されたページ)を受信し、指定された位置にある文字列を取り出して、画面とCSVファイルに出力するプログラムです.
◇このプログラムでは、次の3種類の処理が可能です.
(1)同一フォーマットの複数のページから指定した位置の文字列を取り出し、1ページ1行でCSVファイルを作成する.
(2)指定した表(<table>)のセル内(<td>〜</td>)の文字列を1項目として取り出し、表の1行(<tr>〜</tr>)を1行としてCSVファイルを作成する.
(表の指定は「先頭から何番目の<table>か」で指定します、同一フォーマットの複数ページの連続処理も可)
(3)同一ページ内に幾つかの文字列が同じパターンで繰り返し記述されている場合、1パターンを1行としてCSVファイルを作成する.
(同一フォーマットの複数ページの連続処理も可)
◇画面には、上記のCSVを意識して取出した文字列を文字放送のように下から上へスクロールしながら連続して表示します、また、いくつかのWebページに一定の時間間隔ごとに繰返しアクセスして画面だけに取出した文字列を表示させることもできます.(上図@、A)
◇ページと文字列の指定はパラメータファイル上に指定します.
パラメータファイルは、メモ帳等を使用してテキストファイルとして作成します.
ページの指定はURLとエンコードを指定します.
取出す文字列の指定は「キーワードとなる文字列」と「タグ」を入力して行います.
また、タグとタグの間の文字列が取出しの単位となります.
(上記Aの表(<table>)のセル内の場合は<td>〜</td>のタグを除いた文字列)
◇タグとタグの間の文字列を取出しさらに部分文字列を取出す等の加工が可能です.
◇データの取出しは文字列以外に、リンクのURL(<a>タグのhref属性)を取出してcsvの1項目として出力できます.
◇ページ指定のURLは、パラメータファイルに直接記述する(複数指定可)方法と、既存のcsvファイルから読込む(csvファイルのパスとURL項目番号を記述する)方法があります.
◇パラメータファイルを作成したら、このプログラムを使用して、処理するパラメータファイルのパスを登録したファイル(パラメータファイルリスト、拡張子=pflのファイル)を作成して実行します、パラメータファイルを複数登録して一連の処理とすることができます.(最初の処理でURLを取り出し、次の処理でそのURLのページ内の文字列を取り出すなど)
パラメータファイルリストを作成しておけば、そのパスをコマンドライン引数に指定できますので定期的に行うバッチ処理として使用することができます.(上図B)
◇パラメータファイルの作成には、「インターネットエクスプローラ」で目的のページを表示させてエンコードの確認をすることと、ソースを表示してタグ等を調査する必要があります.
(使用されているタグの規則性等を調査してパラメータを作成)
【備考】
◇上記の「同一フォーマット」、「同じパターン」とは、目的とする文字列を取り出す為のキーワード(ページ内の見出し等)やタグの位置関係が同じとゆう意味になります。
◇キーワードやタグなど複数ページや繰返しパターンの中で必ず同じとは保証されていない要素を目印に処理していますので、意図したデータが取出せない場合もあります
◇いくつかの特殊文字(「&」と「;」で挟んで表現された文字)は変換していますが対応していない文字もあります.
◇厳密にはHTMLの規格に対応していません、その為、うまく処理されない場合もあります.
◇JavaScript等のスクリプトを使用して表示しているデータは扱えません.
◇このプログラムで扱えるcsvファイルの最大項目数は1024です、また1項目の最大長は8000文字(ダブルコーテーションを含む)です.
◇画面表示のフォントは"MS ゴシック"固定です、また指定可能なサイズは9〜72です.(背景色と文字の色は設定できます)
◇モニターの画素数は横800以上、縦600以上が必要です.
◇Windows7でテストしています.
【使用ソフト】
VisualC# 2010, .NET Framework 4.0