Amazon-Produktschaber unter Verwendung von Selenium-, BeautifulSoup- und Easy2Digital-APIs
In diesem Kapitel möchte ich Ihnen zeigen, wie Sie einen Amazon-Produkt-Scraper erstellen und die abgerufenen Daten in Google Sheets speichern können

Amazon-Produktinformationen in den Suchergebnissen haben einen großen Wert, um 2 Dinge zu verstehen. Sie sind die Verkaufsleistung eines Produkts und die Kundenbewertung zu diesem Produkt und Händler. Dann kann es sich auf eine viel breitere Anwendung ausdehnen, wie z. B. den Preisverfolger und den P&L-Marktwert.
In diesem Kapitel möchte ich Ihnen zeigen, wie Sie einen Amazon-Produkt-Scraper erstellen und die abgerufenen Daten in Google Sheets speichern können. Am Ende dieses Kapitels können Sie lernen, wie Sie das gspread-Modul installieren und wo Sie die Daten in HTML finden können.
Inhaltsverzeichnis: Amazon Product Scraper Using Selenium, BeautifulSoup, and Easy2Digital APIs
- Importieren von Selenium-, BeautifulSoup-Modulen
- Erstellen eines Prototyps des Produkt-Such-Scrapers
- Scrape Multi-Seiten des Suchergebnisses
- Abrufen des abgerufenen Datensatzes in Google Sheets speichern
- Amazon Product Scraper Full Python Script
Amazon Product Scraper – Importieren von Selenium-, BeautifulSoup- und gspread-Modul
Es erlaubt Ihnen nicht, die Website mit BeautifulSoup in einem Python-Skript zu besuchen. Es würde als Ergebnis von „Entschuldigung, etwas falsch gelaufen“ erscheinen. Stattdessen können Sie die Produktinformationen reibungslos abrufen, indem Sie Selenium verwenden. Das Importieren dieser beiden Module ist der gleiche Prozess wie bei früheren Skripten, die ich für andere Bots gemacht habe.
Dieses Skript ist auch nicht nur für das Abrufen und Speichern von Produktinformationen in einem Blatt. Es zielt auch darauf ab, die Daten automatisch gemäß einem Zeitplan zu aktualisieren und die Marketinginformationen und Produktkosten der Wettbewerber zu verfolgen. Für den Preisverfolger würde ich einen anderen Artikel veröffentlichen. Aus diesem Grund würde ich empfehlen, die Google Sheet-APIs zu verwenden und die Daten auf dem Google Sheet zu verwalten. Hier empfehle ich gspread, da es die Dinge einfacher macht.
Um die Google Sheet-API zu erstellen und den Service-Account einzurichten, können Sie auf den anderen Artikel verweisen. Ich habe zuvor einen Artikel veröffentlicht. Weitere Details finden Sie in diesem Artikel.
Ich würde sagen, dass die Easy2Digital Google Sheets API viel einfacher mit Google API zu verbinden und abgerufene Daten zu verwalten ist. Zuerst müssen Sie einen kostenlosen Easy2Digital-API-Token beantragen
Dann kopieren Sie den Namen des JSON-Schlüssels, den Sie von Ihrem neuen Google-API-Servicekonto heruntergeladen haben, und fügen Sie ihn in das Skript ein, das mit der Easy2Digital-API googleJsonparameter verbunden ist.
Für weitere Details lesen Sie bitte die API-Dokumentation
Amazon Product Scraper – Erstellen eines Prototyps des Produkt-Such-Scrapers
Sie können mit Suchanfragen jede Produktinformation suchen. Im Grunde ist dies das Prototyp des Amazon-Produkt-Scrapers, unabhängig davon, nach welchem Produkt Sie suchen. Oder wo immer Sie durch den Amazon-Markt suchen.
1. Amazon-URL-Struktur für Suchanfragen
Sie werden feststellen, dass es zwei Parameter in der URL gibt, die das SERP steuern. Der eine ist k gefolgt von dem Schlüsselwort. Der andere ist die Seite, die von der Seitenzahl gefolgt wird.
https://www.amazon.com/s?k=ring+camera&page=2
Sie können also zwei Variablen für die spätere Verwendung erstellen. Eine repräsentiert das Keyword, nach dem Sie suchen. Eine ist für das dynamische Schleifen und Abrufen von mehreren Seiten.
query = "ring+camera"
page = "&page="
2. Suchen Sie den Produktinformationsblock im SERP
Sie können auf eine beliebige Produktüberschrift mit der rechten Maustaste klicken und die Inspektionsfunktion verwenden. Sie können sehen, welche Elemente den gesamten Produktinformationsblock finden können. Der Block enthält alle Kernproduktinformationen, die Sie abrufen möchten. Sie sind z. B. ASIN, Preisgestaltung, Titel, URL, Bewertungszahl usw. Es ist ähnlich wie das Web-Scraping, das ich zuvor geteilt habe.

