Scraping mit Python ist eine beliebte Methode zur Automatisierung der Datenextraktion von Amazon und ermöglicht es Benutzern, effizient große Mengen an Produktinformationen zu sammeln. Das Scraping der Amazon-Suchergebnisse in großem Umfang ist jedoch eine Herausforderung, vor allem aufgrund der enormen Datenmenge, der komplexen Weblayouts, 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 APIIn diesem Tutorial konzentrieren wir uns auf das Scraping von Amazon-Produktdaten und demonstrieren Web-Scraping-Aktivitäten, einschließlich der Einrichtung der erforderlichen Tools und Techniken. Mit dieser leistungsstarken Kombination können Sie Produktdaten von Amazon effizient extrahieren und analysieren.

Unser gebrauchsfertiger Amazon-Scraper ist eine umfassende Lösung zum Extrahieren wichtiger Daten von Amazon. Sie können es jetzt ausprobieren.

Inhaltsverzeichnis

  1. Warum Amazon-Suchseiten scrapen?

  2. Voraussetzungen:

  • Einrichten Ihrer Entwicklungsumgebung
  • Erforderliche Bibliotheken installieren
  • Erstellen einer Crawlbase Konto
  1. Grundlegendes zur Struktur der Amazon-Suchseite
  • Dynamischer Inhalt und JavaScript-Rendering
  1. So scrapen Sie Amazon-Suchseiten
  • Die richtige Crawlbase Token
  • Einrichten Crawlbase Crawling API
  • Umgang mit dynamischen Inhalten
  • Einen Schaber auswählen
  • Umgang mit Paginierung
  1. Fazit
  2. Häufig gestellte Fragen (FAQ)

1. Warum Amazon-Suchseiten scrapen?

In der riesigen Welt des Online-Shoppings ist Amazon ein Gigant. Das Unternehmen bietet eine beispiellose Produktauswahl in den unterschiedlichsten Kategorien und ist damit eine beliebte Anlaufstelle für Käufer weltweit. Die Datenerfassung von Amazon ist für die Geschäftsanalyse von entscheidender Bedeutung, da Unternehmen so Trends analysieren, Wettbewerber beobachten und datenbasierte Entscheidungen treffen können.

Warum Amazon-Suchseiten scrapen?

Crawlbase Python-Bibliothek

Die Kraft nutzen Crawlbase Crawling API, können Sie die Crawlbase Python-BibliothekDiese 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.

Ejemplo:

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'])

Es gibt viele weitere Funktionen von Crawlbase Python-Bibliothek. Mehr dazu finden Sie hier. hier.

In den folgenden Abschnitten führen wir Sie durch die Nutzung der Möglichkeiten des 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.

2. Voraussetzungen

Bevor wir uns auf die Reise zum Web Scraping begeben, stellen wir sicher, dass Sie alle notwendigen Tools und Ressourcen zur Hand haben. In diesem Kapitel behandeln wir die Voraussetzungen für erfolgreiches Web Scraping von Amazon-Suchseiten mit dem 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 Crawlbase API.

Erstellen einer Crawlbase Konto

Für den Zugriff auf Crawlbase Crawler API benötigen Sie eine Crawlbase Konto. Wenn Sie noch kein Konto haben, folgen Sie diesen Schritten, um ein Konto zu erstellen. Klicken Sie auf hier um ein neues zu erstellen Crawlbase Konto und geben Sie die erforderlichen Angaben ein.

3. 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

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.
  • Produktmerkmale: 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.

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.

4. So scrapen Sie Amazon-Suchseiten

In diesem Abschnitt begeben wir uns auf eine spannende Reise, um Amazon-Suchseiten in großem Umfang zu scrapen, indem wir die Crawlbase Crawling API. Beispielsweise sammeln wir wichtige Informationen zu Produkten, die mit der Suchanfrage „Spiele“ auf Amazon in Zusammenhang stehen. Dazu nutzen wir die Crawlbase Python-Bibliothek, die eine nahtlose Integration mit dem Crawling API. Lassen Sie uns in den Prozess eintauchen:

Die richtige Crawlbase Token

Wir müssen ein API-Token erhalten, bevor wir die Leistung des Crawlbase 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-basierte 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
von Crawlbase importieren CrawlingAPI

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

Sie können Ihre bekommen Crawlbase Zeichen hier nachdem Sie ein Konto darauf erstellt haben.

Einrichten Crawlbase Crawling API

Mit unserem JavaScript-Token in der Hand sind wir bereit, die Crawlbase 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
von Crawlbase importieren CrawlingAPI

# Initialisieren Sie die Crawling API mit Ihrem Crawlbase Zeichen
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 elektrostatisch ableitenden 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 nutzen auch Amazon-Suchseiten dynamisches Laden von Inhalten mithilfe von JavaScript-Rendering und Ajax-Aufrufen. Dieses dynamische Verhalten kann beim Scraping von Daten von diesen Seiten 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
Bei Verwendung des JavaScript-Tokens mit dem Crawlbase API: Sie können einige spezielle Parameter angeben, um sicherzustellen, dass Sie den dynamisch gerenderten Inhalt korrekt 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
von Crawlbase importieren CrawlingAPI

# Initialisieren Sie die Crawling API mit Ihrem Crawlbase Zeichen
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 elektrostatisch ableitenden 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.

Auswahl eines Amazon Scrapers

Crawling API bietet mehrere integrierte Scraper für verschiedene wichtige Websites, darunter Amazon. Informationen zu den verfügbaren Scrapern finden Sie hier. Der Parameter „Scraper“ dient zum Parsen der abgerufenen Daten gemäß einem bestimmten Scraper, der vom Crawlbase API. Optional. Wenn nicht angegeben, 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.

Ejemplo:

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
von Crawlbase importieren CrawlingAPI
importieren Pandas as pd
importieren JSON

# Initialisieren Sie die Crawling API mit Ihrem Crawlbase Zeichen
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 der 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 Paginierungsinformationen bereit, einschließlich der aktuellen Seite, der nächsten Seite und der 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
von Crawlbase importieren CrawlingAPI
importieren Pandas as pd
importieren JSON

# Initialisieren Sie die Crawling API mit Ihrem Crawlbase Zeichen
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 Präsentation

# 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

5. Letzte Gedanken

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.

Melden Sie sich an Crawlbase und erhalten Sie 1,000 kostenlose Credits

6. 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 setzt Ratenbegrenzungen und CAPTCHAs ein, 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 zur Handhabung von CAPTCHAs zu implementieren, falls diese auftreten. Mit einem Dienst wie dem 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.