Auf dem immer größer werdenden digitalen Marktplatz kann die Gewinnung wertvoller Erkenntnisse aus Amazons umfangreichen Produktlisten für Unternehmen und Forscher von entscheidender Bedeutung sein. Egal, ob Sie ein Verkäufer sind, der die Preise der Konkurrenz analysieren möchte, ein Datenwissenschaftler, der Markttrends untersucht, oder ein E-Commerce-Enthusiast, das umfangreiche Web Scraping von Amazon-Suchseiten kann Ihnen die Daten liefern, die Sie benötigen. Das umfangreiche Scraping der Suchergebnisse von Amazon ist jedoch eine anspruchsvolle Aufgabe, vor allem aufgrund der enormen Datenmenge, der komplizierten Web-Layouts, der Ratenbeschränkungen, der CAPTCHAs und anderer Sicherheitsmaßnahmen.

In diesem umfassenden Leitfaden erfahren Sie, wie Sie Amazon-Suchseiten in großem Umfang scrapen können mit Python und der Crawlbase Crawling API. Sie können Daten aus Amazons umfangreichen Produktlisten effizient extrahieren und analysieren, indem Sie diese leistungsstarke Kombination nutzen. Egal, ob Sie E-Commerce-Unternehmer, Datenanalyst oder Forscher sind, dieser Leitfaden stattet Sie mit den Tools und dem Wissen aus, um die Leistungsfähigkeit von Web Scraping für Ihre Amazon-bezogenen Projekte zu nutzen.

Inhaltsverzeichnis

  1. Die Notwendigkeit des Scrapings von Amazon-Suchseiten verstehen
  • Warum Amazon-Suchseiten scrapen?
  • Die Rolle von Web Scraping
  1. Erste Schritte mit Crawlbase Crawling API
  • Einführung von Crawlbase Crawling API
  • Warum Crawlbase wählen? Crawling API?
  • Crawlbase Python-Bibliothek
  1. Voraussetzungen:
  • Einrichten Ihrer Entwicklungsumgebung
  • Erforderliche Bibliotheken installieren
  • Erstellen eines Crawlbase-Kontos
  1. Grundlegendes zur Struktur der Amazon-Suchseite
  • Anatomie einer Amazon-Suchseite
  • Identifizieren interessanter Datenpunkte
  • Dynamischer Inhalt und JavaScript-Rendering
  1. Scraping von Amazon-Suchseiten mit Crawling API
  • Abrufen des richtigen Crawlbase-Tokens
  • Einrichten von Crawlbase Crawling API
  • Umgang mit dynamischen Inhalten
  • Einen Schaber auswählen
  • Umgang mit Paginierung
  1. Schlussfolgerung
  2. Häufig gestellte Fragen

1. Die Notwendigkeit des Scrapings von Amazon-Suchseiten verstehen

In der riesigen Welt des Online-Shoppings ist Amazon ein Gigant. Das Unternehmen bietet eine beispiellose Produktauswahl in den verschiedensten Kategorien und ist damit für Käufer aus aller Welt eine beliebte Anlaufstelle. Doch dieser digitale Marktplatz birgt eine wahre Fundgrube an Daten und Erkenntnissen, die nur darauf warten, entdeckt zu werden.

Warum Amazon-Suchseiten scrapen?

Als eine der weltweit größten E-Commerce-Plattformen bietet Amazon verschiedene Produkte in unterschiedlichen Kategorien an. Der Zugriff auf Echtzeitdaten von Amazon-Suchseiten kann für Unternehmen und Einzelpersonen von unschätzbarem Wert sein. Hier sind einige überzeugende Gründe, warum das Scraping von Amazon-Suchseiten unerlässlich ist:

Marktforschung:
Durch das Scraping der Amazon-Suchergebnisse können Sie eine eingehende Marktforschung durchführen. Sie können Produkttrends analysieren, die meistverkauften Artikel identifizieren und Kundenpräferenzen verstehen. Diese Daten können Ihre Produktentwicklungs- und Marketingstrategien leiten.

Wettbewerbsanalyse:
Im heutigen wettbewerbsintensiven E-Commerce-Umfeld ist es entscheidend, die Konkurrenz zu verstehen. Durch das Scraping von Amazon-Einträgen können Sie Einblicke in die Produktangebote, Preisstrategien und Kundenbewertungen Ihrer Konkurrenz gewinnen.

Preisoptimierung:
Dynamische Preisgestaltung ist bei Amazon weit verbreitet und die Preise ändern sich häufig. Durch das Scraping der Amazon-Suchseiten können Sie Preisschwankungen überwachen und Ihre Preisstrategie in Echtzeit anpassen, um wettbewerbsfähig zu bleiben.

Inhaltsaggregation:
Wenn Sie eine Website mit Produktbewertungen betreiben oder aktuelle Produktinformationen für Ihre Anwendung benötigen, können Sie mit Web Scraping Inhalte aus den Produktlisten von Amazon aggregieren.

Investitionsentscheidungen:
Für Anleger kann das Scraping von Amazon-Daten wertvolle Informationen liefern, um die Leistung von E-Commerce-Unternehmen zu beurteilen und fundierte Anlageentscheidungen zu treffen.

Warum Amazon-Suchseiten scrapen?

Die Rolle von Web Scraping

