Получить местоположение конкретных твитов из Twitter с помощью Tweepy

Я пытаюсь получить твиты из определенного места с помощью Tweepy, но я получаю эту ошибку при запуске кода

raise TweepError("Wrong number of locations points, "
tweepy.error.TweepError: Wrong number of locations points, it has to be a multiple of 4

в моем коде я пытаюсь получить твиты из Нью-Йорка с координатами местоположения для Нью-Йорка. Как я могу получить твиты из Нью-Йорка в одиночку? Я предполагаю использовать диапазон координат, скажем, между x,y и y, z. Как мне это сделать?

вот мой код:

class StdOutListener(StreamListener):
    """ A listener handles tweets are the received from the stream.
    This is a basic listener that just prints received tweets to stdout.
    """
    def on_data(self, data):
        try:
            print(data)
            saveFile = open('newtweets.csv', 'a')
            saveFile.write(data)
            saveFile.write('/n').encode("utf-8")
            saveFile.close()
            return True
        except BaseException:
            print ('failed ondata')
            time.sleep(5)

    def on_error(self, status):
        print(status.encode("utf-8"))

if __name__ == '__main__':
    l = StdOutListener()
    auth = OAuthHandler(consumer_key, consumer_secret)
    auth.set_access_token(access_token, access_token_secret)
    #ASK FOR KEYWORD TO COLLECT DATA
    user_keyword=input("What keyword do you want to mine?")
    stream = Stream(auth, l)
    stream.filter(locations=[40.7127,74.0059], track=[user_keyword])

1 ответов


для этого нужны 4 координаты. Нью-Йорк, например:

stream.filter(locations=[-74.1687,40.5722,-73.8062,40.9467])

здесьэто первый результат google сайта, который позволяет вам рисовать ограничительные рамки. Выберите формат CSV в левом нижнем углу страницы.

важно отметить, как указано в этом в должности, вы не можете фильтровать по местоположению и ключевому слову.