PHP で HTML をスクレイピング
●PHP SimpleXMLElement:読み出しやすい、追加のみ
●PHP DOMDocument:追加・削除できる
●PHP DOMXPath:domを柔軟にアクセス
というわけで 最終的に任意のノードを変更する為、PHP DOMDocument で HTML を DOM としてパース(スクレイピング)。
●PHP DOMDocument:追加・削除できる
●PHP DOMXPath:domを柔軟にアクセス
というわけで 最終的に任意のノードを変更する為、PHP DOMDocument で HTML を DOM としてパース(スクレイピング)。
<?php $html=<<<EOT <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <div class="chapter" name="1章 ようこそ"> <h1>1-1節 remix.asia</h1> <div class="paragraph"> 文章 </div><!-- paragraph --> </div><!-- chapter --> <div class="chapter" name="2章 言語"><!-- 章の数だけ繰り返し --> <h1>2-1節 HTML</h1> <div class="paragraph"> HyperText Markup Language... </div><!-- paragraph --> <h1>2-2節 PHP</h1> <div class="paragraph"><!-- 節の数だけ繰り返し --> Hypertext Preprocessor </div><!-- paragraph --> </div><!-- chapter --> </body> </html> EOT; $dom = new DOMDocument( '1.0', 'UTF-8' ); if( false == $dom->loadHTML( $html ) ){ return;//error }の前提で...▼