Добрый день. Была задача спарсить всех подписчиков определенных групп в инсте.
Сразу думал взять коммерческие продукты, но там или ограничения по количеству подписчиков либо безумные цены.
Далее рассматривал реализации браузерных вариантов. Они оказались не айс и имели такие же ограничения по объему подписчиков, да и повторить их в виде браузерного плагина я не смог.
Потом пытался написать сам парсер на selenium. Но есть проблема. Если открыть группу и скролить ее подписчиков - то нужно делать паузу между скроллингом, что бы браузер успевал отрисовывать данные. Спустя минут пятнадцать работы инстаграмм блочит меня, а я даже до 10% не дошел. Разбить это на несколько этапов или же на разные аккаунты не удалось. Список все-равно начинается с одних и тех же и долистать до нужного в списке не получается.
Я даже рассматривал вариант не парсить саму страницу а выдергивать данные из json который подгружается по мере скроллинга. Но проблема в том что если его запросить в самом браузере - то он не отдается. Нужно делать запрос именно в контексте открытой страницы. Такое ощущение что с ним где-то работает js на уровне браузера и контролирует что запрос был отправлен именно с открытой страницы инсты. Ну или я не понял как именно оно контролируется.
Подскажите как сделать задуманное? Или хотя бы дайте наводку в какую сторону копать?
Вот написанный мой код. Работает на небольших группах до пары тысяч подписчиков. Но на бигах с миллионами подписчиков оно не воркает.
Последнее редактирование: 18.01.2024
Сразу думал взять коммерческие продукты, но там или ограничения по количеству подписчиков либо безумные цены.
Далее рассматривал реализации браузерных вариантов. Они оказались не айс и имели такие же ограничения по объему подписчиков, да и повторить их в виде браузерного плагина я не смог.
Потом пытался написать сам парсер на selenium. Но есть проблема. Если открыть группу и скролить ее подписчиков - то нужно делать паузу между скроллингом, что бы браузер успевал отрисовывать данные. Спустя минут пятнадцать работы инстаграмм блочит меня, а я даже до 10% не дошел. Разбить это на несколько этапов или же на разные аккаунты не удалось. Список все-равно начинается с одних и тех же и долистать до нужного в списке не получается.
Я даже рассматривал вариант не парсить саму страницу а выдергивать данные из json который подгружается по мере скроллинга. Но проблема в том что если его запросить в самом браузере - то он не отдается. Нужно делать запрос именно в контексте открытой страницы. Такое ощущение что с ним где-то работает js на уровне браузера и контролирует что запрос был отправлен именно с открытой страницы инсты. Ну или я не понял как именно оно контролируется.
Подскажите как сделать задуманное? Или хотя бы дайте наводку в какую сторону копать?
Вот написанный мой код. Работает на небольших группах до пары тысяч подписчиков. Но на бигах с миллионами подписчиков оно не воркает.
Последнее редактирование: 18.01.2024