import requests, os, glob, json you = 'giessel' data = 'tweets' try: os.mkdir(data) except Exception: pass def run(max_id = False): already = glob.glob("%s/*.json" % data) start = 'http://api.twitter.com/1/statuses/user_timeline.json?screen_name=%s&include_rts=true&count=200' % you if max_id: start = '%s&max_id=%s' % (start, max_id) r = requests.get(start) has_new = False for t in r.json: if ("%s/%s.json" % (data, t['id'])) not in already: json.dump(t, open('%s/%s.json' % (data, t['id']), 'w')) has_new = True if has_new: last = r.json.pop() run(last['id']) print 'starting twitter archive of @%s' % you run()