phpのjQueryっぽいHTML/XML解析機、phpQueryを使ってみる
javascriptでいえばjQuery、rubyでいえばnokogiri、pythonでいえばpyQuery的なことが出来るphpQueryというのを使ってみた。
まずさくらVPSにインストールするところから。なおphpはすでに入ってる前提とする
$ sudo yum install -y php-xml # xmlライブラリ $ sudo pear channel-discover phpquery-pear.appspot.com $ sudo pear install phpquery/phpQuery
利用例として、ためしに俺のsteamコミュニティページのHTMLからプレイヤー名を取得するコードを書いてみる
<?php require_once('phpQuery.php'); $data = file_get_contents("http://steamcommunity.com/id/kymt"); $result = phpQuery::newDocument($data)->find('div.name')->text(); print("steam name is $result\n"); ?>
phpQuery::newDocument(HTMLデータ) とすることでphpQueryのクラスのインスタンスが生成される。そして、あとはjQueryと同じような使い方ができるためそうしている。
感想
なんかhtml/xmlの解析がちょっと遅いのが気になった。これするだけでも結構待たされる。2コアマシンでこれだからわりとパフォーマンスにおける実装的な問題がありそう。