トップページ > コンテンツ > プログラミング入門 > Ajax入門 > PHP入門 > HTMLサイトをクロールして解析する

いわゆるスクレイピングの方法について記述。やはりperlとかが有名のようだ。
私はperlは触ったことが無いので、ここではphpで。
URLを階層的に調べるにはwget等を使用する。
wgetのオプションについては、http://members.at.infoseek.co.jp/futora/wget153/参照のこと。
特定の文字や特徴などを取りたい場合には正規表現を利用して取得する。
また、本文だけ取りたいのであればhtmlタグを除くfgetss()等も利用できる。


http://perltips.twinkle.cc/php/get_html.phpサイトから引用してきましたが、
HTML取得には、
$URL = 'どこかのサイト';
$fp = fopen($URL, 'r');
while (! feof($fp)) {
   print fread($fp, 1024) or die("READ");
}
fclose($fp) or die("CLOSE");
で書けちゃうあたりが楽ですね。

余談:
使ったことは無いが、html解析には色々便利なツールがあるらしい。snoopy(http://sourceforge.net/projects/snoopy/)
http://d.hatena.ne.jp/uriyuri/20080614/1213398898
他にもhttp://d.hatena.ne.jp/steel-plate/20080417/1208445174といったサイトも参照したい。

最終更新:2012年01月15日 00:38