# Perl: WEB API を利用する ## CPANモジュール逆引きガイド Perl は Web API を利用するのに適している。CPAN にもさまざまな Web API に対応したモジュールが上がっている。 * {{cpan: WWW::YouTube::Download}} * {{cpan: WWW::Tumblr}} * {{cpan: Net::GitHub}} * {{cpan: App::ph}} * {{cpan: WebService::Dropbox}} * {{cpan: Net::AozoraBunko}} * {{cpan: URI::Amazon::APA}} * {{cpan: WebService::Simple}} 余程新しいサービスでない限りはサービス名で CPAN を検索すればたいがい存在する。 が、公式な API がないサービスをスクレイピングして情報を取得するタイプのモジュールは注意しないと、ページのデータ構造が変わるたびに動かなくなったりする。また、非公式なアクセスと判断されてバンされることもあるので、サービス提供者に迷惑をかけないように利用する必要がある。 この手のモジュールは `Net::*` `WWW::*` `WebService::*` `Web::*` `API::*` といった名前空間に存在するが、同じAPIを叩くためのモジュールが複数存在していることも多く、評価が難しかったりする。 たいていは以下のようなどれかである。 * API 全体に対応したもの * よく利用する API の一部へのショートカットなもの * 途中で実装が諦められているもの 最後のパターンをうっかり使い始めると、自分で実装する羽目になったりするので気を付けよう。 また、この手のモジュールは API 側の変更に追従するメンテナンスが継続的に行われているかが重要なのでよくチェックしておこう。できればよく使うサービスならできる限り自分でコントリビュートしていくようにすると吉。