Backup any Flickr Photostream with FlickrBird

I named it FlickrBird! It was a one night hack written in Python. I wrote it to Backup any Flickr Photostream.

As of now It doesn’t require any non-builtin python modules to run this script except flickrapi for python (Get it from here – http://stuvel.eu/projects/flickrapi). You just need a Python. You can suspend the download in-between & resume download later. I code it later for EXIF data.

Give a try and let me know your suggestions 🙂
Code is at Githubhttp://github.com/abhiomkar/FlickrBird

Run flickrbird.py

Screenshot running FlickrBird on Mac OS X - Flickr Backup Tool

How to use on Mac OS X / Linux?

Open Terminal and enter below commands
[bash]
mkdir MyFlickrBackup
cd MyFlickrBackup

# Download FlickrBird Script
wget http://github.com/abhiomkar/FlickrBird/raw/master/flickrbird.py

# Give execute permissions to run it
chmod +x flickrbird.py

# Yah! run it…
./flickrbird.py
[/bash]

Posted on Mar 28, 2010
Written byAbhinay Omkar
  • Ben W

    I got the script to download about 12 of my images (original rez) and then this error.. ideas?
    Traceback (most recent call last):
    File “./flickrbird.py”, line 143, in
    main()
    File “./flickrbird.py”, line 137, in main
    print “–> Downloaded “+str(len(photos))+” photos of “+peopleUsername+” !”
    TypeError: cannot concatenate ‘str’ and ‘NoneType’ objects

    • Hi Ben! This is now fixed.
      It didn’t work because your flickr account didn’t have a real name. It is now resolved.

      Appreciate for posting the error.

      Thanks!

  • Ben W

    I replaced mine with your latest version, and ran it on my stream which is http://flickr.com/photos/26959317@N04
    Results:
    Skipping 11 of 11 photos. They are already downloaded.
    >> You can suspend the download with ^C.
    –> Downloaded 0 photos of 26959317@N04 !

    • Hello Ben! That means all 11 photos are already downloaded to your current folder. If it is not downloaded please try create a new folder and follow the above procedure that I’ve mentioned in the post to run the script in new folder. That should work!

  • Ben W

    Tried another stream I have
    http://www.flickr.com/photos/razorwriter/
    (username is razoraz)
    Result after less than all the photos downloaded:
    Traceback (most recent call last):
    File “./flickrbird.py”, line 147, in
    main()
    File “./flickrbird.py”, line 123, in main
    print “Downloading: ” + photoTitle
    TypeError: cannot concatenate ‘str’ and ‘NoneType’ objects

    • Thanks again for reporting the bug! I’ve fixed it now. Please download and run my updated script. It should work.
      Please let me know if you come across such errors. Appreciate your feedback. Have a nice day!

  • Ben W

    Ah, Thanks! The problem with the first group I mentioned is that there are many more than 11 photos – it’s just that they are private. The account was set up by an organization I work with more as a photo backup thing than to share the photos. Is it because the script isn’t logging into flickr that it can’t access these? Would that be hard to build in?

    • It’s good to hear that FlickrBird is being used by an Organization. May I know the name of your Organization?

      Yah, Currently, FlickrBird can download only Public photos. I’m yet to update my script to include Flickr User Authentication to download User’s Private Photos.

      Cheers,
      Abhinay

  • Tino Montiel

    That feature would be pretty nice.
    Can’t find a decent tool to backup my stream.

    Your script kicks major ass.