Web Scraping ist der Prozess der automatischen Datenextraktion von Websites. Dabei werden HTTP-Anfragen an eine Website gesendet, der HTML-Inhalt abgerufen und bestimmte Informationen analysiert und extrahiert. Im Zusammenhang mit Amazon-Suchseiten hilft uns Web Scraping dabei, Produktdetails wie Titel, Preise, Bewertungen und mehr zu extrahieren.

Web Scraping bietet mehrere Vorteile:

Effizienz:
Die Automatisierung der Datenextraktion spart im Vergleich zur manuellen Datenerfassung Zeit und Ressourcen.

Echtzeitdaten:
Web Scraping bietet Zugriff auf Echtzeitdaten und ermöglicht Ihnen, zeitnahe Entscheidungen auf Grundlage der neuesten Informationen zu treffen.

Skalierbarkeit:
Mit den richtigen Tools und Techniken kann Web Scraping skaliert werden, um Daten von Hunderten oder Tausenden von Webseiten zu sammeln.

Datengenauigkeit:
Web Scraping verringert das Risiko menschlicher Fehler, die mit der manuellen Dateneingabe verbunden sind.

2. Erste Schritte mit Crawlbase Crawling API

Wenn Sie neu im Web Scraping sind oder bereits Erfahrung auf diesem Gebiet haben, werden Sie feststellen, dass die Crawlbase Crawling API ist ein leistungsstarkes Tool, das das Extrahieren von Daten von Websites, einschließlich Amazon-Suchseiten, vereinfacht. Bevor wir uns mit den Einzelheiten der Verwendung dieser API befassen, sollten wir uns einen Moment Zeit nehmen, um zu verstehen, warum sie wichtig ist und welche Vorteile sie Ihnen bietet.

Einführung von Crawlbase Crawling API

Crawlbase Crawling API ist ein robustes Tool, mit dem Entwickler und Unternehmen problemlos und in großem Umfang Daten von Websites extrahieren können. Es wurde entwickelt, um das Web Scraping durch eine benutzerfreundliche Oberfläche und leistungsstarke Funktionen zu vereinfachen. Mit Crawlbase können Sie den Prozess der Datenextraktion von Websites, einschließlich Amazon-Suchseiten, automatisieren und so wertvolle Zeit und Mühe sparen.

Crawlbase bietet eine Restful-API, mit der Sie programmgesteuert mit der Crawling-Infrastruktur interagieren können. Das bedeutet, dass Sie Anfragen an die API senden können, in denen Sie die URLs angeben, die Sie scrapen möchten, sowie die verfügbaren Abfrageparametern, und erhalten Sie die Scraped-Daten in einem strukturierten Format, normalerweise HTML oder JSON. Weitere Informationen zu Crawlbase finden Sie hier Crawling API HIER.

Warum Crawlbase wählen? Crawling API?

Sie fragen sich vielleicht, warum Sie sich für Crawlbase entscheiden sollten Crawling API wenn andere Web Scraping Tools und Bibliotheken verfügbar sind. Hier sind einige überzeugende Gründe:

Skalierbarkeit: Crawlbase ist für groß angelegtes Web Scraping konzipiert. Egal, ob Sie ein paar hundert oder Millionen Seiten scrapen müssen, Crawlbase kann damit umgehen und stellt sicher, dass Ihre Scraping-Projekte mit Ihren Anforderungen wachsen können.

Zuverlässigkeit: Web Scraping kann anspruchsvoll sein, da Websites häufig ihre Struktur ändern. Crawlbase bietet eine robuste Fehlerbehandlung und -überwachung und verringert so die Wahrscheinlichkeit, dass Ihre Scraping-Jobs unerwartet fehlschlagen.

Proxy-Verwaltung: Viele Websites nutzen Anti-Scraping-Maßnahmen wie IP-Blockierung. Crawlbase bietet Proxy-Management, damit Sie IP-Sperren vermeiden und zuverlässiger auf Daten zugreifen können.

Bequemlichkeit: Mit der API von Crawlbase müssen Sie sich nicht um die Erstellung und Wartung Ihres eigenen Crawlers oder Scrapers kümmern. Es handelt sich um eine Cloud-basierte Lösung, die die technischen Komplexitäten bewältigt, sodass Sie sich auf Ihre Datenextraktionsaufgaben konzentrieren können.

Echtzeitdaten: Mit Crawling APIhaben Sie immer Zugriff auf die neuesten und aktuellsten Daten. Es durchsucht alles in Echtzeit. Dies ist für eine genaue Analyse und Entscheidungsfindung von entscheidender Bedeutung.

Kosteneffizient: Der Aufbau und die Wartung einer internen Scraping-Lösung können kostspielig sein. Crawling API ist sehr kostengünstig und Sie müssen nur entsprechend Ihren Anforderungen bezahlen. Sie können die Preise berechnen für Crawling API Verwendung HIER.

Warum sollten Sie sich Crawling API

Crawlbase Python-Bibliothek

Um die Leistung von Crawlbase zu nutzen Crawling API, können Sie die Crawlbase Python-Bibliothek. Diese Bibliothek vereinfacht die Integration von Crawlbase in Ihre Python-Projekte und macht es für Python-Entwickler aller Erfahrungsstufen zugänglich.

Initialisieren Sie zunächst den Crawling API Klasse.

1
api = CrawlingAPI({ 'Zeichen': 'IHR_CRAWLBASE_TOKEN' })

Übergeben Sie die URL, die Sie scrapen möchten, mithilfe der folgenden Funktion.

1
api.get(url, Optionen = {})

