Home » January 2006 » Flickr2pics: Flickrからlivedoor PICSに画像をコピーするスクリプト

Flickr2pics: Flickrからlivedoor PICSに画像をコピーするスクリプト

livedoor PICSですが、あまり使われていないそうなので(笑)、Flickrの画像をダウンロードしてきてlivedoor PICSにアップロードするスクリプトを作ってみました。50MBとはいえ貴重なネットワークストレージ、有意義に使いましょう。多分ある時点でlivedoor Blog並に(2GBくらいに)一気に増量されるのではないかと勝手に思っています。

flickr2pics.pl

Flickrの画像情報を取り出すのにFlickr Servicesを、livedoor PICSにアップロードするのにlivedoor PICS WebServiceをそれぞれ使っています。「2.0」ぽいですね。Webでサービスしてもよいのですが、トラフィックが洒落にならんのとBrute force attackをされるとかなわんので止めておきます。

スクリプトを動作させるには以下のPerlモジュールがインストールされている必要があります。

スクリプトの冒頭の変数$FLICKR_USERNAME, $PICS_USERNAME, $PICS_PASSWORDを自分の環境に合わせて修正した後、コマンドラインから起動すれば動作するはずです。

注意事項

このスクリプトはflickr.people.getPublicPhotosを使って$FLICKR_USERNAMEで指定されたユーザのPublic Photoのリストを取得し、それぞれの画像に対してflickr.photos.getInfoで詳細情報を取得しています。したがって以下のような制限・留意点があります。

  • Publicでない画像はコピーできない。
    →我慢してください。
  • $FLICKR_USERNAMEに他人のユーザ名を指定してももちろんコピーできてしまう。
    →絶対にやめましょう、特にこのスクリプトを使ってやるのは。
  • 場合によってはカップ麺が作れるくらい時間がかかる。
    →文句はFlickrにどうぞ。念のため、今のところPICS APIがやたら速いせいで確かにFlickrの遅さが目立ちますが、PICSユーザがそこそこ増えればPICS APIもビジーになってどうせ気にならなくなるはずと予想しておきます。

また、PICSに反映される情報は今のところタイトルと画像ファイルだけです。Flickr2picsでは、Flickr APIを用いて画像に付加されたDescriptionやTagsなどの情報も取得していますが、PICSのAtomPPのインタフェースにそれらを追加する機能がないので反映しようがないためです。リバースエンジニアリングすれば見つかるかもしれません。これができると本当は面白いのですけれどね。


2006-01-12追記:
ひょっとしてdc:subjectでいいのかもと思った。後で試してみよう。

試してみたけど、×だった。XML::Atomでdc:subjectを複数追加するのが面倒な感じがした。

このエントリーのトラックバックURL: http://as-is.net/mt/mt-tb.cgi/357

Links referred to this entry

Comments (0)

Post a comment

Remember me?