Постоянный поток срочных новостей, постов, публикаций, обзоров событий, товаров и услуг в социальных сетях – богатый источник информации, которую при правильном подходе можно эффективно использовать в бизнес-аналитике и в процессе принятия решений.
Twitter предлагает пользователям API-интерфейсы, которые позволяют выполнять поиск по открытым твитам и извлекать их содержимое по ключевым словам или по отдельным пользовательским аккаунтам. В настоящий момент существует три типа API-интерфейсов: Стандартный (бесплатный), Премиум и Бизнес. Они отличаются по ограничениям на доступ к данным, поисковым операторам и технической поддержке от команды Twitter. В большинстве случаев достаточно создать аккаунт разработчика и использовать Стандартный API.
Как именно работает Twitter API?
Предположим, вы хотите собрать все последние твиты, в которых упоминается вкусная еда. Запрос может выглядеть следующим образом:
- вкусная еда – вернет твиты, в которых содержатся оба слова – вкусная и еда, необязательно в таком порядке;
- “вкусная еда”– вернет твиты именно с этой фразой;
- вкусная OR еда – вернет твиты, в которых содержится одно из этих слов;
- #вкуснаяеда – вернет твиты, которые содержат хэштег #вкуснаяеда
Конечно, есть и другие операторы, которые подробно описаны в документации для разработчиков Twitter, и которые позволяют сузить поиск. Некоторые из них доступны только для аккаунтов классов Премиум и Бизнес (премиум-операторы). Twitter API также предусматривает возможность извлекать последние твиты, наиболее популярные, или и те, и другие. В примере, приведенном выше, нас интересовали недавние (последние) твиты.
После того, как вы сформулируете запрос, API отправит его Твиттеру для извлечения твитов, отвечающих условию поиска. В зависимости от типа вашего аккаунта разработчика, API предполагает некоторые ограничения по количеству запросов в единицу времени. Наиболее часто используемый Стандартный API позволяет отправлять 180 запросов каждые 15 минут и использовать архив Твиттера 7-дневной давности. Каждый запрос возвращает 100 твитов, таким образом такой тип аккаунта позволяет извлекать 18000 твитов каждые 15 минут до тех пор, пока не будет исчерпан 7-дневный архив. Если для решения нашей задачи потребуется доступ к твитам, опубликованным за последние 30 дней, или даже к полному архиву Твиттера, который существует с 2006 г., а также если вы захотите расширить охват одного запроса, вам понадобится платный Премиум или Бизнес API аккаунт.
Данные возвращаются в формате JSON, и наряду с текстом самого твита, содержат метаданные о каждой публикации и ее авторе. В связи с этим, для того, чтобы всю эту информацию перевести в табличный формат и/или импортировать в базу данных, вам понадобится JSON-парсер.
Время, которое понадобится для сбора данных, зависит от количества твитов, отвечающих условию запроса, а также от ограничений запроса и временного интервала, предполагаемого вашим типом аккаунта. Вернемся к ранее приведенному примеру. При Стандартном API-аккаунте наш запрос #вкуснаяеда найдет 500 твитов, опубликованных за последние 7 дней. Для того чтобы их извлечь, нам понадобится 5 запросов и несколько секунд. Но в 7-дневном архиве хранится 90000 твитов, отвечающих условию нашего запроса. Чтобы извлечь их, понадобится 900 запросов и пять 15-минутных интервалов (чуть больше часа).
Несмотря на то, что Стандартный API аккаунт позволяет извлекать только те твиты, которые были опубликованы за последние 7 дней, у пользователей есть возможность извлекать данные за более продолжительный период, двигаясь вперед, а не назад. Например, пользователи могут настроить автоматическое создание выборки твитов, публикуемых в течение первого часа каждую неделю. Необходимо понимать, что если это какая-то актуальная и широко обсуждаемая тема, при этом можно упустить некоторые твиты, которые будут опубликованы между интервалами создания выборки. Если тема не очень актуальная, в итоговой таблице могут встречаться повторы, от которых потом придется избавляться.
Одним из главных препятствий для сбора данных из сети Twitter исследователями и компаниями является необходимость владения базовыми навыками программирования для использования API-интерфейса и полученных выходных данных. В связи с этим компания Megaputer создала инструмент для извлечения данных из сети Twitter. Этот инструмент входит в систему PolyAnalyst™. Его удобный графический интерфейс пользователя (GUI) позволяет обращаться к сети Твиттер без необходимости программирования. Пользователям необходимо лишь указать данные их аккаунта, ввести запрос и настроить дополнительные опции поиска, предлагаемые платформой Twitter API (например, язык твитов). PolyAnalyst™ извлечет данные, автоматически выполнит парсинг полученного файла в формате JSON, а затем импортирует данные в виде таблицы, пригодной для дальнейшего анализа. Кроме того, встроенный Планировщик задач позволяет пользователям настроить автоматическое продолжительное извлечение данных в течение нужного промежутка времени и обновление анализируемых в проекте данных.