現在、Flickrを使用し、機械学習用画像の収集を行おうと考えています。参考にしたURLは以下の通りです。
参考URL
また、作成したコードが以下の通りです。
python
1import os 2import time 3import traceback 4import flickrapi 5from urllib.request import urlretrieve 6import sys 7from retry import retry 8flickr_api_key = "" 9secret_key = "" 10keyword = "bubbles" 11@retry() 12def get_photos(url, filepath): 13 urlretrieve(url, filepath) 14 time.sleep(1) 15 16 17if __name__ == '__main__': 18 flicker = flickrapi.FlickrAPI(flickr_api_key, secret_key, format='parsed-json') 19 response = flicker.photos.search(text=keyword,per_page=300,media='photos',sort='relevance',safe_search=1,extras='url_c, license') 20 photos = response['photos'] 21 try: 22 for photo in photos['photo']: 23 print(photos) 24 url_q = photo['url_c'] 25 print() 26 filepath = './TrainingAssistant/static/img/' + photo['id'] + '.jpg' 27 get_photos(url_q, filepath) 28 except Exception as e: 29 traceback.print_exc() 30 31コード
keyError: 'url_n'とエラーが出てしまいます。
画像の大きさは以下のサイトを参考にしました。
参考URL2
これによると、url_nは最大320pxの画像ファイルURLであるとのことでした。エラーが出てしまう原因を教えていただきたいです。
とり会えず response は json オブジェクトだと思うので、print() してどうなっているか確認してみてはどういうことでしょうか?
記事の内容が古くなっている可能性もあるので、flicker API の公式リファレンスを参考にしたほうがいいと思います。
https://www.flickr.com/services/api/
あなたの回答
tips
プレビュー