Sie können alle Optionen aus den verfügbaren Optionen übergeben API-Dokumentation.

Beispiel:

1
2
3
4
5
6
Antwort = api.get(„https://www.reddit.com/r/pics/comments/5bx4bx/thanks_obama/“, {
'Benutzeragent': „Mozilla/5.0 (Windows NT 6.2; rv:20.0) Gecko/20121202 Firefox/30.0“,
'Format': 'json'
})
if Antwort['Statuscode'] == 200:
drucken(Antwort['Körper'])

Die Crawlbase Python-Bibliothek bietet viele weitere Funktionen. Weitere Informationen finden Sie hier. HIER.

In den folgenden Abschnitten führen wir Sie durch die Nutzung der Funktionen der Crawlbase Crawling API um Amazon-Suchseiten effektiv zu durchsuchen. Wir verwenden Python, eine vielseitige Programmiersprache, um den Prozess Schritt für Schritt zu demonstrieren. Lassen Sie uns Amazons Informationsreichtum erkunden und lernen, wie wir sein Potenzial freisetzen können.

3. Voraussetzungen

Bevor wir uns auf unsere Web Scraping-Reise begeben, stellen wir sicher, dass Sie alle erforderlichen Tools und Ressourcen bereit haben. In diesem Kapitel behandeln wir die Voraussetzungen für ein erfolgreiches Web Scraping von Amazon-Suchseiten mit der Crawlbase Crawling API.

Einrichten Ihrer Entwicklungsumgebung

Um mit dem Web Scraping beginnen zu können, benötigen Sie eine geeignete Entwicklungsumgebung. Folgendes benötigen Sie:

Python:
Python ist eine vielseitige Programmiersprache, die häufig beim Web Scraping verwendet wird. Stellen Sie sicher, dass Python auf Ihrem System installiert ist. Sie können die neueste Version von Python von der offiziellen Website herunterladen. HIER.

Code-Editor oder IDE:
Wählen Sie einen Code-Editor oder eine integrierte Entwicklungsumgebung (IDE) zum Schreiben und Ausführen Ihres Python-Codes. Beliebte Optionen sind PyCharm und Jupyter Notizbuch. Sie können auch verwenden Google ColabWählen Sie diejenige aus, die Ihren Vorlieben und Ihrem Arbeitsablauf am besten entspricht.

Erforderliche Bibliotheken installieren

Web Scraping in Python wird durch Bibliotheken zugänglicher, die Aufgaben wie das Erstellen von HTTP, das Parsen von HTML und die Verarbeitung von Daten vereinfachen. Installieren Sie die folgenden Bibliotheken mit pip, dem Paketmanager von Python:

1
2
Pandas installieren
pip installieren crawlbase

Pandas: Pandas ist eine leistungsstarke Bibliothek zur Datenbearbeitung, die Ihnen dabei hilft, die Scraped-Daten effizient zu organisieren und zu analysieren.
Crawlbase: Eine leichte, abhängigkeitsfreie Python-Klasse, die als Wrapper für die Crawlbase-API fungiert.

Erstellen eines Crawlbase-Kontos

So greifen Sie auf die Crawlbase zu Crawler API benötigen Sie ein Crawlbase-Konto. Wenn Sie noch keins haben, folgen Sie diesen Schritten, um ein Konto zu erstellen:

  1. Klicken Sie HIER um ein neues Crawlbase-Konto zu erstellen.
  2. Geben Sie die erforderlichen Informationen ein, einschließlich Ihres Namens, Ihrer E-Mail-Adresse und Ihres Passworts.
  3. Bestätigen Sie Ihre E-Mail-Adresse, indem Sie auf den an Ihren Posteingang gesendeten Bestätigungslink klicken.
  4. Sobald Ihre E-Mail bestätigt ist, können Sie auf Ihr Crawlbase-Dashboard zugreifen.

Nachdem Ihre Entwicklungsumgebung nun eingerichtet ist und Sie ein Crawlbase-Konto haben, können wir mit den nächsten Schritten fortfahren. Wir erhalten Ihr Crawlbase-Token und beginnen, Anfragen an die Crawlbase zu stellen. Crawling API.

4. Die Struktur der Amazon-Suchseite verstehen

Bevor wir uns auf unsere Web Scraping-Reise begeben, ist es wichtig, die Struktur einer Amazon-Suchseite zu verstehen. Die Webseiten von Amazon sind sorgfältig gestaltet, um ein nahtloses Einkaufserlebnis zu bieten, aber hinter der benutzerfreundlichen Oberfläche verbirgt sich eine Fülle wertvoller Daten. Amazon stellt die folgende URL für die Suchanfragen bereit.

1
2
# Ersetzen Sie serch_query durch die gewünschte
https://www.amazon.com/s?k=search_query

Anatomie einer Amazon-Suchseite

Eine Amazon-Suchseite besteht normalerweise aus mehreren Schlüsselelementen:

Amazon-Suchseite
  1. Header: Der obere Abschnitt der Seite enthält das Amazon-Logo, die Suchleiste und Navigationslinks. Er bietet Zugriff auf verschiedene Bereiche der Amazon-Website.
  2. Search Results: Dies ist der Kern der Seite, wo Sie die Suchergebnisse finden. Jedes Ergebnis stellt eine Produktliste dar und enthält Informationen wie Produktname, Preis, Verkäufer und Kundenbewertungen.
  3. Filter und Sortieroptionen: Amazon ermöglicht es Benutzern, ihre Suchergebnisse zu verfeinern, indem sie Filter basierend auf Preisspanne, Marke, Kundenbewertungen und mehr anwenden. Mit Sortieroptionen können Benutzer Produkte nach Relevanz, Preis oder Kundenbewertungen sortieren.
  4. Seitennummerierung: Wenn sich die Suchergebnisse über mehrere Seiten erstrecken, befinden sich die Steuerelemente für die Seitennummerierung normalerweise unten auf der Seite. Benutzer können durch die verschiedenen Ergebnisseiten navigieren.
  5. Footer: Die Fußzeile enthält Links zu verschiedenen Amazon-Richtlinien, zum Kundenservice und zu zusätzlichen Ressourcen. Es ist der letzte Abschnitt der Seite.

Identifizieren interessanter Datenpunkte

Um Amazon-Suchseiten effektiv zu scrapen, müssen Sie die spezifischen Datenpunkte identifizieren, die Sie extrahieren möchten. Abhängig von Ihren Zielen könnten Sie an verschiedenen Informationen interessiert sein, darunter:

  • Produktname: Der Name des verkauften Produkts.
  • Preis: Der aktuelle Preis des Produkts.
  • Angaben zum Verkäufer: Details zum Verkäufer, wie Name und Bewertungen.
  • Produktverfügbarkeit: Informationen darüber, ob das Produkt auf Lager oder nicht auf Lager ist.
  • Produkt-URL: Die URL, die zur Produktseite bei Amazon führt.
  • Kundenbewertungen: Bewertungen und Rezensionen von Kunden, die das Produkt gekauft haben.
  • Produkt-Eigenschaften: Hauptmerkmale oder Eigenschaften des Produkts.
  • Versandinformationen: Details zu den Versandmöglichkeiten, inklusive Lieferzeiten und -kosten.
  • Gesponserte Einträge: Amazon zeigt oben in den Suchergebnissen häufig gesponserte Einträge an. Dabei handelt es sich um bezahlte Werbung.

Dynamischer Inhalt und JavaScript-Rendering

Wie viele moderne Websites verwendet Amazon das dynamische Laden von Inhalten mithilfe von JavaScript-Rendering und Ajax-Aufrufen. Dies bedeutet, dass einige Teile der Seite, wie Suchergebnisse und Filter, möglicherweise nicht im ursprünglichen HTML-Quellcode vorhanden sind. Stattdessen werden sie dynamisch geladen, nachdem die Seite erstmals im Browser des Benutzers geladen wurde.

Dieses dynamische Verhalten kann beim Versuch, Daten von Amazon-Suchseiten zu extrahieren, zu Problemen führen. Mit der Crawlbase Crawling APIkönnen Sie diese Herausforderungen effektiv bewältigen. In den nächsten Abschnitten werden wir untersuchen, wie Sie mit dynamischen Inhalten und JavaScript-Rendering beim Scraping von Amazon-Suchseiten umgehen.

Wenn Sie die Struktur der Amazon-Suchseiten verstehen und die Datenpunkte identifizieren, die Sie interessieren, sind Sie besser darauf vorbereitet, gezielte Web Scraping-Abfragen mit der Crawlbase zu erstellen. Crawling API. In den nächsten Kapiteln vertiefen wir uns in die praktischen Aspekte des Web Scraping und führen Sie durch den Prozess der effizienten Gewinnung dieser wertvollen Informationen.

5. Scraping von Amazon-Suchseiten mit Crawling API

In diesem Abschnitt begeben wir uns auf eine spannende Reise, um Amazon-Suchseiten in großem Umfang mithilfe der Crawlbase zu scrapen. Crawling API. Wir werden beispielsweise wichtige Informationen über Produkte sammeln, die mit der Suchanfrage „Spiele“ auf Amazon in Zusammenhang stehen. Dazu verwenden wir die Crawlbase Python-Bibliothek, die eine nahtlose Integration mit der Crawling API. Lassen Sie uns in den Prozess eintauchen:

Abrufen des richtigen Crawlbase-Tokens

Wir müssen ein API-Token erhalten, bevor wir die Leistung der Crawlbase entfesseln können Crawling API. Crawlbase bietet zwei Arten von Token: den Normal Token (TCP) für statische Websites und den JavaScript Token (JS) für dynamische oder JavaScript-gesteuerte Websites. Da Amazon beim dynamischen Laden von Inhalten stark auf JavaScript angewiesen ist, entscheiden wir uns für den JavaScript Token.

1
2
3
4
für Crawlbase importieren CrawlingAPI

# Initialisieren Sie die Crawling API mit Ihrem Crawlbase JavaScript-Token
api = CrawlingAPI({ 'Zeichen': „SIE_CRAWLBASE_JS_TOKEN“ })

Sie können Ihr Crawlbase-Token erhalten HIER nachdem Sie ein Konto darauf erstellt haben.

Einrichten von Crawlbase Crawling API

Mit unserem JavaScript-Token in der Hand sind wir bereit, die Crawlbase zu konfigurieren Crawling API. Bevor wir weitermachen, müssen wir etwas über die Struktur der Ausgabeantwort wissen. Sie können die Ausgabeantwort in zwei Typen erhalten: HTML oder JSON. Standardmäßig Crawling API verwendet das HTML-Format.

HTML-Antwort:

1
2
3
4
5
6
7
Headers:
URL: „Die URL, die gecrawlt wurde“
ursprünglicher_status: 200
pc_status: 200

