ようへいの日々精進XP

よかろうもん

PHP Simple HTML DOM Parser を試してみた

はじめに

  • 頼まれごとで PHP Simple HTML DOM Parser を検証したのでメモ

参考


PHP Simple HTML DOM Parser って?

  • その名も通り PHP で実装されたお手軽な HTML の DOM パーサー

使い方

ダウンロード

wget http://downloads.sourceforge.net/project/simplehtmldom/simplehtmldom/1.5/simplehtmldom_1_5.zip?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fsimplehtmldom%2Ffiles%2Fsimplehtmldom%2F&ts=1393643703&use_mirror=jaist

展開

unzip simplehtmldom_1_5.zip

展開した後で simple_html_dom.php を適当なディレクトリに設置する。

サンプルプログラム

使い方は至って簡単だった。simple_html_dom.phprequire_once する。

<?php
require_once 'simple_html_dom.php';
$html = file_get_html( 'http://yahoo.co.jp/' );
$ret = $html->find('a');
for ($i = 0; $i< count($ret); $i++) {
  print $ret[$i];
  print(PHP_EOL);
}
$html->clear();
?>

実行すると...

以下のように yahoo.co.jp のトップページ内に記述されている HTMLa タグの一覧が取得出来る。

<a href="r/pbk"><img src="http://k.yimg.jp/images/sicons/ybm161.gif" alt="Yahoo!ブックマーク" width="16" height="16" border="0"></a>
<a href="r/pbx"><img src="http://k.yimg.jp/images/sicons/box16.gif" alt="Yahoo!ボックス" width="16" height="16" border="0"></a>
<a href="r/pcl"><img src="http://k.yimg.jp/images/top/calender2.gif" alt="Yahoo!カレンダー" width="16" height="16" border="0" align="absmiddle">カレンダー</a>
<a href="r/pclplo">カレンダーを活用</a>
<a href="r/plpb" title="ポイントを確認">ポイントを確認</a>
<a href="r/plh1" title="ログイン履歴を確認">ログイン履歴を確認</a>
<a href="r/rpro">Yahoo!プレミアム</a>
<a href=s/213099>エイジングケア美容液があたる</a>
<a href=s/213100><img src="http://k.yimg.jp/images/premium/contents/bnr/2014/1000point/50x50.png" alt="Yahoo!プレミアム"></a>
<a href=s/213101>1000ポイントがもれなくもらえる</a>
<a href=s/213102>プレミアムチョコロールケーキをプレゼント</a>
<a href="r/lbb">Yahoo! BB</a>
<a href=s/213105>ADSL最安1,000円台</a>
<a href=s/213106>フレッツ光が1,000円台</a>
<a href="r/lbz">ビジネスで活用するなら</a>
<a href=s/209697>ヤフーに広告を掲載する</a>
<a href=s/212062>無料でネットショップ開業</a>
<a href=s/205224>集客に効くTポイント!</a>

一部省略しているが、これを使えば面白いことが出来そうな気がする。


最後に

  • 久しぶりに PHP を触った
  • こんなにお手軽なのが逆に怖い