Scraping Sırasında Amazon IP Engellerinden Nasıl Kaçınılır

Amazon'un IP yasağı sistemini anlayın ve algılamayı önlemek için kanıtlanmış stratejileri öğrenin. Konut proxy yapılandırması, rastgeleleştirme, geo-targeting ve kurtarma prosedürleri talep eder.

Scraping Sırasında Amazon IP Engellerinden Nasıl Kaçınılır

Amazon'un IP Ban Sistemini Anlamak

Amazon internetteki en sofistike anti-bot sistemlerinden birini işletiyor. IP adresleriniz yasaklandığında, fiyatlarınızı, araştırmanızı ve rekabetçi istihbarat operasyonlarınızı yönlendiren ürün verilerine erişimi kaybedersiniz. Amazon'un IP'leri nasıl algıladığını ve yasakladığını anlamak, onu önlemek için ilk adımdır.

Amazon sadece bireysel IP'leri engellemez - davranışsal profiller oluşturur. Tek bir şüpheli IP yumuşak bloklar (CAPTCHAs) tetikleyebilirken, kalıcı ihlaller zor bloklara yol açabilir (tam erişim inkar). Sistem IP aralıkları boyunca desenleri izler, bu yüzden bir IP yasaklandı komşu adreslerde scrutiny artırabilir. Analiz yöntemleri hakkında kapsamlı bir anlayış için rehberimizi görün Anti-bot sistemlerinin nasıl algılandığını nasıl algılar.

Amazon nasıl otomatik trafik tespit eder

Amazon'un tespiti aynı anda birden çok katman üzerinde çalışır.

İstek-Level Tespiti

İstek-Level Tespiti
Signal SignalAmazon hangileri kontrol ediyorRisk Düzeyi
TLS ParmakTLS elhake maçlarını bilinen bot kütüphanesi (Python talepleri, curl)Yüksek Yüksek Yüksek Yüksek Yüksek
Header OrderHTTP başlıkları tarayıcı olmayan sırayla gönderilirMedium Medium Medium Medium Medium
Eksik HeadersKabul dilinin, kabul edilenin, vb.Yüksek Yüksek Yüksek Yüksek Yüksek
Kullanıcı-AgentTamamlanmış, geçersiz veya bilinen-bot Kullanıcı-Agent dizeleriYüksek Yüksek Yüksek Yüksek Yüksek
Çerez KullanımıKabul veya geri dönme kurabiyeMedium Medium Medium Medium Medium

Davranış

Davranış
DesenAçıklamaRisk Düzeyi
Sabit aralıklarİstekler tam aralıklara (her 5.0 saniye) ulaşırYüksek Yüksek Yüksek Yüksek Yüksek
Sequential taramaASIN'leri sayısal veya alfabetik sırayla ziyaret edinYüksek Yüksek Yüksek Yüksek Yüksek
Hayır navigasyon yoluDoğrudan tarama olmadan ürün sayfalara atlamakMedium Medium Medium Medium Medium
Yüksek talep hacmiBir IP'den dakikada yüzlerce istekEleştirel eleştirel
Hiçbir JavaScript infazSayfalar JavaScript olmadan yükleniyorMedium Medium Medium Medium Medium

IP-Level Tespit

Amazon, Merkezi IP aralıklarının ve bilinen proxy sağlayıcılarının veritabanılarını koruyor. Datacenter IPs, davranışın ne olursa olsun derhal incelenir. Konut IPs Daha yüksek güven ile başlayın çünkü havuzu gerçek Amazon alışverişleriyle paylaşıyorlar.

Amazon Blocks türleri

Farklı blok türlerini anlamak uygun şekilde yanıt vermenize yardımcı olur.

Yumuşak Bloklar (CAPTCHA)

