Kratzen Sie Amazon-Produktbewertungen und Preisdaten mit Python

Veröffentlicht: 2018-08-28
Inhaltsverzeichnis anzeigen
Warum Amazon Produktbewertungen kratzen?
Web-Scraping von Amazon-Produktbewertungen mit Python
Was wird dieses Web-Scraping-Programm tun?
Dinge, die Sie beim Scraping von Amazon-Produktbewertungen und Preisdaten beachten sollten
Benötigen Sie Hilfe beim Extrahieren von Webdaten?

Sun Tzu sagte in Die Kunst des Krieges : „ Wenn du den Feind kennst und dich selbst kennst, brauchst du das Ergebnis von hundert Schlachten nicht zu fürchten.“ Dies gilt für fast jedes Geschäft, insbesondere für das E-Commerce-Geschäft. Vielleicht haben Sie die richtige Idee, die richtigen Leute, den richtigen USP, die richtigen Produkte und die richtigen Preise. Irgendwie reicht es nicht. Sie müssen auch über genügend Wettbewerbsdaten und Erkenntnisse verfügen, um festzustellen, ob Ihr Geschäftsmodell ein Erfolg wird. Dies ist der Grund, warum fast jedes aufstrebende E-Commerce-Unternehmen zuerst Amazon durchsucht, um zu sehen, wie es sich gegen den Goliath des E-Commerce schlägt.

Warum Amazon Produktbewertungen kratzen?

Abgesehen von riesigen und tiefen Produktkategorien liefert Amazon in fast jeden Winkel der Welt und hat dreizehn länderspezifische Websites. Das Scraping von Produktdaten auf Amazon kann Ihnen interessante Einblicke in Produkte und Unternehmen verschaffen.

Durch die Automatisierung dieses Codes mit Hilfe eines Dienstleisters können Sie Amazon-Produktdaten marken- und kategorieweise crawlen und Ihre eigene Produktdatenbank aufbauen, bevor Sie Ihren E-Commerce-Shop einrichten. Es wird Ihnen helfen, erhebliche Arbeitsstunden und Geld zu sparen, wenn Sie Ihr Unternehmen gerade erst gründen.

Web-Scraping von Amazon-Produktbewertungen mit Python

Im Artikel „So extrahieren Sie Hoteldaten von einer Reisewebsite“ haben wir Ihnen gezeigt, wie Sie die Web-Scraping-Umgebung einrichten. Folgen Sie einfach den Schritten, wenn Sie Python noch nicht kennen. Alles bleibt beim Alten. Installieren Sie Atom, Python, verwenden Sie dann pip, um BeautifulSoup zu installieren, kopieren Sie dieses Programm, fügen Sie es in den Editor-Bildschirm ein und speichern Sie es unter dem Namen amazon_data_extractor.py

Falls Sie Schwierigkeiten haben, den Code zu kopieren, können Sie ihn auch hier herunterladen. Sie können die Datei herunterladen und in Atom öffnen.

[code language="python"]
#!/usr/bin/python
# -*- Kodierung: utf-8 -*-
import urllib.request
import urllib.parse
import urllib.fehler
aus bs4 importieren BeautifulSoup
SSL importieren
json importieren

# Zum Ignorieren von SSL-Zertifikatsfehlern
ctx = ssl.create_default_context()
ctx.check_hostname = Falsch
ctx.verify_mode = ssl.CERT_NONE

url=input(“Amazon-Produkt-URL eingeben- “)
html = urllib.request.urlopen(url, context=ctx).read()
Suppe = BeautifulSoup(html, 'html.parser')
html = Suppe.prettify('utf-8')
product_json = {}
# Dieser Codeblock hilft dabei, die Marke des Artikels zu extrahieren
für divs in soup.findAll('div', attrs={'class': 'a-box-group'}):
Versuchen:
product_json['brand'] = divs['data-brand']
Unterbrechung
außer:
passieren
# Dieser Codeblock hilft beim Extrahieren des Produkttitels des Artikels
für Spannen in soup.findAll('span', attrs={'id': 'productTitle'}):
name_of_product = spans.text.strip()
product_json['name'] = name_of_product
Unterbrechung
# Dieser Codeblock hilft dabei, den Preis des Artikels in Dollar zu extrahieren
für divs in soup.findAll('div'):
Versuchen:
price = str(divs['data-asin-price'])
product_json['price'] = '$' + Preis
Unterbrechung
außer:
passieren
# Dieser Codeblock hilft, das Bild des Artikels in Dollar zu extrahieren

