Парсинг Instagram (1 попытка)
-
Добрый день, сегодня попробовал парсить Instagram подписчиков через "начать цикл", зашел в профиль, сделал расширение 375х812 итоговый результат: 1739 логинов
Как это работает?
Как я понял окно грузится постепенно по этой причине я поставил максимальную задержку, что и помогло увеличить количество логинов, однако есть аккаунты с 2к+ подписчиками.В чем проблема?
Instagram ограничивает возможность прогрузки, ибо после данной процедуры (цикла) при перезаходит в подписчиков не отображает совсем, даже вне BASТак же Instagram ставит пользователей последовательно (по подпискам), как дойти до тех кто выше тех 1739 человек хороший вопрос.
Подкиньте идей если таковые есть, возможно как то сделать другим вариантом, буду рад любым замечанием, заранее спасибо.
-
@mmaxsmile said in Парсинг Instagram (1 попытка):
Добрый день, сегодня попробовал парсить Instagram подписчиков через "начать цикл", зашел в профиль, сделал расширение 375х812 итоговый результат: 1739 логинов
Как это работает?
Как я понял окно грузится постепенно по этой причине я поставил максимальную задержку, что и помогло увеличить количество логинов, однако есть аккаунты с 2к+ подписчиками.В чем проблема?
Instagram ограничивает возможность прогрузки, ибо после данной процедуры (цикла) при перезаходит в подписчиков не отображает совсем, даже вне BASТак же Instagram ставит пользователей последовательно (по подпискам), как дойти до тех кто выше тех 1739 человек хороший вопрос.
Подкиньте идей если таковые есть, возможно как то сделать другим вариантом, буду рад любым замечанием, заранее спасибо.
Не уверен на счёт именно инсты, но это обычное явление в браузерных сайтах, когда подгружаются элементы по мере прокрутки. Так же для производительности прибегают к такой хитрости, что одновременно показывается определённое количество элементов, а те, элементы, которых пользователь прокрутил, удаляются.
Попробуйте прокрутить до конца список. Так же есть вероятность, что у вновь подгруженных элементов может быть другой селектор.
-
@mmaxsmile Никто не парсит такое через браузер, парсят с помощью запросов.
-
@Fox увы через ПК версию это гиблое дело, по этой причине я открыл мобильную (сделал расширение 375х812), однако прогружает там как я и писал, все и с каждой секундой список становится больше (BAS), и элементы не исчезают, а доходя до лимита Instagram просто перестает отображать подписчиков на некоторое время.
@UserTrue увы знаний сделать такое на запросах нет, не мог бы сделать пример? или это только платно под заказ?
-
@mmaxsmile said in Парсинг Instagram (1 попытка):
@Fox увы через ПК версию это гиблое дело, по этой причине я открыл мобильную (сделал расширение 375х812), однако прогружает там как я и писал, все и с каждой секундой список становится больше (BAS), и элементы не исчезают, а доходя до лимита Instagram просто перестает отображать подписчиков на некоторое время.
@UserTrue увы знаний сделать такое на запросах нет, не мог бы сделать пример? или это только платно под заказ?
Попробуйте удалять элементы, возможно стоит ограничение не по загрузке, а по количеству отображаемых на странице
-
@Fox Дело не в количестве отображаемых элементов. Проверил это тем что что при N количестве заходов на Instagram профиль и нажатии на Подписчиков оно выдавало мне все меньше логинов, чем чаще туда заходил. А кончилось все пустотой на некоторое количество времени. Через минут 5-10 минут все приходит в норму, однако как прогрузить самых дальних подписчиков остается загадкой.
-
@mmaxsmile said in Парсинг Instagram (1 попытка):
@Fox Дело не в количестве отображаемых элементов. Проверил это тем что что при N количестве заходов на Instagram профиль и нажатии на Подписчиков оно выдавало мне все меньше логинов, чем чаще туда заходил. А кончилось все пустотой на некоторое количество времени. Через минут 5-10 минут все приходит в норму, однако как прогрузить самых дальних подписчиков остается загадкой.
В таком случае прокручивайте с задержкой
-
@Fox Это не плохая идея, однако, BAS прокручивает все сам (по максимуму), можно как то это отключить?
-
@mmaxsmile said in Парсинг Instagram (1 попытка):
@Fox Это не плохая идея, однако, BAS прокручивает все сам (по максимуму), можно как то это отключить?
Создайте свой алгоритм прокрутки, а для начала хотя бы проверьте эту теорию в ручную.
-
@Fox
Уходит в бесконечную загрузку (после 2411 логина), ждал минут 10, ничего не подгрузилось
-
@mmaxsmile said in Парсинг Instagram (1 попытка):
@Fox
Уходит в бесконечную загрузку (после 2411 логина), ждал минут 10, ничего не подгрузилосьНу раз селекторов подгрузилось больше, значит увеличьте задержку между подгрузкой
-
@Fox Да дело в том, что браузер есть браузер, и может какой--то запрос не получить ответ и все собьется.
@mmaxsmile said in Парсинг Instagram (1 попытка):
увы знаний сделать такое на запросах нет, не мог бы сделать пример? или это только платно под заказ?
Делать примеры я не буду, себе дороже. Можете поискать исполнителя. Вообще для инсты куча готового софта который стоит копейки.
-
@Fox Прокрутку реализовать не вышло. Как я и писал выше список грузится сам (ибо версия мобильная) и при заходе на окно followers с каждой секундой количество элементов растет. Я просто ждал пока оно прогрузит максимальное количество и запускал цикл. Когда оно прогружается до упора оно уходит в бесконечную загрузку. Я думал просто подождать N секунд/минут что бы Instagram смог выдать мне пользователей дальше, через время прокрутив к последнему элементу, но идея увенчалась крахом.
-
@mmaxsmile Эта идея обречена на провал хотя бы тем, что у некоторых акков по 1 млн.+ подписчиков. И ни один браузер не выдержит такой инфы на одной страницы и крашится. Формально здесь могло бы помочь Insta API, однако после обновления там можно выдернуть только подписчиков собственного аккаунта.
Формально, всего 2 ссылки:
После регистрации мы попадаем в Sand box (песочница).
И дают нам доступ только к "Review Status", а чтобы получить доступ полный, мы должны запросить его и обосновать что, как, для чего и продемонстрировать.Подробнее процесс описан здесь.
Есть так же NodeJS Instagram private API client, который можно прикрутить к BAS'у, но я ним ещё не разбирался.
-
@UserTrue Готовый софт - это всё таки не спортивно, у нас задача на этом форуме научится делать какие-то вещи самим.
Что бы не бесить Большого Брата, я бы спросил не готовое решение, а совет) Какие-то курсы посмотреть или уроки, если знаешь такие. Касательно построения GET\POST запросов. Грубо говоря, BAS заснифферил все запросы и ответы. Что значит по-отдельности каждый заголовок, можно нагуглить. А вот как понять, что в этих заголовках писать, как запросы вяжутся друг с другом и как смоделировать такие же корректные, но свои - это хотелось бы изучить.
У гигантов вроде FB почти всегда полностью свои самописные вещи на бекенде, поэтому тут невозможно знать, если лично не быть знакомым с кодом. Курсов для хакеров "А сегодня мы будем до*бываться до Insta" в Даркнете тоже не встречал)
По этому понятно, что с такими запросами методом проб и ошибок, долго и упорно, и они всегда очень хрупкие - любое обновление Инстаграмма может сломать всю конструкцию. Но если где-то как-то изучить сам принцип, то подбирать валидные сочетания для формирования запросов будет легче.
Что можешь посоветовать по этому поводу?
-
@AngelOfAncient said in Парсинг Instagram (1 попытка):
@mmaxsmile Эта идея обречена на провал хотя бы тем, что у некоторых акков по 1 млн.+ подписчиков. И ни один браузер не выдержит такой инфы на одной страницы и крашится.
На сколько я помню подписчики в инсте добавляются порционно (догружаются по мере скролла). Так в чём проблема уже спаршенные данные удалять со страницы освобождая этим память?
-
@Fox Мысль свежая, если так можно. Будет полезно не только для Инсты.
Мы удаляем со страницы\из памяти каким образом?
Присваиваем элементу .innerHTML () = ""?
-
@AngelOfAncient said in Парсинг Instagram (1 попытка):
@Fox Мысль свежая, если так можно. Будет полезно не только для Инсты.
Мы удаляем со страницы\из памяти каким образом?
Присваиваем элементу .innerHTML () = ""?Не такая уж и свежая..
https://community.bablosoft.com/topic/2794/выполнить-javascript-на-элементе-удалить-элементДействие "Выполнить Javascript На Элементе"
self.remove();
-
@mmaxsmile здравствуйте, если актуально, я делал такую операцию, просто кликал мышкой по ползунку и все получалось, даже имена аккаунтов выгрузил и в файл затолкал, все насколько было просто что я не поверил когда прочитал. Наверное тема устарела и у всех всё получилось. Делал в браузере без мобильной версии