Jedes Produkt bei Amazon trägt einen versteckten Primärschlüssel: seine ASIN. Für Preisüberwachung, Katalogrecherche oder Wettbewerbsanalyse ist die ASIN der Anker, auf dem alles aufbaut, denn sie zeigt auf genau eine Produktseite, egal wie sich Titel oder URL des Angebots ändern. Das Schwierige ist nicht die ASIN selbst, sondern das Laden von Amazons öffentlichen Produktseiten überhaupt, wenn man sie in großem Maßstab abrufen möchte.
Diese Anleitung zeigt Ihnen, wie Sie Amazon-ASIN-Daten mit Python zuverlässig scrapen. Wir erläutern, was eine ASIN ist und wie man eine findet, dann entwickeln wir einen kleinen Scraper, der öffentliche Produktdaten per ASIN abruft und jede Anfrage durch den Crawlbase Smart AI Proxy leitet, damit Seiten gerendert statt blockiert zurückkommen. Die gesamte Anleitung beschränkt sich auf öffentliche Produktdaten. Der Abschnitt zur Rechtslage am Ende ist es wert, gelesen zu werden, bevor Sie dies auf größere Datenmengen ansetzen.
Was ist eine Amazon-ASIN?
Eine ASIN, kurz für Amazon Standard Identification Number, ist ein eindeutiger 10-stelliger alphanumerischer Code, den Amazon jedem Produkt in seinem Katalog zuweist. Es ist die Kennung, die die Plattform intern verwendet, um ein Angebot von einem anderen zu unterscheiden, und bei den meisten Produkten beginnt sie mit B0. Bücher sind die häufige Ausnahme: Ihre ASIN ist in der Regel die ISBN-10.
Die ASIN ist für das Scrapen wichtig, weil sie stabil ist. Ein Produkttitel kann bearbeitet werden, seine URL kann Tracking-Parameter enthalten, und seine Suchposition kann sich stündlich ändern, aber die ASIN bleibt für die Lebensdauer des Angebots fest. Das macht sie zum richtigen Schlüssel, auf dem ein Datensatz aufgebaut werden sollte: Erfassen Sie ASINs einmal, und Sie können den aktuellen Preis, die Verfügbarkeit und die Bewertung jedes Produkts nach einem Zeitplan abrufen, ohne das Angebot jedes Mal neu zu entdecken.
Wie man eine ASIN findet
Es gibt zwei einfache Möglichkeiten, die ASIN eines Produkts zu erhalten. Die erste ist die URL. Öffnen Sie eine beliebige Produktseite und schauen Sie sich den Pfad an: Die ASIN steht direkt nach dem Segment /dp/.
https://www.amazon.com/dp/B0B7CH8DMR ^^^^^^^^^^ this is the ASIN
Derselbe Code erscheint auch in längeren, SEO-optimierten URLs, wiederum direkt nach /dp/:
https://www.amazon.com/OtterBox-COMMUTER-iPhone-Pro-ONLY/dp/B0B7CH8DMR/
Die zweite Möglichkeit ist der Seiteninhalt. Scrollen Sie zur Tabelle „Produktinformation" oder „Zusätzliche Informationen" auf den meisten Angeboten, und die ASIN ist als eigene Zeile aufgeführt. Wenn Sie das gerenderte HTML scrapen, erscheint der Wert auch in einem eingebetteten Feld namens currentAsin, was ein zuverlässiger Ort ist, um ihn programmatisch auszulesen.
Verwechseln Sie eine ASIN nicht mit einer SKU. Eine ASIN ist Amazons Katalogkennzeichnung, die für jeden Verkäufer, der dieses Produkt anbietet, gleich ist. Eine SKU (Stock Keeping Unit) ist ein privater Code, den ein Verkäufer zur Verfolgung seines eigenen Lagerbestands vergibt, und sie kann von einem Verkäufer zum nächsten und über andere Vertriebskanäle hinweg abweichen. Für die kanalübergreifende Analyse schließen Sie an der ASIN an, nicht an der SKU.
Warum eine einfache Anfrage bei Amazon scheitert
Wenn Sie einen einfachen HTTP-Client auf eine Amazon-Produktseite richten, erhalten Sie selten die erwartete Seite. Amazon verteidigt sich aggressiv gegen automatisierten Datenverkehr: Rechenzentrum-IPs und Anfragemuster, die nicht wie ein echter Browser aussehen, erhalten ein CAPTCHA, eine „Sorry, something went wrong"-Zwischenseite oder eine vollständige Blockierung, lange bevor Sie die Produktfelder erreichen, und die Blockierungen kommen schneller, je mehr Sie von einer IP senden.
Ein funktionierender Amazon-Scraper benötigt also bei jeder Anfrage zwei Dinge: eine IP, die die Plattform als echten Besucher liest, und eine Anfrageverwaltung, die CAPTCHAs und Bot-Herausforderungen besteht. Das lässt sich zwar selbst mit einem Pool rotierender Residential-Proxies plus eigener Anti-Block-Logik zusammenstellen, aber deren Aufrechterhaltung ist der Großteil der Arbeit. Der Smart AI Proxy fasst das in einem einzigen Endpunkt zusammen: Richten Sie Ihren normalen HTTP-Client darauf als Proxy aus, und er leitet die Anfrage über die Crawling API hinter einer vertrauenswürdigen IP weiter und gibt die gerenderte Seite zurück.
Der Smart AI Proxy ist ein Drop-in-Proxy-Endpunkt, der auf der Crawling API basiert. Alles, was Datenverkehr über einen HTTP-Proxy senden kann, curl, Python requests, ein Headless-Browser, kann ihn ohne SDK verwenden. Hinter dem Endpunkt erhalten Sie rotierende Residential-IPs, CAPTCHA-Handling und Block-Vermeidung, sodass derselbe Code, der direkt gegen Amazon scheitert, jetzt echte Seiten zurückgibt.
Eine erste Anfrage mit curl
Erstellen Sie ein kostenloses Crawlbase-Konto und öffnen Sie den Smart AI Proxy-Bereich Ihres Dashboards, wo die Verbindungsdetails Ihr Zugriffstoken auflisten. Dieses Token ist der einzige Anmeldeinformationen, den Sie benötigen: Der Proxy authentifiziert sich nur über den Benutzernamen, das Passwort bleibt also leer. Bevor Sie Python schreiben, bestätigen Sie, dass es mit einem einzeiligen curl funktioniert, der eine Produktseitenabfrage über den Smart AI Proxy sendet und das gerenderte HTML ausgibt.
curl -x "http://[email protected]:8012" -k \ "https://www.amazon.com/dp/B0B7CH8DMR"
Zwei Flags tragen die Anfrage. -x setzt den Proxy im Format http://TOKEN@host:port; ersetzen Sie YOUR_TOKEN durch Ihr Zugriffstoken. Das Flag -k (Langform --insecure) lässt curl eine Verbindung herstellen, ohne das TLS-Zertifikat des Proxys zu verifizieren, was erforderlich ist, da der Smart AI Proxy die Verbindung zur Weiterleitung und Block-Vermeidung abfängt, bevor er Amazon erreicht. Das Senden von Anfragen an den Smart AI Proxy ohne -k schlägt fehl, es ist also nicht optional. Wenn es funktioniert, erhalten Sie HTML mit dem Produktinhalt zurück statt einer CAPTCHA-Seite.
Amazon-ASIN-Daten mit Python scrapen
curl beweist den Weg; Python macht daraus etwas Automatisierbares. Sie benötigen Python 3.8 oder höher, und die Standard-Bibliothek requests reicht aus, da der Smart AI Proxy als gewöhnlicher HTTP-Proxy eingebunden wird, ohne spezielles SDK.
python --version python -m venv amazon_env source amazon_env/bin/activate pip install requests
Unter Windows aktivieren Sie die Umgebung mit amazon_env\Scripts\activate anstelle der source-Zeile. Erstellen Sie nun amazon_asin_scraper.py. Das Skript erstellt die Proxy-URL aus Ihrem Token, sendet die Anfrage darüber und gibt den Status und den Body aus. Beachten Sie verify=False: Es ist das Python-Äquivalent von curls -k und für den Smart AI Proxy erforderlich.
import os import requests token = os.environ["CRAWLBASE_TOKEN"] proxy = f"http://{token}@smartproxy.crawlbase.com:8012" proxies = {"http": proxy, "https": proxy} asin = "B0B7CH8DMR" url = f"https://www.amazon.com/dp/{asin}" response = requests.get(url, proxies=proxies, verify=False) print("Status:", response.status_code) print(response.text[:500])
Setzen Sie zunächst Ihr Token mit export CRAWLBASE_TOKEN=your_token_here, dann führen Sie python amazon_asin_scraper.py aus. Ein 200er-Status und der Beginn des Produkt-HTML bedeutet, dass die Seite gerendert zurückgekommen ist. Von hier könnten Sie das HTML an einen Parser wie BeautifulSoup übergeben und den Titel, Preis und das Feld currentAsin extrahieren, aber es gibt eine sauberere Option, die das Parsen vollständig überspringt.
Amazon blockiert einfache Anfragen schnell. Der Smart AI Proxy ist ein Drop-in-Proxy-Endpunkt: Richten Sie curl, Python requests oder einen beliebigen HTTP-Client darauf aus, und Ihr Datenverkehr wird über rotierende Residential-IPs mit integriertem CAPTCHA- und Block-Handling geleitet, sodass Produktseiten gerendert statt herausgefordert zurückkommen. Beginnen Sie im kostenlosen Tarif mit einer öffentlichen Produktseite.
Strukturiertes JSON mit autoparse erhalten
Amazons HTML manuell zu parsen ist fragil: Das Markup ist dicht und die Selectors driften. Da der Smart AI Proxy auf der Crawling API basiert, können Sie Crawling API-Parameter als Anfrage-Header übergeben und Crawlbase das Parsen für Sie erledigen lassen. Senden Sie autoparse=true in einem Header namens CrawlbaseAPI-Parameters, und der Proxy gibt strukturiertes JSON für das Produkt statt rohem HTML zurück.
import os import json import requests token = os.environ["CRAWLBASE_TOKEN"] proxy = f"http://{token}@smartproxy.crawlbase.com:8012" proxies = {"http": proxy, "https": proxy} headers = {"CrawlbaseAPI-Parameters": "autoparse=true"} asin = "B0B7CH8DMR" url = f"https://www.amazon.com/dp/{asin}" response = requests.get(url, proxies=proxies, headers=headers, verify=False) data = json.loads(response.text) print("Status:", response.status_code) print(json.dumps(data, indent=4))
Führen Sie es aus, und die Antwort enthält strukturierte Felder statt einer HTML-Wand: Name, Preis, Verfügbarkeit, Bewertung, die ASIN selbst und mehr, bereit zum Speichern ohne einen einzigen Selector zu schreiben. Ein gekürztes Beispiel sieht so aus:
{ "name": "OtterBox Commuter Series Case for iPhone 14 Pro Max", "asin": "B0B7CH8DMR", "price": "$32.99", "availability": "In Stock", "rating": "4.6 out of 5 stars", "reviewsCount": 2841 }
Ein bestimmtes Land ansteuern
Preise und Verfügbarkeit bei Amazon variieren je nach Region, daher benötigt ein Preisrecherche-Auftrag häufig Ergebnisse so, wie ein Käufer in einem bestimmten Land sie sehen würde. Übergeben Sie den Parameter country mit einem zweistelligen Code im selben Header CrawlbaseAPI-Parameters, und die Anfrage wird aus dieser Region geleitet. Kombinieren Sie es mit autoparse, indem Sie die Parameter mit einem kaufmännischen Und trennen.
headers = { "CrawlbaseAPI-Parameters": "autoparse=true&country=GB" } response = requests.get(url, proxies=proxies, headers=headers, verify=False)
Mit country=GB kommt die Seite so zurück, wie ein Besucher im Vereinigten Königreich sie sehen würde, bis hin zum „Deliver to"-Standort. Tauschen Sie einen gültigen zweistelligen Code ein, US, DE, JP, um regionsspezifische Preise für dieselbe ASIN abzurufen.
Auf viele ASINs skalieren
Ein Produkt ist eine Demo; ein echter Auftrag läuft über eine Liste von ASINs. Die Struktur bleibt dieselbe: Durchlaufen Sie die Codes, fordern Sie jeden über den Smart AI Proxy mit autoparse an und sammeln Sie die Zeilen. Dosieren Sie die Schleife, damit Sie Amazon nicht überlasten; die IP-Rotation des Proxys verhindert, dass eine einzelne Adresse ein Rate-Limit auslöst.
import os import json import time import requests token = os.environ["CRAWLBASE_TOKEN"] proxy = f"http://{token}@smartproxy.crawlbase.com:8012" proxies = {"http": proxy, "https": proxy} headers = {"CrawlbaseAPI-Parameters": "autoparse=true"} asins = ["B0B7CH8DMR", "B09V3HN1KC", "B0BDHWDR12"] results = [] for asin in asins: url = f"https://www.amazon.com/dp/{asin}" try: r = requests.get(url, proxies=proxies, headers=headers, verify=False) results.append(json.loads(r.text)) except (requests.RequestException, json.JSONDecodeError) as err: print(f"Skipped {asin}: {err}") time.sleep(2) with open("amazon_products.json", "w") as f: json.dump(results, f, indent=2) print(f"Saved {len(results)} products")
Das schreibt ein übersichtliches amazon_products.json, das Sie in eine Tabellenkalkulation, eine Datenbank oder ein Preismodell laden können. Tauschen Sie die hartcodierte Liste gegen ASINs aus, die aus einer Datei gelesen werden, und Sie haben einen wiederholbaren Katalogauftrag. Für eine umfassendere Behandlung der Block-Vermeidung auf jeder Website lesen Sie wie man Websites scrapt, ohne blockiert zu werden.
Die Scraper API als Alternative
Der Smart AI Proxy mit autoparse ist der flexible Weg, da er als Proxy für jeden Client und jede Website funktioniert. Wenn Amazon Ihr Hauptziel ist und Sie lieber einen einfachen REST-Endpunkt aufrufen möchten als einen Proxy zu konfigurieren, ist die Crawling API die speziell entwickelte Alternative. Sie gibt für unterstützte Sites wie Amazon vorab geparste JSON-Daten für Produkt-, Such- und andere Seitentypen zurück, ohne einen Proxy einzurichten. Der Kompromiss ist der Umfang: Der Smart AI Proxy verarbeitet jede URL über eine vertraute Proxy-Schnittstelle, während die Scraper API die sauberste Ausgabe für die spezifischen Sites liefert, die sie unterstützt. Für eine Amazon-lastige Pipeline vergleichen Sie beide gegen Ihre eigene Arbeitslast.
Ist das Scrapen von Amazon legal?
Das Scrapen öffentlicher Amazon-Daten befindet sich in einer rechtlichen Grauzone, und ob ein bestimmtes Projekt erlaubt ist, hängt von Amazons Nutzungsbedingungen, Ihrer Rechtsordnung und dem ab, was Sie mit den Daten machen. Amazons Bedingungen schränken den automatisierten Zugriff ein, sodass Scraping unabhängig von der Sorgfalt Ihrer Werkzeuge gegen diese Bedingungen verstoßen kann. Keiner der hier aufgeführten Codes ändert daran etwas; er macht nur den technischen Teil möglich. Lesen Sie Amazons Nutzungsbedingungen und seine robots.txt, bevor Sie entwickeln, und behandeln Sie die dort genannten Anfragerate-Erwartungen als Mindestmaß, nicht als Vorschlag.
Ein paar Grundsätze, an denen es sich lohnt festzuhalten. Sammeln Sie nur öffentliche Produktdaten: Titel, Preise, Verfügbarkeit, Bewertungen und Rezensionszahlen, die jeder ohne Konto sehen kann. Respektieren Sie robots.txt und halten Sie das Anfragevolumen niedrig genug, dass Sie niemandes Server belasten. Bei kommerzieller Wiederverwendung holen Sie sich eine Erlaubnis oder eine offizielle Datenvereinbarung, anstatt Schweigen als Zustimmung zu werten. Und sammeln Sie niemals personenbezogene Daten, einschließlich allem, was mit einzelnen Kundenkonten verknüpft ist.
Diese Anleitung beschränkt sich bewusst auf öffentliche Produktseiten, da das die Linie ist, die die Arbeit vertretbar macht. Sie deckt nichts hinter einem Login ab, keine Konto- oder Bestelldaten, keine Verkäufer-Dashboards oder Rezensionen, die mit identifizierbaren Personen verknüpft sind, und umgeht keine Authentifizierung jeglicher Art. Wenn Ihr Projekt mehr als öffentliche Produktdaten benötigt, ist eine offizielle Amazon-API oder eine Datenvereinbarung der richtige Schritt, kein ausgefeilterer Scraper.
Wichtigste Erkenntnisse
-
Die ASIN ist der Schlüssel. Es ist ein stabiler 10-stelliger Code (beginnt meist mit
B0), der nach/dp/in jeder Produkt-URL zu finden ist. Verankern Sie Ihren Datensatz daran, nicht an Titeln oder URLs. - Einfache Anfragen werden blockiert. Amazon fordert Rechenzentrum-IPs und bot-ähnlichen Datenverkehr schnell heraus, daher benötigen Sie bei jeder Anfrage eine vertrauenswürdige IP und CAPTCHA-Handling.
-
Der Smart AI Proxy ist ein Drop-in. Richten Sie jeden HTTP-Client darauf als Proxy aus und Ihr Datenverkehr wird über rotierende Residential-IPs mit integrierter Block-Vermeidung geleitet; denken Sie an
-kin curl undverify=Falsein Python. -
autoparse überspringt das Parsen. Senden Sie
autoparse=trueim HeaderCrawlbaseAPI-Parameters, um strukturiertes JSON zu erhalten, und fügen Siecountry=XXfür regionsspezifische Preise hinzu. - Die Scraper API ist die Amazon-native Option. Für einen Amazon-lastigen Auftrag gibt sie vorab geparste JSON-Daten von einem einfachen REST-Endpunkt zurück, ohne einen Proxy zu konfigurieren.
- Bleiben Sie bei öffentlichen Daten. Respektieren Sie Amazons AGB und robots.txt, dosieren Sie Ihre Anfragen und berühren Sie niemals Konten, personenbezogene Daten oder irgendetwas hinter einem Login.
Häufig gestellte Fragen
Was ist eine Amazon-ASIN?
Eine ASIN (Amazon Standard Identification Number) ist ein eindeutiger 10-stelliger alphanumerischer Code, den Amazon jedem Produkt in seinem Katalog zuweist. Es ist die interne Kennung der Plattform für ein Angebot, und bei den meisten Produkten beginnt sie mit B0; Bücher sind die übliche Ausnahme, bei denen die ASIN die ISBN-10 ist. Da der Code für die Lebensdauer des Angebots fest bleibt, ist er der richtige Schlüssel, auf dem ein Scraped-Datensatz aufgebaut werden sollte.
Wie finde ich die ASIN eines Produkts?
Der schnellste Weg ist die URL: Die ASIN erscheint direkt nach dem Segment /dp/, zum Beispiel B0B7CH8DMR in amazon.com/dp/B0B7CH8DMR. Sie erscheint auch in der Tabelle „Produktinformation" auf den meisten Angeboten, und wenn Sie die Seite scrapen, ist sie in einem eingebetteten Feld currentAsin vorhanden, das Sie programmatisch auslesen können.
Warum werden meine Anfragen an Amazon blockiert?
Amazon verteidigt sich hart gegen automatisierten Datenverkehr. Rechenzentrum-IPs und Anfragemuster, die nicht wie ein echter Browser aussehen, erhalten ein CAPTCHA, eine Zwischenseite oder eine vollständige Blockierung, und die Blockierungen kommen schneller, je mehr Sie von einer IP senden. Um echte Seiten zu erhalten, benötigen Sie eine vertrauenswürdige IP und eine Anfrageverwaltung, die Herausforderungen besteht, was das Routing über den Smart AI Proxy bietet.
Was ist der Unterschied zwischen einer ASIN und einer SKU?
Eine ASIN ist Amazons Katalogkennzeichnung, die für jeden Verkäufer, der ein bestimmtes Produkt anbietet, gleich ist. Eine SKU (Stock Keeping Unit) ist ein privater Code, den ein Verkäufer zur Verfolgung seines eigenen Lagerbestands vergibt; sie kann von einem Verkäufer zum nächsten abweichen und wird auch über andere Vertriebskanäle hinweg verwendet. Für Analysen, die dasselbe Produkt bei verschiedenen Verkäufern vergleichen, schließen Sie an der ASIN an, nicht an der SKU.
Sollte ich den Smart AI Proxy oder die Scraper API für Amazon verwenden?
Beide funktionieren. Der Smart AI Proxy ist ein Drop-in-Proxy-Endpunkt, der zu jedem HTTP-Client und jeder Website passt, und mit autoparse=true gibt er strukturiertes JSON für Amazon-Produkte zurück. Die Scraper API ist speziell für unterstützte Sites wie Amazon entwickelt und gibt vorab geparste JSON-Daten von einem einfachen REST-Aufruf zurück, ohne einen Proxy zu konfigurieren. Für eine Amazon-lastige Pipeline vergleichen Sie beide gegen Ihre Arbeitslast; die Scraper API liefert für dieses spezifische Ziel oft die sauberste Ausgabe.
Ist es legal, Amazon zu scrapen?
Das hängt von Amazons Nutzungsbedingungen, Ihrer Rechtsordnung und Ihrem Zweck ab, und Amazons Bedingungen schränken den automatisierten Zugriff ein. Beschränken Sie sich strikt auf öffentliche Produktdaten, Titel, Preise, Verfügbarkeit und Bewertungen, respektieren Sie robots.txt und die dort genannten Anfragerate-Erwartungen, und berühren Sie niemals Konten, personenbezogene Daten oder irgendetwas hinter einem Login. Bei kommerzieller Wiederverwendung holen Sie sich eine Erlaubnis oder eine offizielle Datenvereinbarung, anstatt auf einen Scraper zu vertrauen.
Crawlen Sie jede Website im großen Maßstab, ohne gegen die Infrastruktur zu kämpfen.
Crawlbase übernimmt Proxys, Fingerprints und CAPTCHAs, damit Ihr Team Datenpipelines ausliefert, statt Crawl-Infrastruktur zu pflegen. 1.000 Anfragen kostenlos, keine Karte erforderlich.
