/
twitter_analyzer.py
83 lines (71 loc) · 2.29 KB
/
twitter_analyzer.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#!/usr/bin/env python
from twitter import Twitter
from twitter import OAuth
from dateutil import parser
import twphotos
import operator
import json
import argparse
import ConfigParser
def auth():
parser = ConfigParser.ConfigParser()
parser.read('config.ini')
OAUTH_TOKEN = parser.get('twitter', 'OAUTH_TOKEN')
OAUTH_SECRET = parser.get('twitter', 'OAUTH_SECRET')
CONSUMER_KEY = parser.get('twitter', 'CONSUMER_KEY')
CONSUMER_SECRET = parser.get('twitter', 'CONSUMER_SECRET')
print "[+] Authenticating..."
try:
t = Twitter(
auth=OAuth(
OAUTH_TOKEN,
OAUTH_SECRET,
CONSUMER_KEY,
CONSUMER_SECRET
)
)
print "[+] Authentication Succesful!"
return t
except Exception, e:
print "[!] Error authentcating: ", e
exit()
def populate_tweets(response):
tweets = []
for i in range(0, len(response)):
if response[i]['place'] is None:
location = 'NA'
else:
location = response[i]['place']['full_name']
if response[i]['created_at'] is None:
date = 'NA'
else:
date = response[i]['created_at']
if response[i]['text'] is None:
tweet = 'NA'
else:
tweet = response[i]['text']
tweets.append({'username':'botorama2',
'tweet':tweet,
'date':date,
'location':location})
return tweets
def create_timeline(tweets):
dates = {}
for i in range(0, len(tweets)):
dates.update({tweets[i]['tweet']:parser.parse(tweets[i]['date'])})
sorted_tweets = sorted(dates.items(), key=operator.itemgetter(1))
return sorted_tweets
def main():
twitter = auth()
response = twitter.statuses.user_timeline(
screen_name="botorama2",
count=10)
print response
tweets = populate_tweets(response)
sorted_tweets = create_timeline(tweets)
for i in sorted_tweets:
print[i][0]
#for tweet in tweets:
# print tweet
if __name__ == '__main__':
main()