Wie Sie sehen können, befinden sich alle Informationen in einem Div und einem Tag namens Data Component Type. Sie können also den Code wie folgt entwerfen. Dies ist für das Scraping der 1. Seite.
driver.get("https://www.amazon.com/s?k=query")
soup = BeautifulSoup(driver.page_source, 'html.parser')
results = soup.find_all('div',{'data-component-type': 's-search-result'})
3. Wählen Sie den Datentyp aus und scrapen Sie spezifisch
ASIN ist ein Schlüsselelement, das Sie abrufen müssen, da der Preisverfolger dieses Element benötigt, um sich mit Ihrem aktuellen P&L-Rechner zu verbinden. Ich würde darüber in dem anderen Artikel sprechen.
Wie Sie sehen können, befindet sich der ASIN-Wert in diesem Tag Data-ASIN. Sie können also eine Variable erstellen und attrs verwenden, um die ASIN-Nummer jedes Produkts abzurufen
asins = item.attrs['data-asin']
Dann ist der Produkttitel das h2 in HTML. Der Python-Code kann jedoch wie folgt lauten. Für das Entfernen von führenden (Leerzeichen am Anfang) und abschließenden (Leerzeichen am Ende) Zeichen können Sie nach dem Text strip() verwenden
try:
title = item.h2.a.text.strip()
except Exception as e:
raise None
Die Preisgestaltung ist ein weiteres Schlüsselelement im Preisverfolger, da sie dynamisch ist und je nach Werbeaktion Ihres Konkurrenten variieren kann. Daher kann Ihnen dieser Code dabei helfen, die Preisgestaltung abzurufen. Ich würde jedoch empfehlen, dass Sie für das Filtern und Berechnen des Marktwerts später das Währungssignal entfernen. Dies dient dazu, sicherzustellen, dass die Daten im Google Sheets im Zahlenformat vorliegen.
try:
price_parent = item.find('span','a-price')
price = price_parent.find('span','a-offscreen').text.replace('$','')
except Exception as e:
price_parent = '0'
price = '0'
Amazon Product Scraper – Scrape Multi-pages of Search Result
Die erste Seite der Amazon-Suchergebnisseite hat durchschnittlich 22 Produkte. Es könnte nicht ausreichen, um die Marktleistung und -möglichkeit eines Produkts zu verstehen. In diesem Fall müssen Sie mehr als eine Seite abrufen. Glücklicherweise ist es nicht kompliziert und ähnelt dem Web-Paginierungs-Scraper, den ich zuvor geteilt habe.
Zunächst müssen Sie eine Schleife auf der höheren Ebene als der spezifischen Datenabrufschleife erstellen. Sie können eine Variable X erstellen.
Dann können Sie in der Range die Anzahl der Seiten festlegen. Aber denken Sie daran, dass die letzte Seite y – 1 sein sollte. Hier ist beispielsweise die letzte Seite 3, was bedeutet, dass die letzte Seite 2 ist.
for x in range (1,3):
driver.get("https://www.amazon.com/s?k="+query+page+str(x))
soup = BeautifulSoup(driver.page_source, 'html.parser')
results = soup.find_all('div',{'data-component-type': 's-search-result'})
for item in results:
asins = item.attrs['data-asin']
Last but not least, wie Sie wissen, müssen wir die Amazon-URL-Struktur aktualisieren. Dazu gehört Folgendes.
driver.get("https://www.amazon.com/s?k="+query+page+str(x))
Speichern Sie abgerufene Daten in Google Sheets
Jetzt sind die Dinge bereit, und es ist an der Zeit, die Google Sheet zu füttern und zu speichern. Sie müssen die „POST“-Methode verwenden und die abgerufenen Daten und den bestimmten Tabellentab mit der Zellenposition als zwei Variablen hinzufügen. Verwenden Sie dazu den Easy2Digital API-Parameter
Vollständiges Python-Skript von Amazon Product Scraper
Wenn Sie die vollständige Version des Python-Skripts von Amazon Product Scraper erhalten möchten, abonnieren Sie bitte unseren Newsletter, indem Sie die Nachricht „Kapitel 16“ hinzufügen. Wir senden Ihnen das Skript sofort zu Ihrem Posteingang.
Ich hoffe, Sie haben Kapitel 16 – Amazon Product Scraper mit Selenium, BeautifulSoup und Easy2Digital APIs gerne gelesen. Wenn ja, unterstützen Sie uns bitte, indem Sie eine der unten aufgeführten Dinge tun, denn es hilft unserem Kanal immer.

- Unterstützen Sie unseren Kanal durch Spenden über PayPal (paypal.me/Easy2digital)
- Abonnieren Sie meinen Kanal und schalten Sie die Benachrichtigungsglocke ein Easy2Digital Youtube Kanal.
- Folgen Sie und liken Sie unsere Seite Easy2Digital Facebook Seite
- Teilen Sie den Artikel in Ihrem sozialen Netzwerk mit dem Hashtag #easy2digital
- Melden Sie sich für unseren wöchentlichen Newsletter an, um die neuesten Artikel, Videos und Rabattcodes von Easy2Digital zu erhalten
- Abonnieren Sie unsere monatliche Mitgliedschaft über Patreon, um exklusive Vorteile zu genießen (www.patreon.com/louisludigital)