Amazon scraping کے لیے proxies: prices، Buy Box اور Robot Check (2026)

شائع کردہ 12 جون 2026 · ≈8 منٹ کا مطالعہ

Amazon قیمت کی نگرانی اور product research کے لیے ایک سونے کی کان ہے اور ویب پر سب سے زیادہ جارحانہ طور پر محفوظ کی جانے والی سائٹس میں سے ایک۔ اسے کسی datacenter IP سے scrape کریں اور آپ کو چند ہی requests کے اندر CAPTCHAs، "Robot Check" دیوار، گھومتی قیمتیں، یا ایک 503 نظر آئے گا۔ یہ گائیڈ احاطہ کرتی ہے کہ Amazon کیا چیک کرتا ہے، وہ proxy حکمت عملی جو اس سے بچ نکلتی ہے، اور وہ session discipline جو prices اور Buy Box ڈیٹا کو درست رکھتا ہے۔

Amazon کیا Detect کرتا ہے

Residential، Marketplace کے مطابق Geo کے ساتھ

کسی بھی حقیقی حجم پر Amazon پر Datacenter proxies ایک بند گلی ہیں — صاف ASNs کے ساتھ residential exits ہی اسے قائم رکھتے ہیں۔ اتنا ہی اہم: exit country کو اس marketplace سے میچ کریں جسے آپ scrape کر رہے ہیں۔ amazon.de کی قیمتیں US exit کے ذریعے نکالنا آپ کو US pricing، currency اور Buy Box دیتا ہے، جو خاموشی سے آپ کا dataset خراب کر دیتا ہے۔ ہر marketplace کے لیے ایک exit geography۔

درست Prices کے لیے Sticky Sessions

Amazon session کے لحاظ سے personalize کرتا ہے — add-to-cart، delivery location، اور price tests سب cookies میں رہتے ہیں۔ اگر آپ ہر request پر IP گھماتے ہیں، تو آپ مسلسل اس context کو reset کرتے ہیں اور inconsistent prices اور Buy Box winners حاصل کرتے ہیں۔ کسی product کے مکمل scrape کے لیے ایک sticky session رکھیں، پھر product یا task کی حد پر گھمائیں:

import itertools, time, random
from curl_cffi import requests

PROXIES = ["socks5h://USERNAME:[email protected]:913", "..."]
pool = itertools.cycle(PROXIES)

def scrape_product(asin, proxy):
    # Same sticky exit for every page of this product
    s = requests.Session(impersonate="chrome",
                         proxies={"http": proxy, "https": proxy})
    detail = s.get(f"https://www.amazon.com/dp/{asin}")
    offers = s.get(f"https://www.amazon.com/gp/offer-listing/{asin}")
    return detail.text, offers.text

for asin in asins:
    proxy = next(pool)                 # new sticky exit per product
    if "Robot Check" in scrape_product(asin, proxy)[0]:
        # flagged - back off, rotate, retry on a fresh exit
        ...
    time.sleep(random.uniform(2.0, 5.0))

ہر Exit پر Rate-Limit لگائیں اور Back Off کریں

جیسا کہ Google SERP scraping کے ساتھ ہے، وہ discipline جو آپ کو زندہ رکھتی ہے وہ per-exit rate ہے، نہ کہ pool کا سائز۔ gaps کو randomize کریں، ہر IP پر concurrency کو محدود کریں، اور جب آپ کو "Robot Check" یا ایک 503 نظر آئے، تو اس exit کو ہٹ کرنا بند کریں اور back off کریں — کسی flagged IP میں دوبارہ کوشش کرنا صرف block کو لمبا کرتا ہے۔

ایک Python Fingerprint نہ جوڑیں

ایک سادہ requests call ایک ایسا JA3 بھیجتا ہے جو IP score لاگو ہونے سے پہلے ہی آپ کو automation کے طور پر نشان زد کر دیتا ہے۔ ایک browser fingerprint curl_cffi کے ساتھ بھیجیں (اوپر) یا ایک حقیقی براؤزر — دیکھیں curl_cffi کے ساتھ TLS Fingerprinting بائی پاس کریں۔ اگر Amazon ایک JS CAPTCHA دیوار پھینکتا ہے، تو ایک حقیقی browser engine تک بڑھائیں۔

چیک لسٹ

تمام IP پروڈکٹس کے لیے · ہر وقت دستیاب نوڈز کا وسیع پول

ابھی رجسٹر کریں اور ری چارج پر 100% تک کیش بیک حاصل کریں

نئے صارفین کو سائن اپ پر 500MB ملتے ہیں، اس کے علاوہ پہلے ری چارج پر بونس۔ پیشکش محدود وقت کے لیے ہے۔