Понимание всего разговора вокруг твита с помощью API Twitter v2

API Twitter позволяет разработчикам и исследователям получать данные Twitter программным путем. Исследователи, заинтересованные в изучении разговоров вокруг какой-либо темы, часто используют конечные точки поиска для получения твитов по теме. Каждый из этих твитов, возвращенных из конечных точек поиска, может иметь важные последующие разговоры, происходящие в ответах на них и в цитирующих их твитах, которые могут предоставить дополнительную информацию для лучшего понимания всего разговора. В этом руководстве вы узнаете, как получить весь разговор для твита.

Шаг первый: Поиск твитов по теме

На первом этапе вы можете искать твиты по теме, содержащие определенные ключевые слова и отвечающие определенным критериям, используя конечные точки поиска. В настоящее время в Twitter API v2 доступны 2 конечные точки поиска:

  • Недавний поиск, доступный всем разработчикам и выдающий Твиты за последние 7 дней.
  • Поиск по полному архиву, который в настоящее время доступен только для академических исследователей и предоставляет твиты из всего архива публичных твитов.

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

По умолчанию на один запрос выдается 10 твитов (идентификатор твита и текст твита). Используя параметр max_results, вы можете получить до:

  • 100 твитов для конечных точек недавнего поиска и поиска твитов по цитатам
  • 500 твитов для конечной точки поиска по полному архиву.

Если вам нужны дополнительные твиты, вы можете использовать пагинацию с помощью параметра next_token.

Ниже приведен пример поиска твитов из аккаунта TwitterDev с помощью конечной точки поиска последних твитов на языке Python с использованием пакета Tweepy.

Примечание: Сначала вам необходимо зарегистрироваться в аккаунте разработчика и получить токен на предъявителя, чтобы использовать его в приведенных ниже примерах кода. Чтобы получить токен на предъявителя, выполните следующие шаги в этом руководстве. Кроме того, вам необходимо установить пакет Tweepy в Python, чтобы запустить приведенный ниже пример кода. Для установки Tweepy следуйте инструкциям в этом руководстве.

import tweepy

client = tweepy.Client(bearer_token='REPLACE_ME')

# Replace with your own search query
query = 'from:TwitterDev -is:retweet'

# Replace the limit=1000 with the maximum number of Tweets you want
for tweet in tweepy.Paginator(client.search_recent_tweets, query=query,
                              tweet_fields=['context_annotations', 'created_at'], max_results=100).flatten(limit=1000):
    print(tweet.id)

Вход в полноэкранный режим Выйдите из полноэкранного режима

Как только вы получите твиты по выбранной вами теме, для каждого твита вы сможете получить все ответы на него.

Шаг 2: Для твита получить все ответы на него

Вы можете получить все ответы на твит, используя параметр conversation_id, доступный в конечных точках поиска. Значением параметра conversation_id является идентификатор твита. В примере ниже показано, как получить все ответы на твит с идентификатором 1503863303709286407.

import tweepy

client = tweepy.Client(bearer_token='REPLACE_ME')

# Replace with your own search query
query = 'conversation_id:1503863303709286407 -is:retweet'

# Replace the limit=1000 with the maximum number of Tweets you want
for tweet in tweepy.Paginator(client.search_recent_tweets, query=query,
                              tweet_fields=['context_annotations', 'created_at'], max_results=100).flatten(limit=1000):
    print(tweet.id)

Вход в полноэкранный режим Выйти из полноэкранного режима

Шаг 3: Для твита получите все твиты с цитатами

Чтобы получить цитаты твитов для твита, вы можете использовать конечную точку поиска цитат твитов. Вы можете передать ему идентификатор твита и установить параметр исключения на retweet. В результате вы получите все оригинальные цитатные твиты твита. В примере ниже показано, как получить все цитатные твиты для твита с идентификатором 1503863303709286407.

import tweepy

client = tweepy.Client(bearer_token='REPLACE_ME')

# Replace the limit=1000 with the maximum number of Tweets you want
for tweet in tweepy.Paginator(client.get_quote_tweets, id=1503863303709286407, max_results=100,
                              exclude='retweets').flatten(limit=1000):
    print(tweet.id)

Вход в полноэкранный режим Выйти из полноэкранного режима

Вот и все. Теперь у вас есть вся беседа для твита, включая все ответы и цитаты твитов. Конечные точки поиска conversation_id и quote Tweets облегчают разработчикам и исследователям понимание всего разговора вокруг твита. Если у вас есть вопросы или замечания по этому руководству, пожалуйста, свяжитесь со мной в Twitter.

Ресурсы

  • Конечная точка поиска цитат в твитах
  • Конечные точки поиска в API Twitter v2
  • Документация по Tweepy

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