Korpus:
Das HTML der Seite

Um die Antwort im JSON-Format zu erhalten, müssen Sie einen Parameter „format“ mit dem Wert „json“ übergeben.

JSON-Antwort:

1
2
3
4
5
6
{
"ursprünglicher_Status": "200",
"pc_status": 200,
"URL": „Die URL, die gecrawlt wurde“,
"Karosserie": „Das HTML der Seite“
}

Wir können mehr darüber lesen Crawling API Antwort hier. Für das Beispiel verwenden wir die Standardoption. Wir verwenden das initialisierte API-Objekt, um Anfragen zu stellen. Geben Sie die URL an, die Sie scrapen möchten, indem Sie die Funktion api.get(url, options={}) verwenden.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
für Crawlbase importieren CrawlingAPI

# Initialisieren Sie die Crawling API mit Ihrem Crawlbase-Token
api = CrawlingAPI({ 'Zeichen': „SIE_CRAWLBASE_JS_TOKEN“ })

# URL der Amazon-Suchseite, die Sie scrapen möchten
amazon_search_url = „https://www.amazon.com/s?k=games“

# Stellen Sie eine Anfrage zum Scrapen der Amazon-Suchseite
Antwort = api.get(amazon_search_url)

# Überprüfen Sie, ob die Anfrage erfolgreich war
if Antwort['Statuscode'] == 200:
# Extrahierter HTML-Inhalt nach dem Dekodieren von Byte-Daten
#latin1 verarbeitet auch chinesische Schriftzeichen)
html_content = Antwort['Körper'].dekodieren('lateinisch1')

# Speichern Sie den HTML-Inhalt in einer Datei
mit XNUMXh geöffnet('ausgabe.html', 'w', Kodierung='utf-8') as Datei:
datei.schreiben(html_inhalt)
sonst:
drucken(„Die Seite konnte nicht abgerufen werden. Statuscode:“, Antwort['Statuscode'])

Im obigen Codeausschnitt bewahren wir den abgerufenen HTML-Inhalt auf, indem wir ihn in einer HTML-Datei speichern. Dieser Schritt ist wichtig, um zu überprüfen, ob wir die gewünschten HTML-Daten erfolgreich abgerufen haben. Wir können eine Vorschau der Datei anzeigen und sehen, welche Inhalte im gecrawlten HTML enthalten sind.

output.html Vorschau:

Ausgabe ohne Inhalt

Wie Sie oben sehen können, sind im gecrawlten HTML keine nützlichen Informationen vorhanden. Dies liegt daran, dass Amazon seine wichtigen Inhalte dynamisch mit JavaScript und Ajax lädt.

Umgang mit dynamischen Inhalten

Wie viele moderne Websites verwenden Amazon-Suchseiten dynamisches Laden von Inhalten mithilfe von JavaScript-Rendering und Ajax-Aufrufen. Dieses dynamische Verhalten kann beim Versuch, Daten von diesen Seiten zu extrahieren, zu Problemen führen. Mit der Crawlbase Crawling APIkönnen Sie diese Herausforderungen effektiv bewältigen. Wir können die folgenden Abfrageparameter verwenden, die bereitgestellt werden von Crawling API um dieses Problem zu lösen.

Hinzufügen von Parametern
Wenn Sie das JavaScript-Token mit der Crawlbase-API verwenden, können Sie einige spezielle Parameter angeben, um sicherzustellen, dass Sie den dynamisch gerenderten Inhalt genau erfassen. Hier sind einige wichtige Parameter:

  • Seite_warten: Mit diesem optionalen Parameter können Sie die Anzahl der Millisekunden angeben, die gewartet werden soll, bevor der Browser den resultierenden HTML-Code erfasst. Verwenden Sie diesen Parameter in Situationen, in denen das Rendern einer Seite einige Zeit in Anspruch nimmt oder wenn AJAX-Anfragen geladen werden müssen, bevor das HTML erfasst wird.
  • ajax_wait: Ein weiterer optionaler Parameter für das JavaScript-Token. Damit können Sie angeben, ob auf die Fertigstellung von AJAX-Anfragen gewartet werden soll, bevor die HTML-Antwort empfangen wird. Dies ist wichtig, wenn der Inhalt auf AJAX-Anfragen basiert.

Um diese Parameter in unserem Beispiel zu verwenden, können wir unseren Code wie folgt aktualisieren:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
für Crawlbase importieren CrawlingAPI

# Initialisieren Sie die Crawling API mit Ihrem Crawlbase-Token
api = CrawlingAPI({ 'Zeichen': „SIE_CRAWLBASE_JS_TOKEN“ })

# URL der Amazon-Suchseite, die Sie scrapen möchten
amazon_search_url = „https://www.amazon.com/s?k=games“

# Optionen für Crawling API
Optionen = {
'Seite_warten': 2000,
'ajax_wait': "wahr"
}

# Stellen Sie eine Anfrage zum Scrapen der Amazon-Suchseite mit Optionen
Antwort = api.get(amazon_search_url, Optionen)

# Überprüfen Sie, ob die Anfrage erfolgreich war
if Antwort['Statuscode'] == 200:
# Extrahierter HTML-Inhalt nach dem Dekodieren von Byte-Daten
html_content = Antwort['Körper'].dekodieren('lateinisch1')

