Интеллектуальный анализ данных Twitter: руководство по анализу больших данных с использованием Python
Опубликовано: 2022-03-11Большие данные повсюду. Период. В процессе ведения успешного бизнеса в наши дни вы, вероятно, столкнетесь с этим, нравится вам это или нет.
Независимо от того, являетесь ли вы бизнесменом, стремящимся идти в ногу со временем, или вундеркиндом, ищущим свой следующий проект, это руководство даст вам краткий обзор того, что такое большие данные. Вы узнаете, как это применимо к вам, и как вы можете быстро приступить к работе с помощью Twitter API и Python.
Что такое большие данные?
Большие данные — это именно то, на что это похоже — много данных. Одна только точка данных не может дать вам много информации. Но терабайты данных в сочетании со сложными математическими моделями и неистовой вычислительной мощностью могут создать идеи, на которые люди не способны. Ценность, которую аналитика больших данных предоставляет бизнесу, неосязаема и каждый день превосходит человеческие возможности.
Первым шагом к анализу больших данных является сбор самих данных. Это известно как «интеллектуальный анализ данных». Данные могут поступать откуда угодно. Большинство предприятий имеют дело с гигабайтами данных о пользователях, продуктах и местоположении. В этом руководстве мы рассмотрим, как мы можем использовать методы интеллектуального анализа данных для сбора данных Twitter, которые могут быть более полезными, чем вы думаете.
Например, предположим, что вы управляете Facebook и хотите использовать данные Messenger, чтобы предоставить информацию о том, как вы можете лучше рекламировать свою аудиторию. Мессенджер имеет 1,2 миллиарда активных пользователей в месяц. В этом случае большие данные — это разговоры между пользователями. Если бы вы индивидуально читали разговоры каждого пользователя, вы могли бы получить хорошее представление о том, что им нравится, и соответственно рекомендовать им продукты. Используя технику машинного обучения, известную как обработка естественного языка (NLP), вы можете делать это в больших масштабах, при этом весь процесс автоматизирован и оставлен на усмотрение машин.
Это лишь один из бесчисленных примеров того, как машинное обучение и аналитика больших данных могут повысить ценность вашей компании.
Почему данные Твиттера?
Твиттер — это золотая жила данных. В отличие от других социальных платформ, твиты почти каждого пользователя полностью общедоступны и доступны для извлечения. Это огромный плюс, если вы пытаетесь получить большой объем данных для анализа. Данные Twitter также довольно специфичны. API Твиттера позволяет вам выполнять сложные запросы, например извлекать все твиты по определенной теме за последние двадцать минут или извлекать неретвитнутые твиты определенного пользователя.
Простым применением этого может быть анализ того, как ваша компания воспринимается широкой публикой. Вы можете собрать последние 2000 твитов, в которых упоминается ваша компания (или любой термин, который вам нравится), и запустить алгоритм анализа настроений.
Мы также можем ориентироваться на пользователей, которые конкретно живут в определенном месте, известном как пространственные данные. Другим применением этого может быть отображение областей на земном шаре, где ваша компания упоминается чаще всего.
Как видите, данные Твиттера могут быть большой дверью в понимание широкой публики и того, как они воспринимают тему. Это, в сочетании с открытостью и щедрым ограничением скорости API Twitter, может дать мощные результаты.
Обзор инструментов
Для этих примеров мы будем использовать Python 2.7. В идеале у вас должна быть IDE для написания этого кода. Я буду использовать PyCharm — Community Edition.
Для подключения к API Twitter мы будем использовать библиотеку Python под названием Tweepy, которую мы установим чуть позже.
Начиная
Аккаунт разработчика Твиттера
Чтобы использовать API Twitter, нам необходимо создать учетную запись разработчика на сайте приложений Twitter.
- Войдите или создайте учетную запись Twitter на странице https://apps.twitter.com/.
- Создайте новое приложение (кнопка вверху справа)
- Заполните страницу создания приложения уникальным именем, именем веб-сайта (используйте веб-сайт-заполнитель, если у вас его нет) и описанием проекта. Примите условия и перейдите на следующую страницу.
- После создания проекта перейдите на вкладку «Ключи и токены доступа». Теперь вы должны увидеть свой потребительский секрет и потребительский ключ.
- Вам также понадобится пара токенов доступа. Прокрутите вниз и запросите эти токены. Страница должна обновиться, и теперь у вас должен быть токен доступа и секрет токена доступа.
Все это понадобится нам позже, поэтому убедитесь, что вы держите эту вкладку открытой.
Установка Твипи
Tweepy — прекрасно поддерживаемый инструмент для доступа к Twitter API. Он поддерживает Python 2.6, 2.7, 3.3, 3.4, 3.5 и 3.6. Есть несколько способов установить Tweepy. Самый простой способ — использовать pip
.
Использование Пипа
Просто введите pip install tweepy
в свой терминал.
Использование GitHub
Вы можете следовать инструкциям в репозитории Tweepy на GitHub. Основные шаги заключаются в следующем:
git clone https://github.com/tweepy/tweepy.git cd tweepy python setup.py install
Там же можно решить любые проблемы с установкой.
Аутентификация
Теперь, когда у нас есть необходимые инструменты, мы можем начать программировать! Базовый уровень каждого приложения, которое мы создадим сегодня, требует использования Tweepy для создания объекта API, с помощью которого мы можем вызывать функции. Однако для создания объекта API мы должны сначала аутентифицировать себя, используя информацию о нашем разработчике.
Во-первых, давайте импортируем Tweepy и добавим нашу собственную информацию для аутентификации.
import tweepy consumer_key = "wXXXXXXXXXXXXXXXXXXXXXXX1" consumer_secret = "qXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXh" access_token = "9XXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXi" access_token_secret = "kXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXT"
Теперь пришло время создать наш объект API.
# Creating the authentication object auth = tweepy.OAuthHandler(consumer_key, consumer_secret) # Setting your access token and secret auth.set_access_token(access_token, access_token_secret) # Creating the API object while passing in auth information api = tweepy.API(auth)
Это будет основой каждого приложения, которое мы создадим, поэтому убедитесь, что вы не удаляете его.
Пример 1: ваша временная шкала
В этом примере мы будем извлекать десять последних твитов из вашей ленты Twitter. Мы сделаем это с помощью функции home_timeline()
объекта API. Затем мы можем сохранить результат в переменной и пройтись по нему, чтобы распечатать результаты.
# Using the API object to get tweets from your timeline, and storing it in a variable called public_tweets public_tweets = api.home_timeline() # foreach through all tweets pulled for tweet in public_tweets: # printing the text stored inside the tweet object print tweet.text
Результат должен выглядеть как набор случайных твитов, за которыми следует URL-адрес самого твита.

