Как получать твиты в режиме реального времени с временной шкалы пользователя, используя Tweepy - PullRequest
0 голосов
/ 21 октября 2019

Я пытаюсь получить твиты с временной шкалы пользователя в режиме реального времени. Затем я хочу провести анализ этих твитов. Прочитав документы, похоже, мне нужно будет использовать tweepy.Stream для этого варианта использования. Я сделал следующее:

stream.filter(follow='25073877')

Но API фильтра Twitter гласит следующее:

  • Твиты, созданные пользователем.
  • Твиты, которые ретвитуются пользователем.
  • Ответы на любой твит, созданный пользователем.
  • Ретвиты любого твита, созданного пользователем.
  • Ручные ответы, созданные без нажатия кнопки ответа (например, «@twitterapi I согласен»).

Кажется, что это вернет огромный объем твитов, которые не актуальныв моем случае использования. Нужно ли использовать этот подход, а затем фильтровать по псевдониму, чтобы реальный пользователь получал только твиты? Это не совсем правильно.

Альтернативой является класс api.user_timeline, но это не потоковый API. Поэтому я использую этот API и бью его каждую секунду? Кажется, я не могу найти подходящих примеров того, как лучше всего выполнить мой сценарий использования.

1 Ответ

0 голосов
/ 21 октября 2019

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

Я бы не рекомендовал второй подход, поскольку вы получите еще большую суммуиз твитов, так как вам придется отфильтровать твиты, которые вы уже получили в предыдущих запросах, плюс вы можете превысить лимиты запросов API, если вы не рассчитали время правильно.

Это сигнатура функции фильтра:

    def filter(self, follow=None, track=None, is_async=False, locations=None,
               stall_warnings=False, languages=None, encoding='utf8', filter_level=None)

Что соответствует этому запросу API Twitter .

А здесь объяснение параметров .

...