Tidy関数では得たhtml情報に対して、スクレイピングの記述を行うことができる。
まず、tidy関数で扱えるようにパースする設定をtidy_parse_string()関数を使って行う。
$config = array('indent' => TRUE,
'output-xhtml' => TRUE,
'wrap' => 200);
tidy_clean_repair(tidyオブジェクト用変数);
とすることで、マークアップに設定に基く誤りの修正を行うことができる。
tidyオブジェクトを作成したら、いよいよスクレイピングのための処理を記述することになる。
tidyNode型の$nodeといったような変数を宣言したら、
$node->idを比較していくことで、タグの部分を取得できたりする。ちなみにtidyタグ定数は非常に多い。
詳しくはこの辺(
http://php.plus-server.net/tidy.constants.html)をチェック!
if($node->id == TIDY_TAG_A):tidyオブジェクトのタグがAである場合という意味
if($node->attribute['alt']):tidyオブジェクトのタグの属性のうち、altのもの。属性の種類はimgとかsrcとか色々あるがHTMLタグの話になるのでここでは説明を割愛する。
ノードを辿るには、$node->hasChildrenといった感じで子の要素を探すことができる。
子の要素の指定に関しては$node->children[0]->valueといった指定方法ができるらしい。
最終更新:2011年04月03日 11:49