CoderCastrov logo
CoderCastrov
Питон

Парсинг хэштегов и разговоров в твиттере с использованием Twitter API

Парсинг хэштегов и разговоров в твиттере с использованием Twitter API
просмотров
4 мин чтение
#Питон
Table Of Content
    Twitter logo and Python Logo

    Содержание:

    1. Введение
    2. Создание учетной записи разработчика Twitter API
    3. Парсинг хэштегов
    4. Парсинг разговоров в твиттере

    Введение: В большинстве случаев, когда кто-то думает о данных и их парсинге, твиттер, скорее всего, всегда приходит на ум. Если вы читаете эту статью, я уверен, что вам не нужно, чтобы я рассказывал, насколько твиттер - это огромное сокровище в плане данных и так далее. Я также не буду нагружать вас статистикой (хотя она очень интересна, но сегодня не об этом) или цитатами от ведущих представителей отрасли. Давайте сделаем шаг вперед и посмотрим, о чем все это.

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

    Создание учетной записи разработчика Twitter API:

    Для того чтобы обратиться к Twitter API, сначала нужно создать учетную запись и дождаться ее одобрения. По моему личному опыту, это может занять некоторое время и даже потребовать отправки нескольких электронных писем туда-сюда, пока одобрение не придет, поэтому, если вы ожидаете, что это произойдет за одну ночь или даже мгновенно, то вы неудачно. Однако, имея это в виду, пожалуйста, не чувствуйте себя неохотно, если вы знаете, что вы просите Twitter API сделать и следуйте четким инструкциям, все должно быть хорошо. Более подробную информацию можно найти здесь. После завершения всех этих шагов, вам понадобятся три вещи: Bearer Token, Access Token и Access Secret. Убедитесь, что у вас есть эти три значения.

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

    Парсинг хэштегов: На этом этапе мы должны быть готовы использовать Twitter API. Сначала мы импортируем необходимые библиотеки. Мы импортируем библиотеку запросов Python, которая позволит нам выполнять GET-запросы, а также библиотеку JSON.

    Затем мы сохраняем токен доступа (который вам уже был назначен после успешного создания учетной записи разработчика). Нам понадобится это для аутентификации наших запросов.

    Продолжая дальше, мы будем использовать URL-адрес, необходимый для доступа к Twitter API. Обратите внимание, что после третьего символа "/" стоит число 2, это указывает, что мы используем v2. Этот URL-адрес также известен как запрос на последний поиск. Как вы можете видеть из фрагмента кода выше, после URL-адреса есть параметр с именем "query", в который мы вставим наш хэштег. В целях этого упражнения я выбрал один из наиболее популярных хэштегов на день написания этой статьи. Давайте назовем его "twitter_params". Вы можете заменить его на другой хэштег в своей реализации, получить его из аргумента, если это часть приложения, или просто оставить его как есть. Затем мы добавим хэштег к основному телу URL для окончательной версии.

    Теперь, когда у нас есть URL, который мы отправляем в Twitter API, теперь пришло время запустить его! Теперь мы создадим переменную headers, чтобы добавить ее в заголовок запроса. Далее, на строке 7 идет запрос, параметры которого понятны, но я все равно объясню. Первый - это GET-запрос, второй - это URL, и, наконец, заголовки. Наконец, вы преобразуете ответ в тело JSON, чтобы сделать его читаемым для человека.

    Hashtag response body in JSON

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

    Парсинг разговоров в твиттере: Ранее мы смогли спарсить хэштег из Twitter, выполнив запрос на последний поиск с использованием хэштега в качестве параметра. В этом разделе мы попытаемся спарсить разговор в твите - другими словами, получить все ответы на определенный твит.

    Если вы поняли предыдущий раздел, этот будет очень похож. URL остается тем же, но меняется параметр. Запрос в этом случае - "conversation_id", куда мы добавляем идентификатор твита, который находится в URL.

    Например, вот ссылка на недавно опубликованный твит:

    Что нам нужно из URL - это большое число в конце.

    Кроме изменения параметров, следуют те же шаги, что и раньше, и результат должен выглядеть примерно так:

    Tweet conversation response body in JSON