PythonでFlickr APIを利用して、セット(アルバム)に保存した画像の一括ダウンロード

PythonでFlickr APIを利用して、セット(アルバム)に保存した画像の一括ダウンロード、できたらいいな。
そう思って、いざ昨日から開始したが、結局ものにならなかった反省。

Flickr APIとは

Flickrが公式で公開しているAPIのこと。
このプログラムを利用することで、例えばFlickrで検索した結果の画像一覧を表示させたり、今人気の画像一覧を取得したり、様々なことができる。
基本的にFlickr公式ではないアプリやサービスの場合、このAPIを利用してシステムを作っているはず。

このAPIを利用するためには、自身のFlickrアカウントからAPI Keyなどを取得する必要がある。
The App Garden on Flickr



上のリンクからアクセスすると、①Get your API Keyと②Put your app in the Gardenが並んでいる。
①Get your API KeyのRequest an API Keyをクリックし、先に進む。


商用なのか、非商用なのかを尋ねられるので、好きな方を選ぶ。
商用では審査があるが、非商用では無審査ですぐ使える様子。
今回は非商用を選んだ。

情報を入力する。
アプリの名前とその説明を入力し、送信をする。

するとした画像のようにAPI KeyとAPI Secretが手に入る。

このKeyとSecretを利用し、自身が作成するアプリなりサービスを認証する。

PythonでFlickr APIを利用する

PythonでFlickr APIを利用する際に、便利なモジュールが3つあった。
1つ目のAPIは現在も開発が行われているようで、利用するにはこれがいいかもしれない。
2つ目のflickr.pyは更新がほぼされていない。
開発が終わってしまったのかもしれない。
3つ目のpython-flickr-apiは最近開発が始まったようである。

参考サイト

Flickr Services
FlickrAPI
Flickr API の認証とAPI を使った画像アップロードの簡単なまとめ - 肉とビールとパンケーキ by @sotarok
flickrapiを使って画像をUploadしてみた - cloverrose's blog
Flickr APIで自動更新するギャラリーサイトを作る | miyuk1.com

やりたかったこと

・プログラムを認証させる。
・ユーザ(ここでは自身)のプライベート設定になっているセット(アルバム)一覧を取得する。
・一覧の中から、ダウンロードしたいセット(アルバム)を選択する。
・選択されたセット(アルバム)に入っている画像一覧を取得する。
・取得した画像のオリジナルサイズをダウンロードし、セット(アルバム)名でサブフォルダを作り、その中に保存する。

今回できたのは、プラグラムを認証させ、ユーザのプライベートコンテンツへのアクセスである。
そこからユーザのセット(アルバム)一覧の取得は出来たのだが、それ以降は進まなかった。

反省

・Flickr APIを利用して取得したユーザのセット(アルバム)一覧がxml形式だったのだが、これをPythonで処理するスキルが無かった。
xmlデータからセット(アルバム)のタイトルを取得し、一覧表示させたかった。
上記で作業をやめてしまった。
ここからさらにセット(アルバム)ごとに写真一覧のファイル名を取得し、そのファイルごとのダウンロードリンクを生成し、フォルダへダウンロードしたかった。
反省するべき点としては、Python自体の勉強不足とAPI周りの知識不足だったと思う。

結局

Flickrのセット(アルバム)に保存された画像を一括でダウンロードするという目的は自力では果たせなかった。
そのため、App Storeからアプリを購入し、それで用を済ませることにした。
Mac App Store - Pic togo for Flickr

すごい簡単。
昨日から5時間以上に渡って取り組んでいたことが、ものの数分でできちゃう。
ただし、ダウンロードするにはそれなりの時間がかかるが。

学んだこと

餅は餅屋。

0 件のコメント on "PythonでFlickr APIを利用して、セット(アルバム)に保存した画像の一括ダウンロード"

コメントを投稿