Получение твитов COVID-19 с помощью API Twitter v2

В апреле 2020 года Twitter запустил конечную точку потока COVID-19, которая позволила квалифицированным разработчикам и исследователям изучать общественные разговоры вокруг COVID в режиме реального времени. Эти данные можно получить с помощью конечной точки filtered stream в Twitter API v2. В этом руководстве я покажу вам, как получить твиты, связанные с COVID-19, с помощью конечной точки filtered stream в Python.

Примечание: Для того чтобы использовать Twitter API v2, необходимо подать заявку на получение учетной записи разработчика. Для этого просто посетите сайт t.co/signup и зарегистрируйтесь для получения доступа. Получив доступ к Twitter API v2, вы можете подключить приложение к своему проекту и получить токен на предъявителя, который понадобится для подключения к Twitter API v2, чтобы получать твиты.

Конечная точка filtered stream позволяет вам фильтровать твиты в режиме реального времени на основе заданных вами фильтров. В нашем случае нам нужны все твиты по теме COVID-19. Для этого мы воспользуемся аннотацией твитов COVID-19. Аннотации твитов предоставляют контекстную информацию о твитах. Поэтому, если мы хотим отфильтровать все твиты о COVID-19, вместо фильтра типа COVID OR COVID-19 OR COVID19 и т.д. мы можем использовать в нашем фильтре оператор контекста и значение аннотации твита COVID-19, которое равно 123.1220701888179359745. Таким образом, наш поисковый запрос или фильтр будет context:123.1220701888179359745. Это даст нам все твиты о COVID-19. Пример поисковых запросов, использующих эту аннотацию, можно найти здесь.

Для работы с Twitter API v2 в Python мы будем использовать пакет Tweepy. Чтобы установить его, выполните в терминале следующие действия:

pip3 install tweepy
Войти в полноэкранный режим Выйти из полноэкранного режима

После установки пакета вы можете запустить следующий скрипт. Замените BEARER_TOKEN своим собственным токеном.

import tweepy

class IDPrinter(tweepy.StreamingClient):

    # This will print the Tweet ID and Tweet text for each Tweet
    def on_tweet(self, tweet):
        print(tweet.id)
        print(tweet.text)

# Replace with your own bearer token below
printer = IDPrinter('BEARER_TOKEN')
# This is where we set our filter rule
printer.add_rules(tweepy.StreamRule("context:123.1220701888179359745"))
printer.filter()
Вход в полноэкранный режим Выйти из полноэкранного режима

Чтобы узнать о распространенных вопросах, связанных с Tweet Annotations, ознакомьтесь с нашим разделом FAQ.

Если у вас возникли дополнительные вопросы, не стесняйтесь написать мне в Twitter

Оцените статью
devanswers.ru
Добавить комментарий