CoderCastrov logo
CoderCastrov
Парсер Instagram

Использование Python для парсинга данных с Instagram

Использование Python для парсинга данных с Instagram
просмотров
3 мин чтение
#Парсер Instagram
Extracting and processing large volumes of data in a reliable and consistent way from Instagram is not so simple! In fact, people usually end up paying for very expensive APIs, or failing to build something solid.

Если вы работаете в маркетинге, связях с общественностью или как контент-создатель, вы наверняка понимаете, насколько важно иметь данные, основанные на данных, о том, что происходит в основных социальных сетях. Вместе с другими давно существующими платформами, такими как Youtube и Twitter, или восходящими звездами, такими как TikTok, Instagram является одной из самых популярных социальных сетей и является важным источником данных для маркетологов.

Однако, извлекать и обрабатывать большие объемы данных надежным и последовательным способом с Instagram не так просто! Фактически, люди обычно вынуждены платить за очень дорогие API или не могут создать что-то надежное.

В этом блоге мы покажем, как мы можем использовать API Ensemble Data для извлечения данных из Instagram в 3 строки кода и как эти простые API могут открыть бесконечное количество вариантов использования, таких как мониторинг бренда или анализ инфлюенсеров.

Что такое API Ensemble Data?

Ensemble Data предлагает набор API для извлечения данных из всех основных социальных сетей, таких как TikTok, Instagram и Youtube. Вам просто нужно сделать вызов API, и они сделают всю тяжелую работу, парся и извлекая запрошенные данные для вас. Другими словами, это прямой и эффективный способ извлечения данных из разных социальных сетей в масштабе.

Вы можете зарегистрироваться бесплатно на платформе ED, чтобы начать использовать их API бесплатно. Чтобы использовать API, вам просто нужен ваш персональный токен доступа. Вы можете найти его после регистрации в левой колонке, как показано на рисунке ниже:

Token Screenshot

Помните, что для активации токена вам нужно подтвердить свой адрес электронной почты!

Использование библиотеки Python для отправки запроса

После регистрации и получения токена вы можете начать использовать API! Один из способов - напрямую отправлять запросы в ED; в документации есть примеры (на Python) о том, как выполнять вызовы. Кроме того, вы можете использовать библиотеку Python. Она предоставляет более простой и удобный интерфейс для отправки запросов.

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

Сначала вам нужно загрузить и получить доступ к библиотеке локально:

git clone https://github.com/EnsembleData/Instagram-Scraper
cd Instagram-Scraper

Основным компонентом является класс Instagram_I_ED. Он позволяет выполнять все различные вызовы из одного интерфейса. При создании экземпляра передаем аутентификационный токен (который мы получили на предыдущем шаге).

from instagram_interface import Instagram_I_ED
TOKEN = "ВСТАВЬТЕ ВАШ ТОКЕН СЮДА"
ig = Instagram_I_ED(token_ED_API=TOKEN)

Теперь мы готовы выполнить вызов! Теперь мы вызовем метод, передавая входные данные - имя пользователя для поиска (в данном случае _cristiano) и любые другие (обязательные или необязательные) параметры, в данном случае глубину (чтобы контролировать количество получаемых сообщений) и самую старую отметку времени (unix):

res, success = ig.get_user_posts_from_username(username="cristiano", depth=2, oldest_timestamp=1611308425 )

Так просто! Мы только что получили все доступные данные для последних 20 сообщений пользователя "cristiano". Допустим, мы также хотели получить более подробную информацию о пользователе. Например, является ли он проверенным, имеет ли бизнес-аккаунт или профессиональный профиль. Мы можем сделать это очень легко с использованием конечной точки detailed-info:

# Через библиотеку Python
res, success = ig.get_user_detailed_info( username="cristiano" )

# Напрямую отправляя запрос
import requests
root = "https://www.ensembledata.com/apis"
endpoint = "/instagram/user/detailed-info"
params = {
  "username": "cristiano",
  "token": TOKEN}

res = requests.get(root+endpoint, params=params)

Если вы хотите компактный код этого примера, вы можете найти его в репозитории GitHub repository.

Кроме того, если вы хотите извлекать данные не только из Instagram, но и из всех основных социальных сетей, вы можете использовать основную ED библиотеку, которая объединяет все различные API вместе. Методы, присутствующие в двух репозиториях, идентичны, поэтому их можно использовать взаимозаменяемо.

Вот и все на сегодня!

Если у вас есть вопросы или вы не уверены в чем-либо, свяжитесь с нами или напишите мне на andrea[at]ensembledata.com