- 締切済み
サイトからソースの取得した後について。
サイトからソースを取得することはできるのですが、 そのソースからほしいデータを抽出するうまいやり方がわかりません。 具体的には 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 関数を使って無理やりアルファベットを取り除いていますが、 エラーが多いです。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- Oh-Orange
- ベストアンサー率63% (854/1345)
★文字列を検索して解読するしかないと思います。 ・アルゴリズムとしては、 (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ソースを行単位で処理しても良いし、全てをメモリに読み込んで検索しても良いでしょう。 ・以上。おわり。→行単位で文字列を解読しましょう。
お礼
早い対応ありがとうございます。 ↑を参考にして書いてみます。