質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

1回答

1634閲覧

flickr ユーザーごとの写真抽出

hehwdijjs

総合スコア8

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2018/07/16 15:39

前提・実現したいこと

以下のプログラムでは キーワードを指定して写真を抽出するのですが
キーワードは検索せずに、写真投稿ユーザーIDを指定することで、
そのユーザーの写真を抽出したいのですが、どうしたらよいでしょうか??

該当のソースコード

import os import time import traceback import flickrapi from urllib.request import urlretrieve import sys from retry import retry from pprint import pprint flickr_api_key = "" secret_key = "" keyword = sys.argv[1] @retry() def get_photos(url, filepath): urlretrieve(url, filepath) time.sleep(1) if __name__ == '__main__': flicker = flickrapi.FlickrAPI(flickr_api_key, secret_key, format='parsed-json') response = flicker.photos.search( text=keyword, per_page=500, media='photos', sort='relevance', safe_search=1, has_geo=1, extras='url_q,license,geo' ) photos = response['photos'] try: if not os.path.exists('./image-data/' + keyword): os.mkdir('./image-data/' + keyword) for photo in photos['photo']: url_q = photo['url_q'] filepath = './image-data/' + keyword + '/' + photo['id'] + '.jpg' get_photos(url_q, filepath) except Exception as e: traceback.print_exc() photos = response['photos'] pprint(photos)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

こんにちは。ドキュメントを見るにflickr.photos.searchの引数にuser_id=XXXと渡してあげたら良いみたいです。

以下、私の方でAPIの部分だけ試したモノになります。
('該当のソースコード'とは幾分、形が異なります)

from flickrapi import FlickrAPI from urllib.request import urlretrieve class keys: apikey = u'XXXX' apisecret = u'XXXX' flickr = FlickrAPI(keys.apikey, keys.apisecret, format='parsed-json') # authenticate flickr.authenticate_via_browser(perms='delete') # get owner's nsid resp = flickr.photos.getInfo(photo_id='XXXX') owner_id = resp['photo']['owner']['nsid'] # get photos url_q resp = flickr.photos.search(user_id=owner_id, extras='url_q,license,geo') resp = resp['photos'] for i in resp['photo']: url_q = i['url_q'] print(url_q) #-> https://farm2.staticflickr.com/XXXXX_q.jpg

投稿2018/07/17 00:46

kyoheyyy

総合スコア61

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問