htmlSQLでスクレイピング

電脳備忘録

本記事のソースコードの利用によって生じた損害について、当方は一切の責任を負いません。ご自身の判断と責任のもとで参照・ご利用ください。

この記事は最終更新から2年以上経過しています。

以前、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度手間なような気もします。

実際やって調整するしかないですね。
Newer
Older
Dark
Light
menu