そう思って、いざ昨日から開始したが、結局ものにならなかった反省。
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 ServicesFlickrAPI
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時間以上に渡って取り組んでいたことが、ものの数分でできちゃう。
ただし、ダウンロードするにはそれなりの時間がかかるが。