En yaygın yanıt. Amazon, ürün verileri yerine CAPTCHA sayfasına hizmet eder. Bu bir uyarıdır - aynı IP'den devam edin ve zor bir bloka yükseleceksiniz. Bir CAPTCHA aldığında hemen geri dönün ve yeni bir IP'ye geçiş yapın.

Hard Blocks (503/403 Hata)

Erişimin tam reddedilmesi, genellikle HTTP 503 veya 403 durum kodları döndürür. Sert bloklar belirli bir IP için günlerce sürebilir. Sert engellendikten sonra, IP, blok sona erinceye kadar Amazon için etkili bir şekilde kullanılamaz.

İçerik Manipulation

Amazon bazen botlardan şüphelenilen farklı içeriklere hizmet eder - yanlış fiyatlar, eksik incelemeler veya eksik ürün verileri. Bu tespit etmek daha zordur, çünkü 200 yanıt alırsınız. Bu yakalamak için bilinen değerlere karşı kazınmış verilerinizi geçerlidir.

Key takeaway: CAPTCHAs are uyarı sinyalleri, sadece engeller değil. Mevcut yaklaşımınızın ayarlanması gereken bir gösterge olarak her CAPTCHA'yı tedavi edin.

Önleme Stratejileri

1. Konut Proxies kullanın

Bu yapabileceğiniz en etkili değişimdir. Konut proxyleri gerçek internet abonelerine atanan IP adreslerini kullanır, gerçek alışverişlerden gelen isteklerinizi ayırt eder. ProxyHat'ın konut proxy havuzu, milyonlarca IP ile 195+ ülkeyi kapsar.

# ProxyHat residential proxy with geo-targeting
http://USERNAME-country-US:PASSWORD@gate.proxyhat.com:8080
# For Amazon.de
http://USERNAME-country-DE:PASSWORD@gate.proxyhat.com:8080
# For Amazon.co.uk
http://USERNAME-country-GB:PASSWORD@gate.proxyhat.com:8080

2. Implement Smart Rotation

Amazon'a tek bir IP'den 5-10'dan fazla istek göndermeyin. ProxyHat'ın ağ geçidi otomatik olarak IP'leri varsayılan olarak döndürür, ancak uygulama düzeyinde kontrolleri de uygulamanız gerekir.

import requests
import random
import time
PROXY_BASE = "http://USERNAME:PASSWORD@gate.proxyhat.com:8080"
def make_request(url, max_retries=3):
    """Make a request with automatic retry on failure."""
    for attempt in range(max_retries):
        # Each request gets a fresh IP from the rotating proxy
        proxies = {"http": PROXY_BASE, "https": PROXY_BASE}
        headers = {
            "User-Agent": random.choice(USER_AGENTS),
            "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
            "Accept-Language": "en-US,en;q=0.9",
            "Accept-Encoding": "gzip, deflate, br",
        }
        try:
            response = requests.get(url, headers=headers, proxies=proxies, timeout=30)
            # Check for CAPTCHA
            if "captcha" in response.text.lower() or response.status_code == 503:
                print(f"CAPTCHA/block detected on attempt {attempt + 1}")
                time.sleep(random.uniform(10, 30))  # Longer backoff
                continue
            if response.status_code == 200:
                return response
        except requests.RequestException:
            time.sleep(random.uniform(5, 15))
    return None

3. Randomize Request Patterns

İstek modelinizin her yönü, istatistiksel algılamadan kaçınmak için rastgeleliği içermelidir.

import random
import time
def random_delay(min_sec=2, max_sec=7):
    """Add human-like random delay."""
    delay = random.uniform(min_sec, max_sec)
    # Occasionally add a longer pause (simulates reading a page)
    if random.random() < 0.1:  # 10% chance
        delay += random.uniform(10, 30)
    time.sleep(delay)
def shuffle_targets(urls):
    """Randomize the order of URLs to avoid sequential patterns."""
    shuffled = urls.copy()
    random.shuffle(shuffled)
    return shuffled
