Nega Instagram skreperingiz laptopda ishlab, serverda o'ladi
Yordam pochtamizdagi eng ko'p uchraydigan xabar — “kecha mening mashinamda ishlagan edi”ning varianti. Ishlagan, yana ishlaydi ham — o'sha mashinada. Instagram, TikTok va ularning oldida turgan saytlar Hetzner yoki AWS manziliga uy ulanishidan boshqacha qaraydi, va hamma lokal testdan o'tgan skreper bu farqni prodda uchratadi. Bu qo'llanma — farq nimada ekani, o'lchangan holda, va unga qarshi emas, u bilan birga qanday qurish.
Yangilangan
Manzil — barmoq izi
Platformalar so'rovni o'qishdan oldin baholaydi: datacenter ASN, da'vo qilingan brauzerga mos kelmaydigan TLS qo'l siqishi va mavjud bo'lmagan sessiya — hammasi bahoni tushiradi, va oladigan sahifangiz login devori yoki captcha. Laptopingiz uchalasidan ham urinmasdan o'tadi. Server birinchisida, kodingiz ishlashidan oldin yiqiladi.
Nimani o'lchadik
Instagram'ning o'z endpointlari Hetzner IP'sidan: 11 postdan 0. yt-dlp: 13 dan 0. Vositachi bo'lib xizmat qiladigan yuklab olish saytlari ham birma-bir shu yo'ldan ketdi — ulardan bir oilasi datacenter manzillari oldiga Turnstile captcha qo'ydi va 2026-yil iyuldagi 11/11 dan sentabrda 8/0 ga tushdi. O'sha havolalarning har biri o'sha kuni uy ulanishidan yechildi.
Nega proksi — yechim emas, yugurish yo'lakchasi
Rezidensial proksi bahoni bir muddatga tiklaydi, keyin havza belgilanadi, chunki qolgan hamma ham o'sha manzillarni ijaraga olyapti. TLS barmoq izi brauzer qo'l siqishini taqlid qiladigan mijoz talab qiladi — oddiy requests yoki httpx tana o'qilishidan oldin 422 bilan rad etiladi. Har bir tuzatish — kuzatiladigan yana bitta harakatlanuvchi qism, platforma esa siz patch qilganingizdan tez o'zgaradi.
Shu bilan yashaydigan resolver qanday ko'rinadi
Bizniki bir nechta mustaqil manbani zanjirda yuritadi, har birini haqiqatan ishlayotgan server manzilidan o'lchaydi, manba yomonlashganda qayta tartiblaydi va ishlamay qolganini tashlaydi. Siz bitta endpointni chaqirasiz, zanjir — bizning muammomiz. Sizning tomoningizdagi chaqiruv har platforma uchun bir xil.
Terminalcurl -s "https://api.saveapi.org/v1/instagram" \ -H "Authorization: Bearer sk_live_xxxx" \ -G --data-urlencode "url=https://www.instagram.com/reel/ABC123/"
Qolgan ikki xatoni hal qiling
Hech qanday zanjir o'chirilgan postni mavjud qilmaydi. Javob ajratadi: manba rad etgan havola yakuniy kod bilan qaytadi va 0.1 kredit turadi; timeout yoki upstream xatosi hech narsa turmaydi va aynan bitta qayta urinishga arziydi. Qayta uriniladigan kodlarni bitta joyda saqlang va yakuniy javobni hech qachon qayta urinmang.
PythonRETRY = {"UPSTREAM_TIMEOUT", "UPSTREAM_ERROR"}
async def resolve(link: str) -> dict:
for attempt in (1, 2):
r = await client.get(API, params={"url": link}, headers=HEADERS)
data = r.json()
if data["success"] or data["error"]["code"] not in RETRY:
return data
return dataBoshlashdan oldingi savollar
- Serverda VPN yordam beradimi?
- Iste'molchi VPN chiqishlari ham datacenter manzillari, umumiylari esa siznikidan tezroq belgilanadi. Ahamiyatli o'lchov — siz deploy qiladigan manzildan qilingani.
- API datacenter IP'larda ishlaydimi?
- Ha — siz deploy qiladigan turdagilarda. Farqi shundaki, u ishlatadigan manbalar aynan shu manzil uchun tanlangan va o'lchangan, ishlamay qolganda almashtiriladi — aks holda bu ishni siz qilgan bo'lardingiz.
- Qaysi platformalar ta'sirlangan?
- Instagram — eng og'ir holat, TikTok'ning o'z endpointlari ham shunday; ochiq JSON beradigan saytlar, masalan Pinterest, deyarli befarq. Bosh sahifada hammasi bo'yicha o'lchangan muvaffaqiyat foizi ko'rsatilgan.
Bu yerda ishlatilgan platformalar
Boshqa qo'llanmalar
Qo'llanmani o'z kalitingiz bilan ishga tushiring
Kalit bir daqiqada. 1 000 bepul kredit, kartasiz, muddatsiz.