Untitled
unknown
plain_text
3 years ago
2.4 kB
44
Indexable
import tweepy
import configparser
import pandas as pd
from tqdm import tqdm
# read configs
config = configparser.ConfigParser()
config.read('config.ini')
api_key = config['twitter']['api_key']
api_key_secret = config['twitter']['api_key_secret']
access_token = config['twitter']['access_token']
access_token_secret = config['twitter']['access_token_secret']
# authentication
auth = tweepy.OAuthHandler(api_key, api_key_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
# search tweets
keywords = 'bitcoin'
limit=100
date_since ="2021-03-01"
date_until="2020-03-10"
tweets = tweepy.Cursor(api.search_tweets, q=keywords,lang="en",count=100, tweet_mode='extended').items(limit)
# tweets = api.user_timeline(screen_name=user, count=limit, tweet_mode='extended')
# create DataFrame
tweets_copy = []
for tweet in tqdm(tweets):
tweets_copy.append(tweet)
print(f"New tweets retrieved: {len(tweets_copy)}")
tweets_df=[]
for tweet in tqdm(tweets_copy):
#print(tweet)
#print()
hashtags = []
try:
for hashtag in tweet.entities["hashtags"]:
hashtags.append(hashtag["text"])
except:
pass
tweets_df.append(pd.DataFrame({'user_name': tweet.user.name,
'user_location': tweet.user.location,\
'user_description': tweet.user.description,
'user_created': tweet.user.created_at,
'user_followers': tweet.user.followers_count,
'user_friends': tweet.user.friends_count,
'user_favourites': tweet.user.favourites_count,
'user_verified': tweet.user.verified,
'date': tweet.created_at,
'text': tweet.full_text,
'hashtags': [hashtags if hashtags else None],
'source': tweet.source,
'is_retweet': tweet.retweeted}, index=[0]))
#tw_df = pd.DataFrame(tweets_df)
print(tweets_df)
tweets_df.to_csv('tweets_4.csv')
Editor is loading...