def get_random_user_agent():
    """Return a realistic, current User-Agent string."""
    agents = [
        "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36",
        "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36",
        "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:125.0) Gecko/20100101 Firefox/125.0",
        "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4 Safari/605.1.15",
        "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36",
    ]
    return random.choice(agents)

4. Market Geo-Location to Market

Bir Alman IP veya Amazon.com'a erişmek, bir Japon IP'den güçlü bir otomatik aktivite sinyalidir. Her zaman lokasyonunuzu hedef pazara eşleştirin.

4. Market Geo-Location to Market
Market Market MarketProxy CountryProxyHat Build
Amazon.comAmerika Birleşik DevletleriUSERNAME-country-US
Amazon.co.ukBirleşik KrallıkUSERNAME-country-GB
Amazon.deAlmanya Almanya Almanya AlmanyaUSERNAME-country-DE
Amazon.co.jpJaponya Japonya JaponyaUSERNAME-country-JP
Amazon.frFransa FransaUSERNAME-country-FR
Amazon.inHindistan HindistanUSERNAME-country-IN

Check Check Check Check ProxyHat'ın tam yer listesi Tüm desteklenen ülkeler için.

5. Oturumlar Properly

Amazon kurabiyeler ile seansları izler. Kabul ve geri dönen kurabiyeler isteklerinizin gerçek bir tarayıcı gibi görünmesini sağlar. Paginated tarama (araştırma sonuçları, yorumları), aynı IP ve kurabiye kavanozunu korumak için yapışkan seanslar kullanın.

# Sticky session for paginated scraping
PROXY_SESSION = "http://USERNAME-session-amz{session_id}:PASSWORD@gate.proxyhat.com:8080"
def create_session(session_id):
    """Create a requests session with sticky proxy and cookies."""
    session = requests.Session()
    proxy = PROXY_SESSION.format(session_id=session_id)
    session.proxies = {"http": proxy, "https": proxy}
    session.headers.update({
        "User-Agent": get_random_user_agent(),
        "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
        "Accept-Language": "en-US,en;q=0.9",
        "Accept-Encoding": "gzip, deflate, br",
    })
    return session

6. Başarınızı Takip Etmek

HTTP 200 oranını takip edin, CAPTCHA oranı ve gerçek zamanlı blok oranı. Tespit artışları olduğunda hurdalarınızı otomatik olarak toparlayın.

class SuccessTracker:
    def __init__(self, captcha_threshold=0.1, block_threshold=0.05):
        self.total = 0
        self.success = 0
        self.captchas = 0
        self.blocks = 0
        self.captcha_threshold = captcha_threshold
        self.block_threshold = block_threshold
    def record(self, status):
        self.total += 1
        if status == "success":
            self.success += 1
        elif status == "captcha":
            self.captchas += 1
        elif status == "block":
            self.blocks += 1
    @property
    def should_throttle(self):
        if self.total < 10:
            return False
        captcha_rate = self.captchas / self.total
        block_rate = self.blocks / self.total
        return captcha_rate > self.captcha_threshold or block_rate > self.block_threshold
    @property
    def success_rate(self):
        return self.success / self.total if self.total > 0 else 0

Bir Bandan Sonra Kurtarma

Bir IP yasaklanırsa, işte nasıl kurtarılır:

  1. Hemen durun: Yasaklanan IP veya yakın IP'lerden gelen talepleri göndermeye devam etmeyin.
  2. Anahtar IP'ler: Farklı bir aralığın taze bir yerleşim IP setini kullanın. ProxyHat'ın büyük havuzu, her zaman mevcut temiz IP'lere sahip olmanızı sağlar.
  3. Yaklaşımınızı ayarlayın: İstek modellerinizi gözden geçirin, gecikmeler ve kafalar yeniden ortaya çıkmadan önce.
  4. Yavaş yavaş başlayın: Resuming, düşük bir istek oranıyla başlayın ve yavaş yavaş artış.
  5. Bunu bekleyin: Amazon yasakları genellikle yumuşak bloklar için 2448 saat içinde ve belirli IP'lerde sert bloklar için 7 gün içinde sona erer.