Переход по ссылке на твит часто приводит к самому твиту. Переход по ссылке из первого твита даст нам следующий результат:
Обратите внимание: если вы запускаете это через терминал, а не через IDE, например PyCharm, у вас могут возникнуть проблемы с форматированием при попытке распечатать текст твита.
JSON за результатами
В приведенном выше примере мы напечатали текст из каждого твита, используя tweet.text
. Чтобы обратиться к определенным атрибутам каждого объекта твита, мы должны посмотреть на JSON, возвращаемый Twitter API.
Результат, который вы получаете от Twitter API, имеет формат JSON и содержит довольно много информации. Для простоты в этом руководстве основное внимание уделяется атрибуту «текст» каждого твита и информации о твиттере (пользователе, создавшем твит). Для приведенного выше примера вы можете увидеть здесь весь возвращенный объект JSON.
Вот краткий обзор некоторых атрибутов, которые может предложить твит.
Если вы хотите найти дату создания твита, вы должны запросить его с помощью print tweet.created_at
.
Вы также можете видеть, что каждый объект твита содержит информацию о твиттере.
Чтобы получить атрибут «имя» и «местоположение» твитера, вы можете запустить print tweet.user.screen_name
и print tweet.user.location
.
Обратите внимание, что эти атрибуты могут быть чрезвычайно полезны, если ваше приложение зависит от пространственных данных.
Пример 2: Твиты от конкретного пользователя
В этом примере мы просто получим двадцать последних твитов от пользователя по нашему выбору.
Во-первых, мы изучим документацию Tweepy, чтобы увидеть, существует ли подобная функция. Проведя небольшое исследование, мы обнаружили, что user_timeline()
— это то, что нам нужно.
Мы видим, что user_timeline()
имеет некоторые полезные параметры, которые мы можем использовать, в частности id
(идентификатор пользователя) и count
(количество твитов, которые мы хотим получить). Обратите внимание, что мы можем получить только ограниченное количество твитов на запрос из-за ограничений скорости Twitter.
Давайте попробуем извлечь последние двадцать твитов из твиттер-аккаунта @NyTimes.
Мы можем создать переменные для хранения количества твитов, которые мы хотим получить (количество), и пользователя, от которого мы хотим их получить (имя). Затем мы можем вызвать функцию user_timeline с этими двумя параметрами. Ниже приведен обновленный код (обратите внимание, что вы должны были сохранить аутентификацию и создание объекта API в верхней части кода).
# Creating the API object while passing in auth information api = tweepy.API(auth) # The Twitter user who we want to get tweets from name = "nytimes" # Number of tweets to pull tweetCount = 20 # Calling the user_timeline function with our parameters results = api.user_timeline(id=name, count=tweetCount) # foreach through all tweets pulled for tweet in results: # printing the text stored inside the tweet object print tweet.text
Наши результаты должны выглядеть примерно так:
Популярные приложения этого типа данных могут включать:
- Запуск анализа конкретных пользователей и их взаимодействия с миром
- Поиск влиятельных лиц в Твиттере и анализ их тенденций и взаимодействий с подписчиками.
- Мониторинг изменений в подписчиках пользователя
Пример 3. Поиск твитов по ключевому слову
Давайте сделаем последний пример: получение самых последних твитов, содержащих ключевое слово. Это может быть чрезвычайно полезно, если вы хотите отслеживать конкретно упомянутые темы в мире Твиттера или даже видеть, как упоминается ваш бизнес. Допустим, мы хотим посмотреть, как Twitter упоминает Toptal.
После просмотра документации Tweepy функция search()
кажется лучшим инструментом для достижения нашей цели.
Наиболее важным параметром здесь является q
— параметр запроса, который представляет собой ключевое слово, которое мы ищем.
Мы также можем установить параметр языка, чтобы не получать твиты на нежелательном языке. Давайте вернем твиты только на английском («en»).
Теперь мы можем изменить наш код, чтобы отразить изменения, которые мы хотим внести. Сначала мы создаем переменные для хранения наших параметров (запрос и язык), а затем вызываем функцию через объект API. Давайте также напечатаем экранное имя пользователя, создавшего твит, в нашем цикле.
# Creating the API object while passing in auth information api = tweepy.API(auth) # The search term you want to find query = "Toptal" # Language code (follows ISO 639-1 standards) language = "en" # Calling the user_timeline function with our parameters results = api.search(q=query, lang=language) # foreach through all tweets pulled for tweet in results: # printing the text stored inside the tweet object print tweet.user.screen_name,"Tweeted:",tweet.text
Наши результаты должны выглядеть примерно так:
Вот несколько практических способов использования этой информации:
- Создайте пространственный график, где ваша компания упоминается чаще всего в мире.
- Проведите анализ настроений в твитах, чтобы узнать, является ли общее мнение о вашей компании положительным или отрицательным.
- Создайте социальные графики самых популярных пользователей, которые твитят о вашей компании или продукте.
Мы можем затронуть некоторые из этих тем в будущих статьях.
Заключение
API Twitter чрезвычайно полезен в приложениях для интеллектуального анализа данных и может предоставить обширную информацию об общественном мнении. Если вас больше интересуют Twitter API и аналитика больших данных, я рекомендую вам больше узнать о Twitter API, Tweepy и рекомендациях Twitter по ограничению скорости.
Мы рассмотрели только основы доступа и извлечения. API Twitter можно использовать для очень сложных задач с большими данными, включая людей, тренды и социальные графы, которые слишком сложны для понимания человеческим разумом в одиночку.