Приложение для получения данных из Instagram на C# | OTUS
⚡ Подписка на курсы OTUS!
Интенсивная прокачка навыков для IT-специалистов!
Подробнее

Курсы

Программирование
Team Lead Архитектура и шаблоны проектирования Разработчик IoT C# Developer. Professional PostgreSQL Подготовка к сертификации Oracle Java Programmer (OCAJP) C# ASP.NET Core разработчик
-5%
Kotlin Backend Developer
-8%
iOS Developer. Professional
-8%
Symfony Framework Unity Game Developer. Basic JavaScript Developer. Professional Android Developer. Basic JavaScript Developer. Basic Java Developer. Professional Highload Architect Reverse-Engineering. Professional Java Developer. Basic PHP Developer. Professional Алгоритмы и структуры данных Framework Laravel Cloud Solution Architecture Vue.js разработчик Интенсив «Оптимизация в Java» Супер - интенсив по паттернам проектирования Супер - интенсив по Kubernetes Супер-интенсив "Tarantool" PHP Developer. Basic
Инфраструктура
Мониторинг и логирование: Zabbix, Prometheus, ELK Дизайн сетей ЦОД Разработчик IoT PostgreSQL Экспресс-курс "Версионирование и командная работа с помощью Git"
-30%
Экспресс-курс «Введение в непрерывную поставку на базе Docker» Базы данных Reverse-Engineering. Professional Administrator Linux. Professional Network engineer Cloud Solution Architecture Внедрение и работа в DevSecOps Супер-практикум по работе с протоколом BGP Супер - интенсив по паттернам проектирования Супер - интенсив по Kubernetes Супер-интенсив «СУБД в высоконагруженных системах» Супер-интенсив "Tarantool" Network engineer. Basic
Корпоративные курсы
Безопасность веб-приложений IT-Recruiter Дизайн сетей ЦОД Компьютерное зрение Разработчик IoT Вебинар CERTIPORT Machine Learning. Professional
-6%
NoSQL Пентест. Практика тестирования на проникновение Java QA Engineer. Базовый курс Руководитель поддержки пользователей в IT
-8%
SRE практики и инструменты Cloud Solution Architecture Внедрение и работа в DevSecOps Супер-практикум по работе с протоколом BGP Infrastructure as a code Супер-практикум по использованию и настройке GIT Промышленный ML на больших данных Экспресс-курс «CI/CD или Непрерывная поставка с Docker и Kubernetes» BPMN: Моделирование бизнес-процессов Основы Windows Server
Специализации Курсы в разработке Подготовительные курсы Подписка
+7 499 938-92-02

Приложение для получения данных из Instagram на C#

С__Deep_9-5020-ec1525.10_site.png

Для чего может потребоваться получать данные из социальных сетей? Эти данные могут быть полезны маркетологам и специалистам по продвижению, для анализа и сбора статистики. Да, конечно существуют специальные сервисы (например, livedune.ru), но также существует и множество задач, которые нельзя решить в облаке.

Например, если вам необходимо быстро получить данные по большому количеству подписчиков очень крупного блогера. А облачные сервисы позволяют получить информацию не более чем о 10 тыс. пользователей.

Почему так?

Всё дело в ресурсах сервера и скорости работы базы данных, в количестве ядер на сервере и объёме оперативной памяти. И ещё надо всегда помнить, что не вы один пользуетесь этим сервером, пользователей у таких сервисов много.

Почему лучше написать своё приложение?

Потому что вы можете использовать все ресурсы, которые у вас есть. К тому же вы можете использовать многопоточность: как правило веб-сервисы разрабатываются на PHP или Node.JS, а это однопоточные технологии.

Для работы с NET Core вам потребуется Visual Studio 2017 (подойдёт версия Community). Если у вас ОС Windows или другая ОС, например, Linux или MacOS, можно использовать Visual Studio Code.

Также для обеспечения многопоточной работы нам потребуется несколько анонимных прокси-серверов, допустим мы имеем 10. Для работы с прокси-сервером необходимо реализовать класс WebProxy, использующий интерфейс IWebProxy, а также класс ProxyClient, который будет выполнять работу по сбору данных.

В данном классе необходимо реализовать асинхронные методы для получение данных из социальной сети, для тестов и экспериментов можно использовать известную ссылку:

http://i.instagram.com/api/v1/users/{pk}/info/

где pk – уникальный идентификатор пользователя.

Используя такой набор классов, можно создать N-потоков по сбору информации из социальной сети (в зависимости от того сколько у вас есть прокси-серверов), что позволит получать данные крупных блогеров (1-15 миллионов подписчиков).

На самом деле у данного подхода нет предела, и все ограничения зависят от вашего аппаратного обеспечения, канала связи и количества прокси-серверов.

Есть вопрос? Напишите в комментариях!

Не пропустите новые полезные статьи!

Спасибо за подписку!

Мы отправили вам письмо для подтверждения вашего email.
С уважением, OTUS!

Автор
1 комментарий
Комментарий удален
Для комментирования необходимо авторизоваться