htmlSQLはHTML構造にSQLを使って検索できるようにするライブラリです。

HTMLを操作する際にはDOMを使ったり、正規表現を使うのが一般的です。しかしもう一つのやり方を提案するのがhtmlSQLです。何とSQL(問い合わせ言語)を使ってHTMLソースを探索できます。

[![](http://images.moongift.jp/2013/03/Screenshot 2013-03-26 11.27.19_thumb.1364351604.png)](http://images.moongift.jp/2013/03/Screenshot 2013-03-26 11.27.19.1364351604.png)
コード例。PHPで操作します。

[![](http://images.moongift.jp/2013/03/Screenshot 2013-03-26 11.28.32_thumb.1364351607.png)](http://images.moongift.jp/2013/03/Screenshot 2013-03-26 11.28.32.1364351607.png)
こんな感じで取得できます(301になってしまっていますが…)。

こちらもコード例。SQLっぽい記述が面白いです。

クラスやIDなどで絞り込んだり、特定のタグだけを抽出することも簡単にできます。そして指定した要素だけ抽出して処理が可能です。今後、LIMITなどにも対応していくとのことです。

htmlSQLはPHP製、New BSD Licenseのオープンソース・ソフトウェアです。

MOONGIFTはこう見る

SQLはサーバサイドで使われるプログラミング言語と構造体系が大きく異なるためにコード中に書かれるとメンテナンスが面倒になったり、見づらくなって嫌がられる傾向があります。そのため、O/Rマッパーに人気が集まっています。

しかしO/RマッパーではサポートできないSQLの最適化があったり、CSVファイルへのアクセスにSQLを使えるようにする試みなどまだまだ利用範囲は大きいように思います。何よりSQLはプログラマーであれば大抵経験があるため、意外と便利ではないでしょうか(FacebookのFQLも然り)。

hxseven/htmlSQL · GitHub