スクレイピングする (PHP Simple HTML DOM Parser)

2013年4月25日

今回は「PHPでスクレイピング」のお話です。
抽出する際のセレクタ指定方法がjQueryライクで、使い勝手の良いライブラリをご紹介します。

PHP Simple HTML DOM Parser
http://simplehtmldom.sourceforge.net/

本家のページがシンプル過ぎて心配になりますが、、
めげずに下記からsimple_html_dom.phpを取得して下さい。
http://sourceforge.net/projects/simplehtmldom/files/

テストスクリプトと同一のフォルダに保存したとして、サンプルを書いていきます。
上記本家に書いてあるQuick Startを例にします。

Yahoo.co.jpのソースを取得しimgのsrcを全て取得する


ああ、なんて簡単なんでしょう!
この調子で色々抜き出していきます。

Yahooに接続してaのhrefを全て取得する


file_get_htmlでは無く、stringからDOMを作る際は下記のようにするようです。
このinnertextメソッド周りもクールだと思いませんか?


タグを抜いたテキストだけ持ってくる


その他セレクタ


その他マニュアルは下記参照ください。
http://simplehtmldom.sourceforge.net/manual.htm

jQueryの世界でよく見るセレクタの記述方法は一通り使えるみたいです。
取得したいHTMLパーツを簡単に取り出せそうですね!

今回は以上です。




カテゴリー: HTML, PHP   パーマリンク