Получите огромное количество твитов по местоположению - PullRequest
0 голосов
/ 09 марта 2020

Я хочу получить все твиты с указанием 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 твитов Спасибо за вашу помощь

...