Приложение для получения данных из Instagram на C#
Для чего может потребоваться получать данные из социальных сетей? Эти данные могут быть полезны маркетологам и специалистам по продвижению, для анализа и сбора статистики. Да, конечно существуют специальные сервисы (например, 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 миллионов подписчиков).
На самом деле у данного подхода нет предела, и все ограничения зависят от вашего аппаратного обеспечения, канала связи и количества прокси-серверов.
Есть вопрос? Напишите в комментариях!