Spark Streaming с использованием Tweepy

Я пытаюсь передавать данные из твиттера, используя библиотеку python Tweepy. Я настроил рабочую среду, погуглил об этом, но не понимаю, как все работает. Я хочу использовать потоковую передачу искры (DStream — пакетная обработка) с python (tweepy). Я прошел по крайней мере следующие ссылки:

Следующий tweepy код работает нормально для меня:

import tweepy

consumer_key = ''
consumer_secret = ''
access_token = ''
access_secret = ''

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)
api = tweepy.API(auth)

politicsTweets = tweepy.Cursor(api.search, q='#GONAWAZGO').items(100)

for tweet in politicsTweets:
    print tweet.created_at, tweet.text, tweet.lang

но он не использует потоковую передачу искры. Как мне обновить вышеупомянутый код, чтобы использовать Spark Streaming? Я не понимаю, зачем мне два отдельных файла? В целом я пытаюсь сделать следующее:

  1. Получите 10 лучших хэштегов с 1 мая 2017 года. (Функция поиска Tweepy принимает параметр «since_id», но не знает, как его использовать [http://docs.tweepy.org/en/latest/api.html#help-methods ]?)
  2. Подсчитайте, сколько раз #GONAWAZGO было найдено с 11 мая 2013 года.
  3. Посчитайте, сколько #gonawazgo совершили люди за пределами Пакистана. (Без каких-либо ограничений по дате метод курсора Tweepy принимает геокод, но мне нужны твиты из мест, отличных от предоставленного геокода.)
  4. Следите за тенденцией о выборах во Франции в Твиттере.
  5. Найдите самые последние твиты, сделанные аккаунтом [https://twitter.com/imrankhanpti ]. (Метод поиска Tweepy принимает идентификатор пользователя, как я могу это получить?)

Прежде всего, я немного запутался в том, когда использовать Twitter REST/Streaming API. Я думаю, что для 1-й и 2-й точки следует использовать REST API, поскольку мы обрабатываем прошлые данные до настоящего времени, а для остальных следует использовать Streaming API.


person Ahmad Ahsan    schedule 17.05.2017    source источник


Ответы (1)


API поиска Twitter имеет ограничение в 7 дней. Это означает, что вы не можете получить данные старше 7 дней. Вот ссылка на документацию по API поиска Twitter. Взгляните на описание, указанное для параметра «до»:

https://developer.twitter.com/en/docs/tweets/search/api-reference/get-search-tweets.html

Надеюсь, это поможет!

person harsh pamnani    schedule 26.02.2019