htmlSQLでスクレイピング

電脳備忘録
以前、PHP Simple HTML DOM Parserを利用してスクレイピングをテストしたことがあります。
これはこれでいいのですがループをかますと処理が重くなってアレなので、他のものもないかと調べて「htmlSQL」を試してみることにしました。

今回も自サイトに対してスクレイピングを実施。grid_entry_containerクラス内の要素を抽出できました。
‹?php
//htmlSQLスクレイピングテスト
// [ htmlSQL ] のライブラリを読み込む
include_once("./htmlsql/snoopy.class.php");
include_once("./htmlsql/htmlsql.class.php");
// インスタンス化
$htsql = new htmlsql();
// 取得したい HTML を指定
if (!$htsql->connect('url', 'http://www.560days.com/')){
print 'Error while connecting: ' . $htsql->error;
exit;
}
// SQL 文を書く
if (!$htsql->query('SELECT * FROM div WHERE $class == "grid_entry_container"')){ // div class="grid_entry_container"内の情報を取得する
print "エラーで取得できなかったでござる" . $htsql->error;
exit;
}
// 結果を表示する
foreach($htsql->fetch_array() as $row){
var_dump($row);
}
?›
しかしこのままでは使えないので、htmlSQLで抽出した結果をPHP Simple HTML DOM Parserで更にスクレイピングしてやればいいような気がしていますが、2度手間なような気もします。

実際やって調整するしかないですね。

広告

ブログの維持費に充てるでございます・・・。