Skip to main content

Download photos from Flickr

Project description

Flickr Download

Introduction

pre-commit test Coverage Status

Simple script to download a Flickr set.

To use it you need to get your own Flickr API key here: https://www.flickr.com/services/api/misc.api_keys.html

flickr_download -k <api key> -s <api secret> -d <set id>

It can also list the public set ids for a given user:

flickr_download -k <api key> -s <api secret> -l <user name>

The user name can be passed in as a URL, email, or user name.

Get a public set using the title and id to name the downloaded files:

flickr_download -k <api key> -s <api secret> -d <set id> -n title_and_id

Download private or restricted photos by authorizing against the users account. (see below)

Installation

To install this script use the Python pip utility bundled with your Python distribution:

> pip install flickr_download

API key

Get your Flickr API key.

You can also set your API key and secret in ~/.flickr_download:

api_key: my_key
api_secret: my_secret

User Authentication Support

The script also allows you to authenticate as a user account. That way you can download sets that are private and public photos that are restricted. To use this mode, initialize the authorization by running the script with the t parameter to authorize the app.

flickr_download -k <api key> -s <api secret> -t

This will save ~/.flickr_token containing the authorization. Subsequent calls with -t will use the stored token. For example using

flickr_download -k <api key> -s <api secret> -l <USER>

with USER set to your own username, will only fetch your publicly available sets, whereas adding -t

flickr_download -k <api key> -s <api secret> -l <USER> -t

will fetch all your sets including private restricted sets.

Note, if you want to log in as another user delete ~/.flickr_token.

Downloading a lot of photos

If you are downloading a lot of photos, two parameters will speed things up. Especially on errors (which the Flickr API seems to like to throw regularly). Those parameters are:

  • --cache <cache_file> – this will cache API responses in the given file, and will thus speed up repeated calls to the same API
  • --metadata_store - this will store metadata information for the set downloads in .metadata.db, which makes it faster to skip already downloaded files.

So to download all the sets for a given user XXX, including private photos and sets, do:

> flickr_download -k KEY -s SECRET --user_auth --cache api_cache --metadata_store --download_user XXX

Optional arguments

-h, --help            show this help message and exit
-k API_KEY, --api_key API_KEY
                        Flickr API key
-s API_SECRET, --api_secret API_SECRET
                        Flickr API secret
-t, --user_auth       Enable user authentication
-l USER, --list USER  List photosets for a user
-d SET_ID, --download SET_ID
                        Download the given set
-p USERNAME, --download_user_photos USERNAME
                        Download all photos for a given user
-u USERNAME, --download_user USERNAME
                        Download all sets for a given user
-i PHOTO_ID, --download_photo PHOTO_ID
                        Download one specific photo
-q SIZE_LABEL, --quality SIZE_LABEL
                        Quality of the picture. Examples: Original/Large/Medium/Small. By default the largest available is used.
-n NAMING_MODE, --naming NAMING_MODE
                        Photo naming mode. Use --list_naming to get a list of possible NAMING_MODEs
-m, --list_naming     List naming modes
-o, --skip_download   Skip the actual download of the photo
-j, --save_json       Save photo info like description and tags, one .json file per photo
-c CACHE_FILE, --cache CACHE_FILE
                        Cache results in CACHE_FILE (speed things up on large downloads in particular)
--metadata_store      Store information about downloads in a metadata file (helps with retrying downloads)
-v, --verbose         Turns on verbose logging
--version             Lists the version of the tool

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flickr_download-0.3.7.tar.gz (15.0 kB view details)

Uploaded Source

Built Distribution

flickr_download-0.3.7-py3-none-any.whl (16.0 kB view details)

Uploaded Python 3

File details

Details for the file flickr_download-0.3.7.tar.gz.

File metadata

  • Download URL: flickr_download-0.3.7.tar.gz
  • Upload date:
  • Size: 15.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.1 CPython/3.12.6 Darwin/23.6.0

File hashes

Hashes for flickr_download-0.3.7.tar.gz
Algorithm Hash digest
SHA256 5a5ece146f9b7e58a6192ea625b80a565c2428b3f1ebf3427b94306d379b7caa
MD5 2a72664644423824cb4df916d127baf5
BLAKE2b-256 c10bb2750ea81875190569a9a9b68ad5dbe3e7d239360312229274f990e2b6c2

See more details on using hashes here.

File details

Details for the file flickr_download-0.3.7-py3-none-any.whl.

File metadata

  • Download URL: flickr_download-0.3.7-py3-none-any.whl
  • Upload date:
  • Size: 16.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.1 CPython/3.12.6 Darwin/23.6.0

File hashes

Hashes for flickr_download-0.3.7-py3-none-any.whl
Algorithm Hash digest
SHA256 64d99a497ef80ac59762f86b4f034089eaa3958bf7af7b8be02aff728fdfbe5d
MD5 50d7a3081cf5f3dcee446a598e832654
BLAKE2b-256 48ccf4993525fc40c57f7c735a4473692b2418f9dc6c53c259d788ede7d8788e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page