« 2018年06月 | メイン

2018年07月 アーカイブ

2018年07月01日

PHP で HTML をスクレイピング

●PHP SimpleXMLElement:読み出しやすい、追加のみ
●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
}
の前提で...▼

続きを読む "PHP で HTML をスクレイピング" »

About 2018年07月

2018年07月にブログ「remix」に投稿されたすべてのエントリーです。過去のものから新しいものへ順番に並んでいます。

前のアーカイブは2018年06月です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.34