htmlSQLはWebスクレイピング(部分的にHTML抽出)を可能にするPHPライブラリです。ソースが公開されていたのでご紹介します。
※先日、お知らせさせて頂きましたように、この記事は僕が管理していた別のブログの過去記事を移行したもので正確性に欠ける可能性があります。何卒ご了承願います。
Webスクレイピング
HTML内を部分的に取り出し、表示する事で、それを容易にするスクリプトがhtmlSQLというPHPライブラリです。DOM解析をSQL風に指示するらしい。
デモがありますのでご体感下さい。→htmlSQL – live example
以下のコードを使うようです。
<?php /* ** htmlSQL - Example 1 ** ** Shows a simple query */ include_once("../snoopy.class.php"); include_once("../htmlsql.class.php"); $wsql = new htmlsql(); // connect to a URL if (!$wsql->connect('url', 'http://codedump.jonasjohn.de/')){ print 'Error while connecting: ' . $wsql->error; exit; } /* execute a query: This query extracts all links with the classname = nav_item */ if (!$wsql->query('SELECT * FROM a WHERE $class == "nav_item"')){ print "Query error: " . $wsql->error; exit; } // show results: foreach($wsql->fetch_array() as $row){ print_r($row); /* $row is an array and looks like this: Array ( [href] => /feedback.htm [class] => nav_item [tagname] => a [text][/text][/text] => Feedback ) */ } ?>
スパムにも使えてしまいそうなので気をつけたいですね。