Created
May 23, 2020 00:59
-
-
Save roshan-adusumilli/433926c6558fe364d2ab29287208ace9 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import json | |
| import csv | |
| import tweepy | |
| import re | |
| def search_for_hashtags(consumer_key, consumer_secret, access_token, access_token_secret, hashtag_phrase): | |
| #create authentication for accessing Twitter | |
| auth = tweepy.OAuthHandler(consumer_key, consumer_secret) | |
| auth.set_access_token(access_token, access_token_secret) | |
| #initialize Tweepy API | |
| api = tweepy.API(auth) | |
| #get the name of the spreadsheet we will write to | |
| fname = '_'.join(re.findall(r"#(\w+)", hashtag_phrase)) | |
| #open the spreadsheet we will write to | |
| with open('%s.csv' % (fname), 'w') as file: | |
| w = csv.writer(file) | |
| #write header row to spreadsheet | |
| w.writerow(['timestamp', 'tweet_text', 'username', 'all_hashtags', 'followers_count']) | |
| #for each tweet matching our hashtags, write relevant info to the spreadsheet | |
| for tweet in tweepy.Cursor(api.search, q=hashtag_phrase+' -filter:retweets', \ | |
| lang="en", tweet_mode='extended').items(5000): | |
| w.writerow([tweet.created_at, tweet.full_text.replace('\n',' ').encode('utf-8'), tweet.user.screen_name.encode('utf-8'), [e['text'] for e in tweet._json['entities']['hashtags']], tweet.user.followers_count]) | |
| consumer_key = '' | |
| consumer_secret = '' | |
| access_token = '' | |
| access_token_secret = '' | |
| hashtag_phrase = input('Hashtag Phrase ') | |
| if __name__ == '__main__': | |
| search_for_hashtags(consumer_key, consumer_secret, access_token, access_token_secret, hashtag_phrase) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment