import requests
import urllib

# 'usernames.txt' contains a list of Twitter usernames; one at each line
f = open('usernames.txt')

# Photo addresses are saved into 'images.txt'
out = open('images.txt', 'w')

# for each username, the photo file itself is save under 'photo/' folder
# uncomment the line below for desired image size

# profile_image_url = 'https://twitter.com/%s/profile_image?size=mini'
profile_image_url = 'https://twitter.com/%s/profile_image?size=normal'
# profile_image_url = 'https://twitter.com/%s/profile_image?size=bigger'
# profile_image_url = 'https://twitter.com/%s/profile_image?size=original'

for name in f:
    name = name.strip()
    
    r = requests.get(profile_image_url % name)
    url = r.url.startswith('https://twitter.com/') and '-' or r.url
    out.write(url + '\n')
    print url
    if url != '-':
        extension = r.url.split('.')[-1]
        if len(extension) > 6:
            urllib.urlretrieve(r.url, 'images/%s' % name)
        else:
            urllib.urlretrieve(r.url, 'images/%s.%s' % (name, extension))

out.close()
f.close()