• 締切済み

サイトからソースの取得した後について。

サイトからソースを取得することはできるのですが、 そのソースからほしいデータを抽出するうまいやり方がわかりません。 具体的には http://table.yahoo.co.jp/t?c=2006&a=5&b=8&f=2006&d=11&e=13&g=w&s=7203.t&y=0&z=7203.t ↑のようなサイトからデータの部分だけをメモ帳に移したいです。 どのようにすればいいですか? ちなみに今は strtok 関数を使って無理やりアルファベットを取り除いていますが、 エラーが多いです。

みんなの回答

  • Oh-Orange
  • ベストアンサー率63% (854/1345)
回答No.1

★文字列を検索して解読するしかないと思います。 ・アルゴリズムとしては、  (1)『<td><small>』を検索します。→strpbrk関数で検索。  (2)見つかったポインタに +11 を加えれば、『<td><small>』に続くデータの先頭位置になります。  (3)(2)のデータの先頭から『<』文字までを抽出します。   『<』文字をNULL文字に書き換えれば、データの先頭から普通の文字列として扱えます。  (4)(3)のデータの末尾から +1 の位置より、『<td><small>』を再検索します。→(1)へジャンプ ・上記を繰り返せば、TABLE タグのデータを取り出せます。 ・あと途中に『<b>』と『</b>』の部分があるので『<td><small>』を検索した後にポインタを +11 して  『<b>』文字列の先頭の場合は『<b>』をスキップします。→ポインタを +3 進める。 ・後ろにある『</b>』は『<』文字としてデータの末尾としているので(3)と同じです。 ・HTMLソースを行単位で処理しても良いし、全てをメモリに読み込んで検索しても良いでしょう。 ・以上。おわり。→行単位で文字列を解読しましょう。

mozukux382
質問者

お礼

早い対応ありがとうございます。 ↑を参考にして書いてみます。

関連するQ&A