für divs in soup.findAll('div', attrs={'id': 'rwImages_hidden'}):
für img_tag in divs.findAll('img', attrs={'style': 'display:none;'
}):
product_json['img-url'] = img_tag['src']
Unterbrechung
# Dieser Codeblock hilft dabei, die durchschnittliche Sternebewertung des Produkts zu ermitteln
für i_tags in soup.findAll('i',
attrs={'data-hook': 'average-star-rating'}):
für Spans in i_tags.findAll('span', attrs={'class': 'a-icon-alt'}):
product_json['star-rating'] = spans.text.strip()
Unterbrechung
# Dieser Codeblock hilft dabei, die Anzahl der Kundenrezensionen des Produkts zu ermitteln
für Spannen in soup.findAll('span', attrs={'id': 'acrCustomerReviewText'
}):
if spans.text:
review_count = spans.text.strip()
product_json['Kundenbewertungen-Anzahl'] = Bewertung_Anzahl
Unterbrechung
# Dieser Codeblock hilft dabei, die wichtigsten Spezifikationen und Details des Produkts zu extrahieren
product_json['details'] = []
für ul_tags in soup.findAll('ul',
attrs={'class': 'a-unordered-list a-vertikal a-spacing-none'
}):
für li_tags in ul_tags.findAll('li'):
für Spannen in li_tags.findAll('span',
attrs={'class': 'a-list-item'}, text=True,
rekursiv=Falsch):
product_json['details'].append(spans.text.strip())

# Dieser Codeblock hilft dabei, die Kurzbewertungen des Produkts zu extrahieren

product_json['Kurzrezensionen'] = []
für a_tags in soup.findAll('a',
attrs={'class': 'a-size-base a-link-normal review-title a-color-base a-text-bold'
}):
short_review = a_tags.text.strip()
product_json['Kurzrezensionen'].append(Kurzrezension)
# Dieser Codeblock hilft dabei, die langen Rezensionen des Produkts zu extrahieren
product_json['long-reviews'] = []
für divs in soup.findAll('div', attrs={'data-hook': 'review-collapsed'
}):
long_review = divs.text.strip()
product_json['Long-Reviews'].append(Long_Review)
# Speichern der geschabten HTML-Datei
mit open('output_file.html', 'wb') als Datei:
file.write(html)
# Speichern der geschabten Daten im json-Format
mit open('product.json', 'w') als outfile:
json.dump (product_json, outfile, Einrückung=4)
print ('———-Datenextraktion abgeschlossen. JSON-Datei prüfen.———-')

[/Code]

Was wird dieses Web-Scraping-Programm tun?

Nun, lassen Sie es mich an einem Beispiel erklären. Ich zeige Ihnen eine Produktseite auf Amazon mit Bewertungen und was das Programm zurückgibt, wenn die URLs an das angegebene Programm übergeben werden.

Nehmen wir diesen Dell Laptop bei Amazon. Wenn Sie das Programm ausführen, wird „Enter Amazon Product URL-“ gedruckt.

Wenn dies der Fall ist, kopieren Sie einfach die oben angegebene URL und fügen Sie sie ein. Dabei wird das folgende JSON unter dem Namen product.json in Ihrem aktuellen Verzeichnis generiert. Link zur Übereinstimmung mit Ihrem JSON wird generiert.

