Система получения данных из Instagram

Цена договорная
26 сентября 2021, 22:25 • 4 отклика • 64 просмотра
Необходимо реализовать систему получения информации из Instagram.

Система должна быть многопоточной и выдерживать большое количество обращений.
Планируемое число обращений в сутки – 2-3 млн, поэтому будут необходимы эксперименты с прокси/аккаунтами.

Способы реализации:
1. https://github.com/adw0rd/instagrapi – приватный неофициальный API Instagram на основе мобильного приложения, написал на Python. Через этот софт возможна авторизация через аккаунты Instagram для более глубокого парсинга без ограничений. Предпочтительный способ.
2. https://zenscrape.com или подобные сервисы – парсинг страниц без авторизации в Instagram. Запасной способ, который изначально должен быть реализован, чтобы при неудачном запросе через приватный API мы могли делать второй запрос через сторонний сервис парсинга.

По возможности получать информацию без авторизации. Если будет необходима авторизация – в системе необходима выгрузка аккаунтов в формате "логин:пароль:техданные" и работа через эти аккаунты (автореги, которые мы будем покупать у сторонних поставщиков и выгружать в нашу систему).

Поддержка различных прокси: обычные http(s)/socks, мультипрокси, мобильные.
Система мониторинга работы: логгирование, количество запросов, успешные, ошибочные, максимально детализировано.

Возможность обращаться к серверу по API, чтобы получать ответы в том формате, как сейчас устроена работа внутри основного сайта. К примеру, получаем список лайков Инстаграм: https://domain.com/api/getLikes?platform=instagram&link=ссылка на публикацию. И получаем ответ JSON.

Необходимо заложить в логику/структуру возможность добавления и других соцсетей. Подобный функционал в будущем необходим будет и для TikTok.

Необходимо получать:
1. Информацию о профиле: список публикаций, список подписчиков, список подписок, счетчики (публикаций, подписчиков, подписок), список историй и их длительность, основную информацию о профиле.
2. Информацию о публикации: список лайкнувших, список комментариев, счетчики (лайков, комментариев), длительность видео (если это видео), основную информацию о публикации.

Итого: первая часть задачи – реализация функционала парсинга, вторая – тестирование и адаптация под большое число запросов, эксперименты с прокси для безотказной работы системы.

При успешной реализации задачи возможно долгосрочное сотрудничество в рамках этого и других проектов.