htmlSQLを使ったWebスクレイピング

12月 30th ,2010

Webスクレイピングとは

Webページから必要な情報だけを収集して加工すること。
Amazonや楽天などで提供されている API を使えば商品の検索や購入など各種サービスを利用できるが API を提供していない所もある。
Webスクレイピングを使えば API を提供していないサイトから情報を収集することが可能になる。
使い方によっては役に立つ技術だが、使い方をしっかり考えないと事故に繋がる可能性もある。

実際にスクレイピングのプログラムを動かす前に一度は読んだほうがいい事例があります。

Librahack 岡崎図書館事件まとめ

記事を読んで一瞬ひるんでしまいましたが、この事件を教訓にプログラム設計を改めて考えたほうがいいかなと思いました。

本題です。

htmlSQLというWebスクレイピングを可能にするPHPライブラリがあり、htmlタグを使ってSQL文のように情報を抽出することができます。

htmlSQL – LiveDemo

簡易版ではありますが以下のコードを使って試してみました。

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>";
}

htmlSQL DEMO

SQL文に慣れている人にはとても使いやすいライブラリだと思います。

0 comments

コメントをどうぞ

All rights reserved ©2010 B23 SYNCHRONICITY