]>
jfr.im git - z_archive/twitter.git/blob - twitter/logger.py
2 twitter-log - Twitter Logger/Archiver
6 twitter-log <screen_name> [max_id]
10 Produce a complete archive in text form of a user's tweets. The
13 screen_name tweet_id tweet_time
15 Tweet text possibly spanning multiple lines with
16 each line indented by four spaces.
18 Each tweet is separated by a blank line.
24 from time
import sleep
26 from api
import Twitter
, TwitterError
27 from cmdline
import CONSUMER_KEY
, CONSUMER_SECRET
28 from auth
import NoAuth
31 print >> sys
.stderr
, msg
33 def get_tweets(twitter
, screen_name
, max_id
=None):
34 kwargs
= dict(count
=3200, screen_name
=screen_name
)
36 kwargs
['max_id'] = max_id
39 tweets
= twitter
.statuses
.user_timeline(**kwargs
)
41 if tweet
['id'] == max_id
:
43 print "%s %s %s" % (tweet
['user']['screen_name'],
47 for line
in tweet
['text'].splitlines():
48 print ' ' + line
.encode('utf-8')
52 return n_tweets
, max_id
54 def main(args
=sys
.argv
[1:]):
58 domain
='api.twitter.com')
74 tweets_processed
, max_id
= get_tweets(twitter
, screen_name
, max_id
)
75 n_tweets
+= tweets_processed
76 log_debug("Processed %i tweets (max_id %s)" %(n_tweets
, max_id
))
77 if tweets_processed
== 0:
78 log_debug("That's it, we got all the tweets. Done.")
80 except TwitterError
, e
:
81 log_debug("Twitter bailed out. I'm going to sleep a bit then try again")