Я недавно попробовал GetOldTweets3 (https://pypi.org/project/GetOldTweets3/), чтобы загрузить твиты, содержащие слово "iPhone". Код можно увидеть ниже, где он получает все твиты, а затем записывает их в CSV.
def get_tweets(keyword, start_date, end_date, max_tweets):
start_time = time.time()
tweetCriteria = got.manager.TweetCriteria().setQuerySearch(keyword).setSince(start_date).setUntil(end_date).setMaxTweets(max_tweets).setLang("en")
# List of object get stored in "tweets" variable
tweets = got.manager.TweetManager.getTweets(tweetCriteria)
elapsed_time = time.time() - start_time
print(elapsed_time)
with open(url + "/twitter_scrape_" + start_date + ".csv", "w", encoding = "utf-8") as csvfile:
fieldnames = ["Date", "Username", "Tweet", "No. of Retweets"]
writer = csv.DictWriter(csvfile, fieldnames = fieldnames, lineterminator = "\n")
writer.writeheader()
for tweet in tweets:
writer.writerow({"Date": tweet.date,
"Username": str(tweet.username),
"Tweet": str(tweet.text),
"No. of Retweets": str(tweet.retweets)})
print("Data is stored in: " + url)
get_tweets("iPhone", "2013-09-10", "2013-09-11", 10000)
Однако, это время (в секундах), когда я пытаюсь загрузить твиты.
10 твитов: ~ 2 секунды | 1000 твитов: ~ 126 секунд | 10 000 твитов: ~ 1400 секунд
Я пытаюсь загрузить дневные твиты, связанные с ключевым словом. Есть ли способ: 1) Для меня, чтобы проверить, в каком прогрессе я нахожусь, так как приведенный выше код будет просто загружаться, но я не смог проверить статус, и 2) Есть ли более быстрый способ получить данные помимо использования GetOldTweets3 ?
Спасибо заранее за помощь!