from twitter import * import time import numpy as np import pandas as pd import datetime import dateutil #Keeping my api keys in a separate file. Just put in your own here from auth.auth_twitter import access_token, access_token_secret, consumer_key, consumer_secret t = Twitter(auth=OAuth(access_token, access_token_secret, consumer_key, consumer_secret)) t.statuses.home_timeline() help(twitter) def get_age(birth_date): # Get the current date now = datetime.datetime.utcnow() now = now.date() # Get the difference between the current date and the birthday age = dateutil.relativedelta.relativedelta(now, birth_date) age = age.years return age %pylab inline vote_raw = pd.read_csv('makindo_data.csv', parse_dates=['birth_date']) vote_raw['age'] = vote_raw.apply(lambda row: get_age(row['birth_date']), axis = 1) vote_raw['age'].min() vote_clean = vote_raw[['twitter_handle', 'party_affiliation', 'age']].copy() (12*939)/60.0 vote_clean[1:2] def get_tweets(username): try: user_status = t.statuses.user_timeline(screen_name=username) time.sleep(12) return [x['text'] for x in user_status] except: return '' get_tweets('csheldon10') for row in vote_clean.iterrows(): print row[1][0] tweets_list = [{row[1][1]:get_tweets(row[1][0])} for row in vote_clean.iterrows()] tweets_list party_tweet_list = [] for user in tweets_list: for key in user: for tweet in user[key]: item = [tweet, key] party_tweet_list.append(item) party_tweet_list[88] full_tweets = pd.DataFrame(party_tweet_list, columns=['tweet', 'party_affiliation']) # vote_clean['tweets'] = vote_clean.apply(lambda row: # get_tweets(row['twitter_handle']), axis=1) full_tweets.to_csv('data/pulled_tweets.csv', encoding='utf8')