[code language="python"]
{
„Marke“: „Acer“,
„name“: „2018 Neuestes 14-Zoll-HD-Chromebook-LED-Anti-Glare-Display von Acer, Intel Dual-Core Celeron 3855u 1,6 GHz-Prozessor, 4 GB RAM, 16 GB SSD, HDMI, USB 3.0, Webcam, 802.11a WLAN, Bluetooth, Google Chrome Betriebssystem“,
„Preis“: „$229,00“,
„img-url“: „https://images-na.ssl-images-amazon.com/images/I/41nlp137qeL._SX300_QL70_.jpg“,
„Sternebewertung“: „4,2 von 5 Sternen“,
„Kundenrezensionen-Zählung“: „79 Kundenrezensionen“,
"Einzelheiten": [
Blendfreies 14-Zoll-HD-Display mit WLED-Hintergrundbeleuchtung (1366 x 768) und Acer ComfyView-Technologie, integriertes Medienlesegerät“,
„Intel Dual-Core Skylake Celeron 3855U 1,60 GHz Prozessor 2 MB Cache, Intel HD Graphics 510, integrierte HD-Webcam mit Mikrofon“,
„4 GB LPDDR3-Speicher, 16 GB eMMC-Flash-Speicher, integrierte Cloud-Unterstützung – speichern Sie Ihre Dateien einfach in Ihrem Google Drive-Konto für sicheren Zugriff, wo immer Sie auch sind“,
„Hochgeschwindigkeits-802.11a-WLAN, Bluetooth, HDMI, 2 x USB 3.0, 1 x USB 3.1 Typ-C, 1 x Kopfhörer-/Mikrofon-Kombianschluss“,
„Google Chrome OS, Bis zu 10 Stunden Akkulaufzeit, Farbe: Schwarz“
],
„Kurzkritiken“: [
„Der beste und sicherste Computer, um im Internet zu surfen und Videos aller Art anzusehen.“,
„… hatte das erst seit ein paar Tagen, aber ich liebe es. Ich bin von einem Macbook zu diesem gewechselt …“,
„Großartig für Schularbeiten … und Netflix“,
„Dies ist KEIN 2018er Acer – Herstellungsdatum ist 08/2016“,
„FANTASTISCHES PRODUKT… EINFACH ZU VERWENDEN“,
„Ich liebe diesen Laptop“,
„… es ist der größte Bildschirm – Mama scheint es zu lieben.“,
"Einfach zu verwenden"
],
„Lang-Rezensionen“: [
„Ich habe bereits ein 11,5-Zoll-Acer-Chromebook, das ich vor einigen Jahren gekauft habe, und aufgrund des Erfolgs dieses ersten habe ich mich entschieden, ein weiteres größeres zu kaufen. Ich LIEBE, LIEBE meine beiden Acer Chromebooks. In der Vergangenheit habe ich den Fehler gemacht, normale Microsoft Windows-Computer zu kaufen, und nur wenige von ihnen haben sie noch zu Hause, aber nachdem ich das Acer Chromebook entdeckt habe, muss ich sagen, ich wünschte, ich hätte früher von der Überlegenheit eines Chromebooks gegenüber einem Windows gewusst , Microsoft-Produkt … Ich möchte hier keinen Microsoft Windows-Computerkrieg gegen ein Acer Chromebook eröffnen … Ich sage nur … Wenn Sie mit Ihrem Microsoft Windows-Produkt zufrieden sind, kritisiere ich Ihren Kauf nicht, was ich bin Ich sage, dass ich beide Produkte zu Hause habe … Ich liebe die Einfachheit des Acer Chromebooks gegenüber den „ANDEREN“. Surfen Sie einfach im Internet und konsumieren Sie viele Webmedien, Facebook oder Yahoo Mail, YouTube, Netflix …. Nichts schlägt das Acer Chromebook in Bezug auf Zuverlässigkeit und Geschwindigkeit. Das Acer Chromebook schaltet sich mit Lichtgeschwindigkeit ein und es gibt keine Viren jeglicher Art, um die Sie sich Sorgen machen müssen. Außerdem wird es nicht langsamer, wenn das System aktualisiert wird, wie es Microsoft Windows ständig tut. Ja, mit einem 15,6-Zoll-Bildschirm ist es in der Tat ein kleines Juwel, und der Preis war sehr gut. Danke Amazon. Und danke ACER.“,
„Ich habe das erst seit ein paar Tagen, aber ich liebe es. Ich ging von einem MacBook zu diesem und erwartete, enttäuscht zu werden. Ich musste keine der Einstellungen oder irgendetwas mit diesem Laptop anpassen. Ich habe mich in mein Gmail eingeloggt und alles war perfekt. Bisher habe ich keine Beschwerden. Ich kann nicht glauben, wie günstig es war.“,
„Habe es jetzt seit über einem Monat. Es ist ein schnelles, einfach zu bedienendes Gerät mit einem großen Bildschirm. Habe es für meine Tochter für die Hausaufgaben gekauft. Unsere Schule verwendet, wie viele andere auch, Google Docs für einen Großteil der Arbeit, die online erledigt wird. Ein Chromebook ist alles, was sie brauchen – keine Notwendigkeit für Microsoft! Natürlich freut sich meine Tochter über den großen Bildschirm, um Netflix zu schauen, wenn die Hausaufgaben erledigt sind!“,
„KEIN 2018er Chromebook, wie im Titel angegeben. Ich hatte ein Chromebook erwartet, das Ende 2017 oder 2018 hergestellt wurde. Dieses spezielle Chromebook wurde im August 2016 hergestellt. Sehr irreführender Titel … definitiv nicht das „Neueste 2018“. Das Chromebook scheint aber ziemlich anständig zu sein.“,
„Ich hatte die fehlerhaften Windows 10-Updates satt und brauchte einen zuverlässigen Computer. Das Acer wurde mir von mehreren Freunden empfohlen. Ich habe es letzte Woche bekommen und liebe es. Einfach einzurichten und zu verstehen, keine Hitze von der Festplatte, schnell, weniger Ärger, gute Qualität usw. Ich habe immer noch mein Dell mit Windows 10, aber im Moment ist dieses Acer Chromebook meine erste Wahl. Es dauert eine Weile, bis man sich an eine Tastatur mit weniger Tasten und engerem Abstand gewöhnt hat, aber ich habe keine anderen Bedenken gegenüber diesem Chromebook. Ich lerne täglich mehr über das Chromebook und schätze seine Einfachheit und den Verzicht auf zusätzliche Sicherheit. Ausgezeichneter Wert und Leistung. Ich war mit dem Preis und den Funktionen des Acer zufrieden. Einfacher Anschluss an Ethernet mit Adapter bei Bedarf.“,
„Ich liebe diesen Laptop! Während ich an Macbooks gewöhnt bin, ist meine Geliebte kürzlich gestorben. Ich war nicht auf der Suche nach einem anderen MacBook (nicht freiwillig) und brauchte schnell einen neuen Laptop. Ich habe schnell recherchiert und gute Kritiken zu diesem Laptop gesehen. Ich habe bei Amazon Prime bestellt und innerhalb von 3 Tagen erhalten. Ich bin beeindruckt! Chomebook hat mein Leben extrem einfach gemacht. Alles ist verbunden! Etwas an der Tastatur erleichtert das Tippen. ICH LIEBE ES!",
„Ein bisschen schwer, aber es ist der größte Bildschirm – Mama scheint es zu lieben… kein Durcheinander auf dem Desktop-Bildschirm mehr… Danke“,
„Für einen älteren Verwandten gekauft. Einfach zu verwenden!"
]
}
[/Code]

