Goutteとは
- PHPで書かれたWebスクレイピング用のライブラリ
- 競合でPHPだと、
- Simple HTML DOM Parser なんかがある
僕のやりたいこと
- HTMLでしかデータを提供していない掲示板を、スクレイピングして
データを整形してXML,jsonなんかで出力したい
Goutteは Simple HTML DOM Parser よりはやくてすごい
そろそろ Simple HTML DOM Parser を使うのはやめたほうがいい | localdisk
- Goutteのほうが速度もメモリ的にも有利みたいなのだが・・?
Goutteは抽出条件に一致するものがないと、例外を投げる
-
実際使ってみたら
$crawler->filter(抽出条件)
で抽出する際、
抽出できるものが何もないと 例外 を投げてしまう・・ -
配列なんかに抽出したデータを複数格納していく、、なんかをしようとすると、
抽出条件を指定するたびにExceptionをcatchしないといけなくなり
コード量がめちゃ増えて非効率すぎる -
クロージャの書き方なら、抽出できなければ中のコードが実行されないだけで、例外は投げられない。
とはいえ毎回クロージャ使うと簡単に書けるような部分ばかりでもないので、、やはり不便は不便 -
Simple HTML DOM Parserだと
find(条件)
で見つからなくても、
Nullになるだけなのでemptyやissetで判定できる