Как одна команда парсит 120 IG-аккаунтов дважды в деньРебята регулярно тянут посты и сториз с пула Instagram-аккаунтов и делятся тем, как у них это устроено на нашей инфраструктуре.
Что за задача
Каждые 12 часов пробегают по 120 аккаунтам. За один прогон получается 700+ постов и около 350 сториз. Ходят на приватные API /api/v1/feed/user/ и /api/v1/feed/reels_media/, отдельным потоком качают картинки с IG-CDN. Трафика уходит 500-800 МБ на прогон, из этого основная часть - сами картинки.
Почему они порезали пул на 28 отдельных session-id
У нас в пакете можно завести много уникальных sticky-сессий под одним аккаунтом биллинга. Они взяла 28 штук - по одной на каждый свой warmup-аккаунт IG.
Что это им даёт:
- Каждый warmup ходит из своей "соты" - IG видит 28 отдельных мобильных пользователей вместо одного, скачущего по стране. Sticky window в 30 минут не даёт IP перебрасывать посреди чанка запросов, но и не задерживается настолько долго, чтобы IG успел построить по нему модель поведения.
- Если один exit-IP словил rate-limit, страдает только его warmup - остальные 27 продолжают работать. У ребят это выкрутилось в failover: цели с упавшего аккаунта передаются другому, у которого свежий IP.
- Отдельный плюс - линейное масштабирование. Захотят взять 50 аккаунтов, попросят 50 session-id, никакой перекладки в коде.
Что стоит забрать из их опыта
Один аккаунт = одна sticky-сессия на всё время его жизни. Если внутри одного логического потока подсовывать разные IP, IG видит несовпадение и рвёт сессию.
Sticky window выбирать по длине рабочего цикла. Короче цикла - рвёт посреди работы, сильно длиннее - начинаются нежелательные поведенческие паттерны. У ребят 30 минут легли хорошо, но у кого-то может быть 15 или 60.
Картинки с IG-CDN обязательно тянуть через тот же exit-IP, что и API. IG-CDN сверяет, кто открывал ленту - если IP другой, приходит 403.
Что мы предлагаем:
- Residential Turbo - не блокируем порты, UDP открыт по умолчанию:
https://geekproxy.io/residential-proxy/turbo- Residential Flex - глубокая фильтрация по гео, UDP по запросу:
https://geekproxy.io/residential-proxy/flex- Мобильные прокси
https://geekproxy.io/mobile-proxy