Giter Club home page Giter Club logo

flickrdumpr's Introduction

flickrdumpr

Downloads all of your flickr albums (original photo/video files). Requires Python 2.7 with the flickrapi module.

Usage instructions

  1. Install the Python Flickr API, e.g. via pip: pip install -U flickrapi
  2. Verify that "everyone" can download the originals from your Flickr account here.
  3. Configure your USER_ID in the python script. If you don't know your ID, you can get it here.
  4. Configure DOWNLOAD_DIR in the python script (optional).

Run the python script:

python flickrdumpr.py

The first time you run the script, a web browser window should open and you will be prompted to authorize the flickrdumpr script to get read-only access to your Flickr account.

You can cancel the script exection at any time by holding down Ctrl + c.

Known issues and limitations

  • There is currently no way of retrieving the original file extension for videos. AFAIK this is a limitation in the API. Therefore, ".mov" is being appended to all video filenames, regardless of which extension the should really have.
  • You cannot cherry-pick albums to download. This script downloads all albums associated with your Flickr account. However, it will skip existing photos and videos which have already been downloaded.
  • You will end up with duplicate files if you have assigned the same photo/video to more than one album. That same file will download into each album folder.
  • If you don't have any albums, you need to go into Flickr's organizr and put all of your photos into an album.

FAQ

Why did you make this?

Because the regular way of downloading albums don't always work. Read more here.

Can I end up with incompleted downloads?

There's always a risk. However, each photo/video is downloaded as a temp file. Not until it is completely downloaded it is renamed into the actual filename on disk. So at least in theory, if you cancel the script operation and re-run it, you should not have to worry about incompleted downloads. I've downloaded tens of thousands of photos/videos using this script and it has never produced incompleted files for me (fingers crossed).

So how do I keep track of any incompleted/failed downloads?

Each download is retried indefinitely until it is completely downloaded. If a download seems to never finish, you can cancel the operation (hold down Ctrl + c) and re-run the script. A log file is created which contains any warnings and errors during the script operation, such as if the script is unable to successfully fetch the download URL for a photo/video (a very rare case, and usually stems from an error on Flickr's side).

One of my downloaded photos says "This photo is no longer available". What's going on?

I've noticed this on very rare occasions too. Unfortunately, the photo is probably gone forever (not my fault!), and for some reason deleted from the Flickr servers. Have a look in the Flickr help forums: https://www.flickr.com/help/forum/en-us/72157649823558847/

I don't see a license anywhere. You must decide on a license!

You can do whatever you like with this script. But I cannot be held responsible for whatever it is you do. Having that said, it would be nice of you to contribute back if you make any improvements to this script.

Roadmap/wishlist

  • Log file. โ€“ implemented
  • Whenever Flickr offers the possibility to fetch the video file extension, it will be implemented.
  • Possibility to download only a selection of albums.
  • Possibility to save the album index down to file and skip the album indexing part by reading this file.
  • Simple TkInter-based UI.
  • Bundle flickrapi virtualenvs for Win/OSX/Linux and have the script auto-detect which one to use.

flickrdumpr's People

Contributors

fredrikaverpil avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.