# Speichern Sie den HTML-Inhalt in einer Datei
mit XNUMXh geöffnet('ausgabe.html', 'w', Kodierung='utf-8') as Datei:
datei.schreiben(html_inhalt)
sonst:
drucken(„Die Seite konnte nicht abgerufen werden. Statuscode:“, Antwort['Statuscode'])

output.html Vorschau:

Ausgabe mit Inhalt

Crawling API liefert viele weitere wichtige Parameter. Sie können mehr darüber lesen HIER.

Einen Schaber auswählen

Crawling API bietet mehrere integrierte Scraper für verschiedene wichtige Websites, darunter Amazon. Hier können Sie mehr über die verfügbaren Scraper erfahren. Der Parameter „Scraper“ wird verwendet, um die abgerufenen Daten gemäß einem bestimmten Scraper zu analysieren, der von der Crawlbase-API bereitgestellt wird. Er ist optional. Wenn er nicht angegeben wird, erhalten Sie das vollständige HTML der Seite zum manuellen Scraping. Wenn Sie diesen Parameter verwenden, wird die Antwort als JSON zurückgegeben, das die gemäß dem angegebenen Scraper analysierten Informationen enthält.

Beispiel:

1
2
# Beispiel mit einem bestimmten Scraper
Antwort = api.get(„https://www.amazon.com/s?k=your_search_query“, { 'Schaber': „Schabername“ })

Einer der verfügbaren Scraper ist „amazon-serp“, der für Suchergebnisseiten von Amazon entwickelt wurde. Er gibt eine Reihe von Produkten mit Details wie Name, Preis, Kundenrezensionen und mehr zurück. Hier ist ein Beispiel für die Ausgabe des Scrapers „amazon-serp“:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
{
"Produkte": [
{
"Name": "Produktname",
"Preis": "$ 19.99",
"Rohpreis": 19.99,
"Währung": "$",
"Angebot": "Angebotsdetails",
"Kundenrezension": „4.5 von 5 Sternen“,
"Kundenbewertungsanzahl": "1,234",
"Versandnachricht": "Versanddetails",
"asin": „Produkt-ASIN“,
"Bild": „Produktbild-URL“,
"URL": "Produkt-URL",
"istPrime": was immer dies auch sein sollte.,
„gesponserte Anzeige“: falsch,
"GutscheinInfo": "Gutscheindetails",
"AbzeichenInfo": ["Abzeichen 1", "Abzeichen 2"]
}
// Weitere Produkteinträge...
],
"ErgebnisInfo": „Ergebnisinformationen“,
"Pagination": {
"aktuelleSeite": 1,
"nächsteSeite": 2,
"Gesamtseiten": 20
}
}

Dies beinhaltet alle gewünschten Informationen. Da die Antwort diesmal JSON sein wird, speichern wir einige wichtige Informationen zu jedem Produktobjekt in einer CSV-Datei. Fügen wir also diesen Parameter in unser Beispiel ein und nehmen die Änderungen gemäß der Antwort vor:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
für Crawlbase importieren CrawlingAPI
importieren Pandas as pd
importieren JSON

# Initialisieren Sie die Crawling API mit Ihrem Crawlbase-Token
api = CrawlingAPI({ 'Zeichen': „SIE_CRAWLBASE_JS_TOKEN“ })

# URL der Amazon-Suchseite, die Sie scrapen möchten
amazon_search_url = „https://www.amazon.com/s?k=games“

# Optionen für Crawling API
Optionen = {
'Seite_warten': 2000,
'ajax_wait': "wahr",
'Schaber': „Amazon-SERP“
}

# Stellen Sie eine Anfrage zum Scrapen der Amazon-Suchseite mit Optionen
Antwort = api.get(amazon_search_url, Optionen)

# Überprüfen Sie, ob die Anfrage erfolgreich war
if Antwort['Statuscode'] == 200:
# Laden von JSON aus dem Antworttext nach dem Dekodieren der Bytedaten
Antwort_json = json.loads(Antwort['Körper'].dekodieren('lateinisch1'))

# Scraper-Ergebnisse erhalten
Scraper-Ergebnis = Antwort_JSON['Körper']

# Extrahieren von Produkten aus der JSON-Antwort
Produkte = Scraper_Ergebnis.get("Produkte", [])

# Erstellen von Listen zum Speichern extrahierter Daten
Produktdaten = []
für PRODUKTE in Produkte:
Produktinfo = {
"URL": produkt.get("URL", ""),
"Name": produkt.get("Name", ""),
"asin": produkt.get("asin", ""),
"Bild": produkt.get("Bild", ""),
"Preis": produkt.get("Preis", ""),
"istPrime": produkt.get("istPrime", ""),
"Angebot": produkt.get("Angebot", ""),
"Kundenrezension": produkt.get("Kundenrezension", ""),
"Kundenbewertungsanzahl": produkt.get("Kundenbewertungsanzahl", ""),
}
Produktdaten.Anhängen(Produktinfo)

# Erstellen Sie einen Pandas DataFrame aus den extrahierten Daten
df = pd.DataFrame(Produktdaten)

# Speichern Sie den DataFrame in einer CSV-Datei
df.to_csv("amazon_products.csv", Index=falsch)
sonst:
drucken(„Die Seite konnte nicht abgerufen werden. Statuscode:“, Antwort['Statuscode'])

Im obigen Code haben wir den Scarper in den Optionen hinzugefügt und dann alle gewünschten Informationen für jedes Produkt-JSON-Objekt in der Antwort gesammelt. Zuletzt erstellen wir einen Pandas-Datenrahmen, um dessen Funktion „to_csv“ zum Speichern der Daten in einer CSV-Datei zu verwenden.

amazon_products.csv Vorschau:

CSV-Ausgabe ohne Paginierung

Umgang mit Paginierung

Beim Scraping von Amazon-Suchseiten ist es wichtig, die Seitennummerierung richtig zu handhaben, um alle benötigten Produkte zu erfassen. Crawlbase „amazon-serp“ stellt in der JSON-Antwort Seitennummerierungsinformationen bereit, darunter die aktuelle Seite, die nächste Seite und die Gesamtzahl der Seiten.

1
2
3
4
5
6
// Beispiel
"Pagination": {
"aktuelleSeite": 1,
"nächsteSeite": 2,
"Gesamtseiten": 20
}

Wie Sie sehen, zeigt „currentPage“ die Seite an, auf der Sie sich gerade befinden, „nextPage“ zeigt die Seitenzahl des nächsten Ergebnissatzes und „totalPages“ gibt an, wie viele Seiten insgesamt verfügbar sind.

Um alle Produkte zu scrapen, sollten Sie diese Seiten durchlaufen und Anfragen mit der entsprechenden Seitenzahl an die URL anhängen, so wie es Amazon macht:

Aktualisieren wir den Beispielcode, um die Seitennummerierung zu handhaben und alle Produkte zu scrapen:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
für Crawlbase importieren CrawlingAPI
importieren Pandas as pd
importieren JSON

# Initialisieren Sie die Crawling API mit Ihrem Crawlbase-Token
api = CrawlingAPI({ 'Zeichen': „SIE_CRAWLBASE_JS_TOKEN“ })

# URL der Amazon-Suchseite, die Sie scrapen möchten
amazon_search_url = „https://www.amazon.com/s?k=games“

# Optionen für Crawling API
Optionen = {
'Seite_warten': 2000,
'ajax_wait': "wahr",
'Schaber': „Amazon-SERP“
}

# Liste zum Speichern der extrahierten Produktinformationen
Produktdaten = []

def URL abkratzen(URL):
# Stellen Sie eine Anfrage zum Scrapen der Amazon-Suchseite mit Optionen
Antwort = api.get(URL, Optionen)

# Überprüfen Sie, ob die Anfrage erfolgreich war
if Antwort['Statuscode'] == 200:
# Laden von JSON aus dem Antworttext nach dem Dekodieren der Bytedaten
Antwort_json = json.loads(Antwort['Körper'].dekodieren('lateinisch1'))

# Scraper-Ergebnisse erhalten
Scraper-Ergebnis = Antwort_JSON['Körper']

# Extrahieren von Produkten aus der JSON-Antwort
Produkte = Scraper_Ergebnis.get("Produkte", [])

für PRODUKTE in Produkte:
Produktinfo = {
"URL": produkt.get("URL", ""),
"Name": produkt.get("Name", ""),
"asin": produkt.get("asin", ""),
"Bild": produkt.get("Bild", ""),
"Preis": produkt.get("Preis", ""),
"istPrime": produkt.get("istPrime", ""),
"Angebot": produkt.get("Angebot", ""),
"Kundenrezension": produkt.get("Kundenrezension", ""),
"Kundenbewertungsanzahl": produkt.get("Kundenbewertungsanzahl", ""),
}
Produktdaten.Anhängen(Produktinfo)

# Paginierungsinformationen extrahieren und zurückgeben
Paginierung = Scraper_Result.get("Pagination")
Rückkehr Pagination

sonst:
drucken(„Die Seite konnte nicht abgerufen werden. Statuscode:“, Antwort['Statuscode'])
Rückkehr Keine

# Scrape die erste Seite und erhalte Informationen zur Seitennummerierung
pagination_info = scrape_url(amazon_search_url)

# Prüfen Sie, ob Paginierungsinformationen verfügbar sind
if Paginierungsinfo:
total_pages = pagination_info.get(„Gesamtseiten“, 1)

# Beginnen Sie mit Seite 2, da die erste Seite bereits gescrapt ist
für Seitennummer in Angebot(2, Gesamtseitenzahl + 1):
Seiten-URL = f'{amazon_search_url}&Seite={Seitenzahl}'
scrape_url(Seiten-URL)

# Erstellen Sie einen Pandas DataFrame aus den extrahierten Daten
df = pd.DataFrame(Produktdaten)

# Speichern Sie den DataFrame in einer CSV-Datei
df.to_csv("amazon_products.csv", Index=falsch)

In diesem Codeabschnitt initiieren wir den Web Scraping-Prozess. Zuerst definieren wir die Amazon-Such-URL, die wir scrapen möchten. Dann prüft der Code, ob auf der ersten Seite Paginierungsinformationen vorhanden sind. Wenn Paginierung vorhanden ist, d. h. es gibt mehrere Ergebnisseiten, durchläuft der Code die nachfolgenden Seiten, um zusätzliche Produktdaten zu scrapen.

Schließlich werden die extrahierten Daten in einem Pandas-Datenrahmen organisiert, was eine einfache Datenmanipulation ermöglicht, und der Datenrahmen wird in einer CSV-Datei gespeichert. Dieser Code stellt sicher, dass Sie aus den Suchergebnissen einen umfassenden Datensatz von Amazon-Produkten zusammenstellen können, auch wenn diese sich über mehrere Seiten erstrecken.

amazon_products.csv Vorschau:

CSV-Ausgabe mit Seitennummerierung

6. Fazit

In der sich rasch entwickelnden digitalen Landschaft ist die Fähigkeit, aus Amazons umfassenden Produktlisten umsetzbare Erkenntnisse zu gewinnen, für Unternehmen und Forschungsexperten immer wichtiger geworden. Für E-Commerce-Unternehmer, die die Preisdynamik der Konkurrenz analysieren, Datenanalysten, die Marktschwankungen auswerten, oder Forscher im E-Commerce-Sektor bietet das groß angelegte Web Scraping der Amazon-Suchseiten die genauen Daten, die benötigt werden. Diese Aufgabe ist jedoch aufgrund von Faktoren wie dem Datenvolumen, komplexen Webarchitekturen, Ratenbeschränkungen, CAPTCHAs und Amazons strengen Sicherheitsmaßnahmen besonders anspruchsvoll.

Dieser Leitfaden bietet eine detaillierte Erkundung der Methoden zur Nutzung von Python und der Crawlbase Crawling API zum effektiven Scraping von Amazon-Suchseiten. Durch die Integration dieser leistungsstarken Tools können Benutzer Daten aus Amazons umfangreichen Produktlisten nahtlos extrahieren und prüfen. Unabhängig davon, ob Sie als Unternehmensstratege, Datenwissenschaftler oder Forschungsspezialist tätig sind, bietet diese Dokumentation das erforderliche technische Know-how und die Ressourcen für erfolgreiche Amazon-zentrierte Web-Scraping-Vorhaben.

Zu den wichtigsten behandelten Aspekten gehören das Verständnis der Grundlagen des Scrapings von Amazon-Suchseiten sowie die Initiierung und Operationalisierung der Crawlbase Crawling API, Konfigurieren der Entwicklungsumgebung und Beherrschen der Architektur von Amazon-Suchseiten. Darüber hinaus werden die Benutzer in den Umgang mit dynamischen Inhalten, die Optimierung der Scraper-Auswahl und die effiziente Verwaltung der Paginierung eingewiesen.

Da sich Fachleute immer häufiger mit Web Scraping beschäftigen, ist die Einhaltung ethischer und technischer Standards nach wie vor von größter Bedeutung. Die Einhaltung der Servicebedingungen und Robots.txt-Richtlinien einer Website ist obligatorisch. Stellen Sie außerdem sicher, dass Web Scraping für legitime, konstruktive Zwecke verwendet wird. Mit dem in diesem Leitfaden erworbenen Wissen sind Fachleute gut gerüstet, um das umfangreiche Datenpotenzial der Produktlisten von Amazon zu nutzen und so analytische und geschäftliche Ergebnisse zu erzielen.

7. Häufig gestellte Fragen

F: Kann ich die Amazon-Suchseiten für persönliche Recherchen oder Analysen durchsuchen?

Das Scraping von Amazon-Suchseiten für persönliche Recherchen oder Analysen ist grundsätzlich zulässig, sofern Sie die Servicebedingungen von Amazon einhalten und die Regeln der Website respektieren. Es ist jedoch wichtig, auf das Volumen der Anfragen zu achten, die Sie an die Website senden, da übermäßiges Scraping zu IP-Blockierungen oder anderen Maßnahmen zur Verhinderung des Scrapings führen kann. Um dieses Problem anzugehen, können Sie die Verwendung eines Crawlbase Crawling API Dadurch können Sie Daten von Websites strukturierter und kontrollierter abrufen und potenzielle Probleme im Zusammenhang mit übermäßigen Anfragen vermeiden. Mit diesem Ansatz können Sie Recherchen und Analysen durchführen und gleichzeitig die Richtlinien von Amazon einhalten.

F: Gibt es beim Scraping von Amazon Geschwindigkeitsbeschränkungen oder CAPTCHAs?

Ja, Amazon verwendet Ratenbegrenzungen und CAPTCHAs, um seine Website vor übermäßigem oder automatisiertem Zugriff zu schützen. Beim Scraping von Amazon ist es wichtig, Anfragen mit einer angemessenen Rate zu senden und Mechanismen zum Umgang mit CAPTCHAs zu implementieren, wenn diese auftreten. Mit einem Dienst wie Crawlbase Crawling API kann Ihnen helfen, diese Herausforderungen effektiv zu meistern.

F: Kann ich mit ähnlichen Techniken andere E-Commerce-Websites scrapen?

Ja, viele E-Commerce-Websites verwenden ähnliche Web Scraping-Techniken, und die in diesem Handbuch beschriebenen Prinzipien können zum Scraping von Daten von anderen E-Commerce-Plattformen angewendet werden. Bedenken Sie jedoch, dass jede Website möglicherweise ihre eigenen Richtlinien und Herausforderungen hat. Daher ist es wichtig, deren Nutzungsbedingungen zu überprüfen und Ihren Scraping-Ansatz entsprechend anzupassen.

F: Was sind einige gängige Anwendungsfälle für das Scraping von Amazon-Suchseiten?

Zu den üblichen Anwendungsfällen für das Scraping von Amazon-Suchseiten gehören Marktforschung, Konkurrenzanalyse, Preisoptimierung, Inhaltsaggregation für Produktbewertungs-Websites und das Treffen fundierter Investitionsentscheidungen. Web Scraping kann wertvolle Erkenntnisse für E-Commerce-Unternehmen, Datenanalysten, Forscher und Unternehmer liefern.