「wiki/Category:生物学」からページタイトルを全取得

 生物学的な用語集を作ってデータベース化しようと思い、とりあえずWikipediaのCategory:生物学から辿っていけるすべてのページの表題をテキストファイルにダンプするプログラム、getCategoryBio.plを作成しました。

use LWP::UserAgent;
use HTML::TreeBuilder;
use HTML::Entities;
use Encode;

$userAgent = LWP::UserAgent->new;
$userAgent->agent('Mozilla'); #ユーザエージェント設定
$wikiTemp = 'http://ja.wikipedia.org/wiki/Category:'; #テンプレート
$limit =3; #サブルーチン呼び出し制限

open FH, ">wiki_dic.txt" or die "open: $!"; #カテゴリ:生物からワードを回収する

&scanWikiCategory($wikiTemp . "生物学");

close FH;

sub scanWikiCategory {
$limit -=1;

if ($limit <0) {
return;
}

といった感じで、調べたいカテゴリページから、ページ名の取得と、下位カテゴリへのリンクを調べる部分を、scanWikiCategoryというサブルーチンにして、再帰的に全ページ名を取得できるようにしました。
 現在はテスト段階なので、下位カテゴリへの階層移行を制限してあります。今後プログラムの出力結果を鑑みながら、得られた生物用語辞典の使い方をコーディングしていこうと思います。