最終更新:2009-11-30 (月) 04:54:05 (5254d)
DOMXPath
Top / DOMXPath
DOMDocumentと組み合わせてスクレイピングするサンプル
<? $html=file_get_contents("http://example.com"); $html = mb_convert_encoding($html, 'HTML-ENTITIES', 'auto');//文字化けするからHTMLエンティティに変換する $dom = new DOMDocument('1.0', 'UTF-8'); libxml_use_internal_errors(TRUE); // パースエラーのwarningを非表示に $dom->loadHTML($html); libxml_use_internal_errors(FALSE); // 元に戻す $xpath = new DOMXPath($dom); $results = $xpath->evaluate("/html/body//h3/a");//XPathで指定 $i=1; foreach($results as $item){ $href=$item->getAttribute('href'); $text=$item->textContent; //3つのうちどれでも取れるぽい //var_dump($item->nodeValue); //var_dump($item->textContent); //var_dump($item->firstChild->data); echo "$i <a href='{$href}'>{$text}</a><br>"; $i++; } ?>