Я хочу получить все твиты с указанием c топи c, который твитнул из Нью-Йорка C. У меня есть учетные данные Twitter, и мой Python код для использования API Twitter выглядит следующим образом:
import tweepy
import numpy as np
import pandas as pd
auth = tweepy.OAuthHandler("......", ".......")
auth.set_access_token("........", "........")
api = tweepy.API(auth)
df = pd.DataFrame(columns = ['Tweets', 'Date of Tweet', 'Retweet Count', 'User Location', 'User Registration Date'])
def stream():
i = 0
for tweet in tweepy.Cursor(api.search, q='climatechange', count=100000, lang='en', tweet_mode='extended', since='2020-02-2', until='2020-02-25',geocode='43.17305,-77.62479,100km').items():
print(i, end='\r')
df.loc[i, 'Tweets'] = tweet.full_text
df.loc[i, 'Date of Tweet'] = tweet.created_at
df.loc[i, 'Retweet Count'] = tweet.retweet_count
df.loc[i, 'User Location'] = tweet.user.location
df.loc[i, 'User Registration Date'] = tweet.user.created_at
df.to_csv('GeoTweets1.csv')
i+=1
if i == 10000:
break
else:
pass
stream()
df.info()
Вопросы: 1- Я хочу получить метаданные. Я имею в виду большие данные твитов столько, сколько я могу. мы знаем, что каждые 15 минут мы можем запросить 180 ключевых слов и по каждому запросу мы можем получить 100 твитов, что означает 18000 твитов. Как я могу перебрать код, который он дает мне 18K твитов для определенного ключевого слова c, и автоматически повторять его каждые 15 минут? Например, чтобы получать твиты из Нью-Йорка C об изменении климата, я хочу непрерывно запускать этот код в течение 10 часов, что равняется 40 из 15 минут, что означает, что я могу получить твиты 720К.
2 - У меня также есть проблема, чтобы получить твиты в зависимости от местоположения. Когда я запускаю приведенный выше код и запрашиваю твиты для ключевого слова, такого как климатические изменения, это дает мне 100 твитов, но для гео-запроса в Нью-Йорке - меньше. например, для геокода = '43,17305, -77,62479,32 км он дает мне 22 твита, а для геокода =' 43,17305, -77,62479,100 км - 12 твитов. Почему для поиска по гео это не дает мне 100 твитов Спасибо за вашу помощь