「flickr_fetcher.pl」を勝手に改造して活用してみた

2009年1月 5日
| コメント(0) | トラックバック(1) 「flickr_fetcher.pl」を勝手に改造して活用してみた

画像を集めるのは結構大変だったりするわけですが。
Yahoo!Pipesで複数のソーシャルブックマークから情報を収集していて面白いスクリプトを見つけました。

ゆーすけべー日記: Flickr からキーワードにマッチした写真を一括ダウンロードする Perl スクリプト「flickr_fetcher.pl」


最初は記事に書いてあるとおり使ってみようとしたのですが、コマンドプロンプトがShift_JISのせいなのか、キーワードを入れてもヒットしないのです。
Windowsを呪ってみても仕方がないので、スクリプトの中にキーワードを入れて使うことにしました。

どのように入れるか迷いましたが、とりあえず、BUILDに直接書き込みました。

sub BUILD {
    my ( $self, $args ) = @_;
 
    unless ( $self->api_key ) {
        if ( my $api_key = $ENV{FLICKR_API_KEY} ) {
            $self->api_key($api_key);
        }
        else {
            die "api_key is required\n";
        }
    }
    unless ( $self->keyword ) {
        $self->keyword('石原さとみ');
    }
    unless ( $self->dir ) {
        $self->dir('satomi_ishihara');
    }
 
    my $xs = XML::Simple->new( KeepRoot => 1, keyattr => [] );
    my $parser = WebService::Simple::Parser::XML::Simple->new( xs => $xs );
    my $flickr = WebService::Simple->new(
        base_url        => "http://api.flickr.com/services/rest/",
        param           => { api_key => $self->api_key },
        response_parser => $parser,
    );
    $self->_flickr($flickr);
}

これに伴い、keywordとdirのrequireをとりました。

has 'keyword' => ( is => 'rw', isa => 'Str' );
has 'dir'     => ( is => 'rw', isa => 'Dir', coerce => 1 );
has 'api_key' => ( is => 'rw', isa => 'Str' );
has 'license' => ( is => 'rw', isa => 'Int' );


(わかったようにやっていますが、雰囲気でやってみて、結果としてうまくいっただけです。)
で、結果は以下のとおり。

satomi.jpg

いやいや。
便利なスクリプトをありがとうございます。

トラックバック(1)

このブログ記事に対するトラックバックURL:

このブログ記事を参照しているブログ一覧:

flickr_fetcher.plは、元々は引数でキーワードを入れるという、とて... 続きを読む

コメントする

Google検索

Last.fm

このブログ記事について

このページは、のぶりんが2009年1月 5日 22:38に書いたブログ記事です。

ひとつ前のブログ記事は「Yahoo.comのPipesが便利」です。

次のブログ記事は「flickr_fetcher.plをモジュールにしてみました。」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Creative Commons License
このブログのライセンスは クリエイティブ・コモンズライセンス.
Powered by Movable Type