Das IP Ban System von Amazon verstehen
Amazon betreibt eine der anspruchsvollsten Anti-Bot-Systeme im Internet. Wenn Ihre IP-Adressen verboten werden, verlieren Sie Zugriff auf Produktdaten, die Ihre Preise, Forschung und wettbewerbsfähige Intelligenz Operationen. Wie Amazon IPs erkennt und verbietet, ist der erste Schritt, um es zu verhindern.
Amazon blockiert nicht einfach einzelne IPs – es baut Verhaltensprofile. Ein einzelnes verdächtiges IP kann weiche Blöcke (CAPTCHAs) auslösen, während anhaltende Verstöße zu harten Blöcken führen (vollständige Zugriffsverweigerung). Das System verfolgt Muster in IP-Bereichen, so dass ein IP verboten kann die Kontrolle auf benachbarte Adressen erhöhen. Für ein umfassendes Verständnis der Erkennungsmethoden siehe unsere Anleitung zu wie Anti-Bot-Systeme Proxis erkennen.
Wie Amazon automatisierten Traffic erkennt
Amazons Erkennung funktioniert auf mehreren Schichten gleichzeitig.
Anfrage-Level-Detection
| Signal | Was Amazon überprüft | Risiko |
|---|---|---|
| TLS Fingerprint | TLS Handshake entspricht bekannten Bot-Bibliotheken (Python-Anfragen, Curl) | hoch |
| Header Order | HTTP-Header in Nicht-Browser-Bestellung gesendet | Mittel |
| Vermisste Header | Abwesenheit von Akzept-Sprache, Akzept-Encoding, etc. | hoch |
| Benutzer-Agent | Veraltete, ungültige oder bekannte Benutzer-Agent-Strings | hoch |
| Umgang mit Cookies | keine Annahme oder Rückgabe von Session-Cookies | Mittel |
Verhaltensdetektion
| Muster | Warenbezeichnung | Risiko |
|---|---|---|
| Feste Intervalle | Anfragen, die in genauen Abständen ankommen (jeweils 5.0 Sekunden) | hoch |
| Sequentielle Raupen | ASINs in alphabetischer Reihenfolge besuchen | hoch |
| Kein Navigationspfad | Springen direkt auf Produktseiten ohne Surfen | Mittel |
| Hohes Anforderungsvolumen | Hunderte von Anfragen pro Minute von einem IP | Kritische |
| Keine JavaScript Ausführung | Seiten geladen ohne JavaScript auszuführen | Mittel |
IP-Level-Erkennung
Amazon unterhält Datenbanken von Datacenter-IP-Bereichen und bekannten Proxy-Anbietern. Datacenter IPs stehen der sofortigen erhöhten Kontrolle unabhängig vom Verhalten gegenüber. Wohngebiete beginnen mit höherem Vertrauen, weil sie Pools mit echten Amazon-Shoppern teilen.
Arten von Amazon-Blöcken
Das Verständnis der verschiedenen Blocktypen hilft Ihnen, entsprechend zu reagieren.
Weiche Blöcke (CAPTCHA)
Die häufigste Antwort. Amazon dient einer CAPTCHA Seite anstelle von Produktdaten. Dies ist eine Warnung – weiter von der gleichen IP und Sie werden eskalieren zu einem harten Block. Wenn Sie eine CAPTCHA erhalten, sofort abschalten und in eine neue IP wechseln.
Hard Blocks (503/403 Fehler)
Vollständige Denial des Zugriffs, typischerweise Rückgabe von HTTP 503 oder 403 Statuscodes. Harte Blöcke können Stunden bis Tage für eine bestimmte IP dauern. Sobald hart blockiert, ist diese IP für Amazon effektiv unbrauchbar, bis der Block abläuft.
Inhaltsverzeichnis
Amazon bedient manchmal verschiedene Inhalte zu verdächtigen Bots — falsche Preise, fehlende Bewertungen oder unvollständige Produktdaten. Dies ist schwieriger zu erkennen, weil Sie eine 200 Antwort erhalten. Validieren Sie Ihre abgekratzten Daten gegen bekannte Werte, um diese zu erfassen.
Key Takeaway: CAPTCHAs sind Warnsignale, nicht nur Hindernisse. Behandeln Sie jede CAPTCHA als Indikator, dass Ihr aktueller Ansatz angepasst werden muss.
Präventionsstrategien
1. Benutzen Sie Wohngebiete
Dies ist die effektvollste Veränderung, die Sie machen können. Wohn-Proxies verwenden IP-Adressen, die echten Internet-Abonnenten zugeordnet sind, so dass Ihre Anfragen von echten Käufern nicht zugänglich sind. ProxyHats Wohnfläche umfasst 195+ Länder mit Millionen von IPs.
# 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:80802. Implementieren Smart Rotation
Senden Sie niemals mehr als 5-10 Anfragen von einem einzigen IP an Amazon. ProxyHat's Gateway rotiert automatisch IPs pro Anfrage standardmäßig, aber Sie sollten auch Anwendungsebenensteuerungen implementieren.
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 None3. Randomize Anforderung Muster
Jeder Aspekt Ihres Anfrage-Musters sollte Zufall enthalten, um eine statistische Erfassung zu vermeiden.
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. Match Geo-Location zum Marktplatz
Der Zugriff auf amazon.com aus einem deutschen IP oder amazon.de aus einem japanischen IP ist ein starkes Signal der automatisierten Aktivität. Passen Sie immer Ihren Proxy-Standort an den Zielmarkt.
| Marktplatz | Proxy Land | ProxyHat Konfiguration |
|---|---|---|
| Amazon.com | Vereinigte Staaten | USERNAME-country-US |
| Amazon.de | Vereinigtes Königreich | USERNAME-country-GB |
| Amazon.de | Deutschland | USERNAME-country-DE |
| Amazon | Japan | USERNAME-country-JP |
| Amazon.fr | Frankreich | USERNAME-country-FR |
| Amazon.in | Indien | USERNAME-country-IN |
Überprüfung ProxyHat's vollständige Standortliste für alle unterstützten Länder.
5. Sitzungen richtig handhaben
Amazon verfolgt Sitzungen über Cookies. Die Annahme und Rückgabe von Cookies macht Ihre Anfragen mehr wie ein echter Browser. Für paginated browsing (Suchergebnisse, Bewertungen) verwenden Sie klebrige Sitzungen, um die gleiche IP- und Cookie-Fehler zu erhalten.
# 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 session6. Überwachen Sie Ihre Erfolgsquote
Verfolgen Sie Ihre HTTP 200 Rate, CAPTCHA Rate und Blockrate in Echtzeit. Setzen Sie Schwellenwerte, um Ihren Abstreifer automatisch zu drosseln, wenn die Erkennung zunimmt.
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 0Erholung nach einem Ban
Wenn ein IP verboten wird, hier ist, wie man sich erholt:
- Stoppen Sie sofort: Senden Sie keine Anfragen aus der verbotenen IP oder in der Nähe von IPs weiter.
- IP-Schalter: Verwenden Sie ein frisches Set von Wohn-IPs aus einem anderen Bereich. Der große Pool von ProxyHat sorgt für saubere IPs.
- Passen Sie Ihren Ansatz an: Überprüfen Sie Ihre Anfrage Muster, Verzögerungen und Kopfzeilen vor dem Wiederaufnahme.
- Beginnen Sie langsam: Bei der Wiederaufnahme beginnen Sie mit einer niedrigen Anforderungsrate und steigen allmählich.
- Warten Sie. Amazon Verbote verfallen typischerweise innerhalb von 24-48 Stunden für weiche Blöcke und bis zu 7 Tage für harte Blöcke auf bestimmten IPs.
Node.js Verbot Prävention
Hier ist eine äquivalente Node.js Implementierung mit 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));
}Vorbeugende Checkliste
Verwenden Sie diese Checkliste, bevor Sie einen Amazon-Schrotter ausführen:
- Verwendung von Wohn-Proxies (nicht Rechenzentrum)
- Proxy Geolocation Spiele Zielmarkt
- User-Agent Strings sind aktuell und gedreht
- Alle Standard-Browser-Header sind enthalten
- Anfragen Verzögerungen sind randomisiert (2-7 Sekunden Minimum)
- URLs werden geschüttelt, nicht sequentiell verarbeitet
- Cookie-Handling ist aktiviert
- CAPTCHA Erkennung und automatische Rückmeldung sind vorhanden
- Erfolgsquotenüberwachung ist aktiv
- Konkurrenz ist begrenzt (ab 5-10 parallele Anfragen)
Schlüsselanhänger
- Amazons Erkennung ist mehrschichtig: fordern Fingerabdrücke, Verhaltensmuster und IP-Reputation alle Materie.
- Die gebietsansässigen Proxies sind nicht verhandelbar — Rechenzentrum IPs Gesicht sofortige erhöhte Kontrolle.
- Match Proxy Geo-Location zum Ziel Amazon Marktplatz.
- Randomize alles: Verzögerungen, User-Agents, Anforderungsauftrag und Sitzungsmuster.
- CAPTCHAs als Frühwarnungen behandeln und sofort anpassen.
- Überwachen Sie die Erfolgsquoten und drosseln Sie automatisch, wenn die Erkennung zunimmt.
Für eine komplette Amazon Scraping-Setup, lesen Sie unsere Amazon Produktdaten Schrottführer und erkunden Sie die volle E-Commerce-Schrottstrategie. Beginnen Sie mit ProxyHat's Wohn-Proxies für zuverlässigen Amazon-Zugang.






