Downloading Flickr photos

Flickr Leech is a cool web app. It displays all Flickr photos, including those already rendered invisible because of the 200-photo limit in free accounts. But I need more: I want to download these photos for backup.
After looking around, I found several tools that does the job. They didn't quite work for me, so I decided to hack my own.
Using the Flickr API and a Python wrapper, I came up with the following:
- Get flickr.py and manually add it to the host Python library.
- Get an API key from Flickr.
- Write the script:
#!/usr/bin/python
import flickr
import urllib
flickr.API_KEY = 'API key goes here'
user = flickr.people_findByUsername(u'username')
photos = flickr.people_getPublicPhotos(user.id, 500)
total = 0
for photo in photos:
photoURL = "http://static.flickr.com/%s/%s_%s_o.jpg" % (photo.server, photo.id, photo.secret)
photoFile = "%s_%s.jpg" % (photo.title, photo.id)
data = urllib.urlretrieve(photoURL, photoFile)
total = total + 1
print "Downloading %s" % photoFile
print "Done with %s photos." % total - Make the script executable, create a directory where to download files, and execute the script from there.
- Rinse, dry, press.
I know, the script is very rudimentary. It's my first Python script, and it needs a lot of work: there's no exception-handling for one. But it worked perfectly for me.
Are you sure you can retrieve pass the 200 limit? I've tried the flickr api explorer and setting the per_page into 500. But the result came up always have "total=200". Am I missing the essential trick here? :(
ReplyDeleteBack then, I was able to do that. Unfortunately, yes, you won't be able to get past the 200-photo limit. I guess they have set this as a hard limit now.
ReplyDelete