Hayır

İşte bir eşdeğer Node.js uygulaması ProxyHat's Node SDK.

const axios = require("axios");
const { HttpsProxyAgent } = require("https-proxy-agent");
const PROXY_URL = "http://USERNAME:PASSWORD@gate.proxyhat.com:8080";
const USER_AGENTS = [
  "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/124.0.0.0 Safari/537.36",
  "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 Chrome/124.0.0.0 Safari/537.36",
  "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:125.0) Gecko/20100101 Firefox/125.0",
];
async function safeAmazonRequest(url, maxRetries = 3) {
  for (let attempt = 0; attempt < maxRetries; attempt++) {
    const agent = new HttpsProxyAgent(PROXY_URL);
    try {
      const response = await axios.get(url, {
        httpsAgent: agent,
        headers: {
          "User-Agent": USER_AGENTS[Math.floor(Math.random() * USER_AGENTS.length)],
          "Accept-Language": "en-US,en;q=0.9",
          Accept: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
          "Accept-Encoding": "gzip, deflate, br",
        },
        timeout: 30000,
        validateStatus: () => true,
      });
      if (response.data.toLowerCase().includes("captcha") || response.status === 503) {
        console.log(`CAPTCHA/block on attempt ${attempt + 1}`);
        await new Promise((r) => setTimeout(r, 10000 + Math.random() * 20000));
        continue;
      }
      if (response.status === 200) return response;
    } catch (err) {
      await new Promise((r) => setTimeout(r, 5000 + Math.random() * 10000));
    }
  }
  return null;
}
// Random delay between requests
function randomDelay(minMs = 2000, maxMs = 7000) {
  const delay = minMs + Math.random() * (maxMs - minMs);
  return new Promise((r) => setTimeout(r, delay));
}

Önleme Checklist

Amazon scraper'i çalıştırmadan önce bu kontrol listesini kullanın:

  • Konut referansları kullanmak (merkezli veri değil)
  • Proxy geo-location maçlarını hedef piyasa
  • Kullanıcı-Agent dizeleri mevcut ve döndürülür
  • Tüm standart tarayıcı başlıkları dahil edilmiştir
  • İstek gecikmeleri rastgeleleştirilmiş (2-7 saniye minimum)
  • URL'ler parlıyor, işlenmemiş değil
  • Cookie kullanımı etkinleştirilir
  • CAPTCHA tespiti ve otomatik gerileme yerindedir
  • Başarı oranı izleme aktif
  • Uygunluk sınırlıdır ( 5-10 paralel istekle başlayın)

Key Takeaways

  • Amazon'un algılaması çok katmanlıdır: parmak izi, davranışsal desenler ve IP itibarı her konuda.
  • Konut referansları tartışılmaz - veri merkezi IP'ler hızla artan scrutiny ile karşı karşıya.
  • Hedef Amazon pazarına geo-lokumu eşleştirin.
  • Her şeyi keşfedin: gecikmeler, Kullanıcı-Agents, istek siparişi ve oturum kalıpları.
  • CAPTCHAs'ı erken uyarılar olarak ele alın ve hemen ayarlayın.
  • Tespit artışı sırasında başarı oranları ve otomatik olarak throttle izleyin.

Tamamlanan bir Amazon kurulumu için, dikkatimizi okuyun Amazon ürün verileri kılavuzluk Ve tam olarak keşfedin e-ticaret stratejiyi kazıtıyor.Get started with ProxyHat'ın konut temsilcileri Güvenilir Amazon erişimi için.

Başlamaya hazır mısınız?

148+ ülkede 50M+ konut IP'sine AI destekli filtreleme ile erişin.

Fiyatlandırmayı GörüntüleKonut Proxy'leri
← Bloga Dön