htmlSQLを使ったWebスクレイピング
12月 30th ,2010
Webスクレイピングとは
Webページから必要な情報だけを収集して加工すること。
Amazonや楽天などで提供されている API を使えば商品の検索や購入など各種サービスを利用できるが API を提供していない所もある。
Webスクレイピングを使えば API を提供していないサイトから情報を収集することが可能になる。
使い方によっては役に立つ技術だが、使い方をしっかり考えないと事故に繋がる可能性もある。
実際にスクレイピングのプログラムを動かす前に一度は読んだほうがいい事例があります。
記事を読んで一瞬ひるんでしまいましたが、この事件を教訓にプログラム設計を改めて考えたほうがいいかなと思いました。
本題です。
htmlSQLというWebスクレイピングを可能にするPHPライブラリがあり、htmlタグを使ってSQL文のように情報を抽出することができます。
簡易版ではありますが以下のコードを使って試してみました。
include_once("snoopy.class.php");
include_once("htmlsql.class.php");
$wsql = new htmlsql();
if (!$wsql->connect('url', 'http://b23.jp/')){
print 'Error while connecting: ' . $wsql->error;
exit;
}
if (!$wsql->query('SELECT * FROM a')){
print "Query error: " . $wsql->error;
exit;
}
foreach($wsql->fetch_array() as $row){
print "<pre>";
print_r($row);
print "</pre>";
}
SQL文に慣れている人にはとても使いやすいライブラリだと思います。
0 comments