flickr の set を指定して、対応したサムネイルとリンク先のタグを一括取得する Perl スクリプトを書いてみた。要 Flicr::API モジュール。
set の URL が http://www.flickr.com/photos/tokiharu/sets/72157621918366482/ であれば、72157621918366482 が photoset_id にあたる。
flickr.pl というスクリプトであれば、
./flickr.pl <photoset_id>
で取得できる。
スクリプトの最初の $key, $user_id は自分のものに置き換えてどうぞ。
リンク先画像のサイズを変えるときは $thumb の URL 中の sizes/l のあたりを変更。同様に $thumb の URL を変えるとサムネイルのサイズも変えられるはず。
#!/usr/bin/perl use strict; use warnings; use Data::Dumper; use Flickr::API; # config our $key = '**your_api_key**'; # cf. http://www.flickr.com/photos/**your_user_id**/ our $user_id = '**your_user_id**'; my $photoset_id = shift || die "no photoset_id"; my $api = new Flickr::API({'key' => $key,}); my $response = $api->execute_method('flickr.photosets.getPhotos', { 'api_key' => $key, 'photoset_id' => $photoset_id, }); if (! $response->{success}) { die "$response->{error_code}: $response->{error_message}"; } my $tree = $response->{tree}; my @photoset = @{$tree->{children}->[1]->{children}}; # print Dumper(@photoset); for my $photo (@photoset) { if ($photo->{type} eq 'element') { my $attr = $photo->{attributes}; my $thumb = "http://farm$attr->{farm}.static.flickr.com/" . "$attr->{server}/" . "$attr->{id}_$attr->{secret}.jpg"; my $link = "http://www.flickr.com/photos/$user_id/" . "$attr->{id}/sizes/l/" . "in/set-$photoset_id/"; print <<EOT; <a href="$link"><img src="$thumb"></a> EOT } }うー、素の MT3 でコードを載せるのめんどくさい...