def gather_tweets(search_parameters,n_tweets): twitter_details_file = get_file() twitter_access = twitter_tools.twitter_handler(twitter_details_file) tweets = [] print "Gathering tweets...\n" x = 1 for tweet_info in twitter_access.stream_twitter_data(search_parameters): tweets.append(tweet_info) if x % 10 == 0: print str(x) + " of " + str(n_tweets) if x == n_tweets: break x +=1 return tweets
def main(): twitter_details_file, sentiment_file = get_files() twitter_access = twitter_tools.twitter_handler(twitter_details_file) scores_dict = file_to_dict(sentiment_file) track_parameter = raw_input("Enter search terms: ") while True: n_tweets = raw_input("Number of tweets to scan: ") average_size = raw_input("Size of moving average: ") try: n_tweets = int(n_tweets) average_size = int(average_size) break except: print "Number of tweets and size of moving average must be integers!" search_parameters = [("track", track_parameter)] moving_average = [] x = 1 for tweet_info in twitter_access.stream_twitter_data(search_parameters): user_parameters = [('user_id', tweet_info['user']['id']), ('count', 20), ('include_rts', 'false')] user_tweet_list = twitter_access.get_user_data(user_parameters) #calculate average user sentiment for 'count' number of posts user_sentiment = get_user_sentiment(user_tweet_list, scores_dict) tweet_sentiment = check_sentiment(tweet_info, scores_dict) moving_average.append(tweet_sentiment - user_sentiment) #print details print tweet_info.get('text', 'No tweet information').encode('utf-8').lower() print "User Sentiment: " + str(user_sentiment) + ", Tweet Sentiment: " \ + str(tweet_sentiment) + ", Adjusted User Sentiment: " + str(tweet_sentiment-user_sentiment) print sum(moving_average[-average_size:]) / float( len(moving_average[-average_size:])) print "\n" if x == n_tweets: break x += 1
def main(): twitter_details_file, sentiment_file = get_files() twitter_access = twitter_tools.twitter_handler(twitter_details_file) scores_dict = file_to_dict(sentiment_file) track_parameter = raw_input("Enter search terms: ") while True: n_tweets = raw_input("Number of tweets to scan: ") average_size = raw_input("Size of moving average: ") try: n_tweets = int(n_tweets) average_size = int(average_size) break except: print "Number of tweets and size of moving average must be integers!" search_parameters = [("track", track_parameter)] moving_average = [] x = 1 for tweet_info in twitter_access.stream_twitter_data(search_parameters): user_parameters = [("user_id", tweet_info["user"]["id"]), ("count", 20), ("include_rts", "false")] user_tweet_list = twitter_access.get_user_data(user_parameters) # calculate average user sentiment for 'count' number of posts user_sentiment = get_user_sentiment(user_tweet_list, scores_dict) tweet_sentiment = check_sentiment(tweet_info, scores_dict) moving_average.append(tweet_sentiment - user_sentiment) # print details print tweet_info.get("text", "No tweet information").encode("utf-8").lower() print "User Sentiment: " + str(user_sentiment) + ", Tweet Sentiment: " + str( tweet_sentiment ) + ", Adjusted User Sentiment: " + str(tweet_sentiment - user_sentiment) print sum(moving_average[-average_size:]) / float(len(moving_average[-average_size:])) print "\n" if x == n_tweets: break x += 1