Sie werden auch sehen, dass wir die geschabte HTML-Seite unter dem Namen output_file.html im selben Arbeitsverzeichnis gespeichert haben. Hier ist der Link, um zu überprüfen, wie das geschabte HTML-Dokument für diese bestimmte Produktseite ist. Sie können versuchen, Amazon-Produktdaten aus dieser HTML-Datei mit BeautifulSoup zu kratzen.

Dinge, die Sie beim Scraping von Amazon-Produktbewertungen und Preisdaten beachten sollten

1. Sie erhalten die folgenden Dinge von einer Amazon-Produktseite, wenn Sie diesen Produktschaber verwenden

    • a. Marke
    • b. Name
    • c. Preis
    • d. Bild URL
    • e. Bewertung in Sternen
    • f. Anzahl der Kundenbewertungen
    • e. Wichtige Einzelheiten
    • f. Kurze Rezensionen
    • g. Lange Rezensionen

Jeder Datenpunkt ist im JSON vorhanden (ein oder zwei fehlen möglicherweise, wenn sie für ein Produkt nicht vorhanden sind oder wenn der Scraper sie nicht finden kann). Jeder Datenpunkt wird auch mit seinem entsprechenden Etikett geliefert.

2. Nun, wir können nicht garantieren, dass jede Produktseiten-URL mit diesem Code reibungslos verarbeitet wird. Dies liegt daran, dass Amazon seinen Code regelmäßig ändert und auch nicht alle Artikel oder alle Unterkategorien die gleiche HTML-CSS-Formatierung haben.

3. Wenn Sie dieses Programm mehrmals innerhalb kurzer Zeit ausführen, kann dieser Fehler, HTTP-Fehler 503, auftreten. Dies ist ein serverseitiger Fehler. In diesem Fall bedeutet dies jedoch, dass Amazon Ihre Versuche, Daten zu crawlen, blockiert. Wenn Sie also Amazon für den professionellen Gebrauch schaben, wird immer empfohlen, dass Sie sich Hilfe von Web-Scraping-Diensten wie PromptCloud holen. Die Web-Scraping-Dienste können ein System für Sie einrichten, das automatisch alle benötigten Daten crawlt, sodass Sie sich auf Ihr Geschäft konzentrieren können, ohne sich um die Daten kümmern zu müssen.

4. Das Programm gilt nur für www.amazon.com und wurde auf keiner seiner länderspezifischen Websites getestet.

Wir haben fast jeden Tag neue E-Commerce-Websites. In einem so harten Wettbewerb werden der Unterhalt und die Geschäftsgewinne ohne Wettbewerbseinblicke schwierig. Amazon-Produktdaten könnten für Sie der Maßstab und Ausgangspunkt sein. Web Scraping Amazon kann Ihnen die Produkterkenntnisse liefern, die Ihnen helfen, die richtige Geschäftsstrategie und Produktkategorie aufzubauen und zu skalieren.

Benötigen Sie Hilfe beim Extrahieren von Webdaten?

Erhalten Sie saubere und gebrauchsfertige Daten von Websites für Geschäftsanwendungen durch unsere Web-Scraping-Dienste. Kontaktiere uns.

Haftungsausschluss: Der in diesem Tutorial bereitgestellte Code dient nur zu Lernzwecken. Wir sind nicht verantwortlich für die Verwendung und übernehmen keine Haftung für eine nachteilige Verwendung des Quellcodes.