Instagram اور TikTok scraping میں دو سب سے مشکل مرکزی دھارے کے اہداف ہیں — Google سے مشکل تر، Amazon سے مشکل تر۔ دونوں جارحانہ IP اسکورنگ چلاتے ہیں، دونوں آپ کے کلائنٹ کا متعدد تہوں پر فنگرپرنٹ لیتے ہیں، اور دونوں soft block کے لیے مشہور ہیں: صاف 403 کے بجائے، آپ کو login walls، خالی JSON، "challenge_required"، یا خاموشی سے کٹے ہوئے نتائج ملتے ہیں۔ آپ کا scraper "کام کرتا ہے" اور آپ کا ڈیٹا کچرا ہوتا ہے۔
یہ گائیڈ اس بات کا احاطہ کرتی ہے کہ 2026 میں ہر پلیٹ فارم دراصل آپ کو کیسے بلاک کرتا ہے، وہ proxy سیٹ اپ جو زندہ رہتا ہے، اور وہ درخواست کے انداز جو اکاؤنٹس اور sessions کو زندہ رکھتے ہیں۔ (scraping کے بجائے ملٹی اکاؤنٹ مینجمنٹ کے لیے، ہماری AdsPower/Multilogin اور GoLogin/Dolphin Anty گائیڈز دیکھیں۔)
challenge_required واپس کرتا ہے۔ مشترکہ/غلط استعمال شدہ residential IPs کے لیے Instagram کی برداشت بھی کم ہے — یہاں pool کا معیار تقریباً کسی بھی جگہ سے زیادہ اہمیت رکھتا ہے۔X-Bogus/signature پیرامیٹرز درکار ہوتے ہیں۔ خالص HTTP scraping کا مطلب ہے ان دستخطوں کی ریورس انجینئرنگ جو ہر چند ہفتوں میں rotate ہوتے ہیں — زیادہ تر ٹیمیں اس کے بجائے ایک حقیقی براؤزر (Playwright) چلاتی ہیں اور JSON رسپانسز کو intercept کرتی ہیں۔itemList رسپانسز جو "مزید مواد نہیں" جیسے لگتے ہیں)۔# One identity = one sticky session, country-pinned
socks5h://USERNAME:[email protected]:913
فی درخواست rotating کم والیوم پر گمنام عوامی صفحات کے لیے ٹھیک ہے۔ جس لمحے کوئی session cookie یا login شامل ہو، sticky پر سوئچ کریں — cookie اور IP کو ایک شناخت کے طور پر حرکت کرنی چاہیے (کیوں)۔
from curl_cffi import requests
PROXY = {"https": "socks5h://USERNAME:[email protected]:913"}
# Public profile JSON (no login) - impersonate Chrome's TLS
r = requests.get(
"https://www.instagram.com/api/v1/users/web_profile_info/?username=nasa",
impersonate="chrome",
headers={"X-IG-App-ID": "936619743392459"},
proxies=PROXY,
)
data = r.json()["data"]["user"]
print(data["edge_followed_by"]["count"])
status code نہیں، رسپانس دیکھیں: {"data": null} کے ساتھ ایک 200 یا /accounts/login/ کی طرف redirect کا مطلب ہے کہ اس IP کا بجٹ خرچ ہو چکا ہے — شناخت rotate کریں، back off کریں، اور دوبارہ شروع کریں۔
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(proxy={
"server": "us.jibaoproxy.com:913",
"username": "USERNAME", "password": "PASSWORD",
})
page = browser.new_page()
items = []
# Let TikTok's own JS sign the requests; we just read the answers
page.on("response", lambda res:
items.extend(res.json().get("itemList", []))
if "/api/post/item_list" in res.url else None)
page.goto("https://www.tiktok.com/@nasa")
for _ in range(5):
page.mouse.wheel(0, 2500)
page.wait_for_timeout(1800) # human-ish scroll cadence
print(len(items), "videos captured")
یہ دستخط کی ریورس انجینئرنگ کو مکمل طور پر بائی پاس کرتا ہے: صفحہ خود درست X-Bogus بناتا ہے، اور آپ JSON کاٹ لیتے ہیں۔ proxy کو براؤزر لانچ پر سیٹ کرنا ضروری ہے — auth کی باریکیاں Playwright proxy توثیق میں شامل ہیں۔
challenge_required، hasMore: true کے ساتھ خالی itemList۔| TikTok | ||
|---|---|---|
| بہترین رسائی کا راستہ | ویب GraphQL/API endpoints، curl_cffi | Playwright + رسپانس interception |
| proxy قسم | residential فی شناخت sticky | residential، مارکیٹ سے جیو میل کھاتا |
| datacenter IPs | Login wall / challenge | فوری captcha |
| Soft-block سگنل | login redirect، challenge_required، null data | خالی itemList، captcha صفحہ |
| جیو حساسیت | درمیانی | زیادہ — مواد ملک کے لحاظ سے مختلف |
ملک سے منسلک، sticky sessions، صاف ASNs — 500MB مفت ٹریفک، کارڈ کی ضرورت نہیں۔
مفت ٹرائل شروع کریںنئے صارفین کو سائن اپ پر 500MB ملتے ہیں، اس کے علاوہ پہلے ری چارج پر بونس۔ پیشکش محدود وقت کے لیے ہے۔