Mujahid Rahman
Mujahid Rahman

Reputation: 1

Unable to retrieve tweets using Tweepy library

import pandas as pd 
import tweepy as tw # To extract the twitter data using Twitters official API
from tqdm import tqdm, notebook
import os 

pd.set_option('display.max_columns' , None)
pd.set_option('display.max_rows' , None)
pd.set_option('display.max_colwidth' , None)
pd.set_option('display.width' , None)

consumer_api_key = 'XXXX'
consumer_api_secret = 'XXXX'

auth = tw.OAuthHandler(consumer_api_key, consumer_api_secret)
api = tw.API(auth, wait_on_rate_limit=True)

search_words = "#Ethereum -filter:retweets" 
# We type in our key word to search for relevant tweets that contain "#"
#You can fix a time frame with the date since and date until parameters
date_until = "2021-05-01"
# Collect tweets
tweets = tw.Cursor(api.search_tweets,
              q=search_words,
              lang="en",
              until=date_until).items(15000)

tweets_copy = []
for tweet in tqdm(tweets):
    tweets_copy.append(tweet)

print(f"New tweets retrieved: {len(tweets_copy)}")

I am trying to extract tweets with the keyword #Ethereum from a specific time frame,but when I run the code I keep getting a red bar in Jupyter Notebook that says "0it [00:00, ?it/s]" and this leads to know tweets being retrieved. Can anyone help?

Upvotes: 0

Views: 130

Answers (1)

Mickaël Martinez
Mickaël Martinez

Reputation: 1843

From the Twitter search documentation:

The Twitter Search API searches against a sampling of recent Tweets published in the past 7 days.

And from the until parameter documentation for this endpoint:

Keep in mind that the search index has a 7-day limit. In other words, no tweets will be found for a date older than one week.

This is also clearly writen in the Tweepy method documentation.

Upvotes: 0

Related Questions