]> jfr.im git - z_archive/twitter.git/blob - twitter/stream_example.py
d90a424f1c18e6e3a9fe95111269e947b413fb43
[z_archive/twitter.git] / twitter / stream_example.py
1 """
2 Example program for the Stream API. This prints public status messages
3 from the "sample" stream as fast as possible.
4
5 USAGE
6
7 stream-example -t <token> -ts <token_secret> -ck <consumer_key> -cs <consumer_secret>
8
9 """
10
11 from __future__ import print_function
12
13 import argparse
14
15 from twitter.stream import TwitterStream
16 from twitter.oauth import OAuth
17 from twitter.util import printNicely
18
19
20 def parse_arguments():
21
22 parser = argparse.ArgumentParser()
23
24 parser.add_argument('-t', '--token', help='The Twitter Access Token.')
25 parser.add_argument('-ts', '--token_secret', help='The Twitter Access Token Secret.')
26 parser.add_argument('-ck', '--consumer_key', help='The Twitter Consumer Key.')
27 parser.add_argument('-cs', '--consumer_secret', help='The Twitter Consumer Secret.')
28
29 return parser.parse_args()
30
31 ## parse_arguments()
32
33
34 def main():
35
36 args = parse_arguments()
37
38 # When using twitter stream you must authorize.
39 stream = TwitterStream(auth=OAuth(args.token, args.token_secret, args.consumer_key, args.consumer_secret))
40
41 # Iterate over the sample stream.
42 tweet_iter = stream.statuses.sample()
43 for tweet in tweet_iter:
44 # You must test that your tweet has text. It might be a delete
45 # or data message.
46 if tweet.get('text'):
47 printNicely(tweet['text'])
48
49 ## main()
50
51 if __name__ == '__main__':
52 main()