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
}
の前提で...▼