アプリ版:「スタンプのみでお礼する」機能のリリースについて

サイトからソースを取得することはできるのですが、
そのソースからほしいデータを抽出するうまいやり方がわかりません。

具体的には
http://table.yahoo.co.jp/t?c=2006&a=5&b=8&f=2006 …
↑のようなサイトからデータの部分だけをメモ帳に移したいです。
どのようにすればいいですか?
ちなみに今は strtok 関数を使って無理やりアルファベットを取り除いていますが、
エラーが多いです。

A 回答 (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ソースを行単位で処理しても良いし、全てをメモリに読み込んで検索しても良いでしょう。
・以上。おわり。→行単位で文字列を解読しましょう。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/03/01 22:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!