Tokopedia, eine der größten E-Commerce-Plattformen Indonesiens, hat über 90 Millionen aktive Benutzer und 350 Millionen monatliche Besuche. Die Plattform bietet eine breite Produktpalette, von Elektronik, Mode, Lebensmitteln bis hin zu Körperpflegeprodukten. Unternehmen und Entwickler können durch das Scraping von Tokopedia-Daten Einblicke in Produkttrends, Preisstrategien und Kundenpräferenzen erhalten.

Tokopedia verwendet JavaScript zum Rendern seiner Inhalte; die herkömmliche Scraping-Methode funktioniert nicht. Crawlbase Crawling API hilft, indem es mit JavaScript gerenderte Inhalte nahtlos verarbeitet. In diesem Tutorial erfahren Sie, wie Sie mit Python und Crawlbase Tokopedia-Suchlisten und Produktseiten nach Produktnamen, Preisen und Bewertungen durchsuchen.

Lass uns loslegen!

Inhaltsverzeichnis

  1. Warum Tokopedia-Daten scrapen?
  2. Wichtige Datenpunkte zum Extrahieren aus Tokopedia
  3. Crawlbase Crawling API für Tokopedia Scraping
  • Crawlbase Python-Bibliothek
  1. Einrichten Ihrer Python-Umgebung
  • Installieren von Python und erforderlichen Bibliotheken
  • Auswahl einer IDE
  1. Scraping von Tokopedia-Sucheinträgen
  • Untersuchen des HTML auf CSS-Selektoren
  • Schreiben des Suchlisten-Scrapers
  • Umgang mit Paginierung in Tokopedia
  • Speichern von Daten in einer JSON-Datei
  • Code vervollständigen
  1. Scraping Tokopedia-Produktseiten
  • Untersuchen des HTML auf CSS-Selektoren
  • Schreiben des Produktseiten-Scrapers
  • Speichern von Daten in einer JSON-Datei
  • Code vervollständigen
  1. Abschließende Überlegungen
  2. Häufig gestellte Fragen

Warum Tokopedia-Daten scrapen?

Das Scraping von Tokopedia-Daten kann für Unternehmen und Entwickler von Vorteil sein. Als eine der größten E-Commerce-Plattformen Indonesiens verfügt Tokopedia über zahlreiche Informationen zu Produkten, Preisen und Kundenverhalten. Durch das Extrahieren dieser Daten können Sie auf dem Online-Markt die Nase vorn haben.

Es gibt viele Gründe, warum man sich für das Scraping von Daten aus Tokopedia entscheiden würde:

Ein Bild, das Gründe zeigt, Tokopedia zu scrapen
  1. Marktforschung: Die Kenntnis der aktuellen Nachfrage hilft Ihnen bei der Bestands- und Marketingplanung. Durch die Betrachtung der allgemeinen Trends lassen sich immer Chancen finden.
  2. Preisvergleich: Man kann möglicherweise Tokopedia durchsuchen und mehrere Preise für Produkte aus verschiedenen Kategorien erhalten. Dies würde es einem ermöglichen, Preisanpassungen vorzunehmen, um wettbewerbsfähig zu bleiben.
  3. Wettbewerbsanalyse: Durch die Zusammenstellung der Daten zu den Produkten der Wettbewerber können Sie besser verstehen, wie diese sich positionieren und wo ihre Schwachstellen liegen.
  4. Customer Insights: Das Lesen von Produktrezensionen und -beurteilungen hilft dabei, die wichtigsten Vor- und Nachteile verschiedener Waren aus der Sicht der Kunden zu verstehen.
  5. Produktverfügbarkeit: Überwachen Sie die Produkte, damit Sie wissen, wann die begehrten Produkte zur Neige gehen, und stocken Sie die Lagerbestände auf, um die Kunden zufriedenzustellen.

Im nächsten Abschnitt werden wir sehen, was wir aus Tokopedia scrapen können.

Wichtige Datenpunkte zum Extrahieren aus Tokopedia

Konzentrieren Sie sich beim Scraping von Tokopedia auf die wichtigen Datenpunkte. So erhalten Sie umsetzbare Erkenntnisse für Ihr Unternehmen oder Ihre Forschung. Hier sind die Datenpunkte, die Sie erfassen sollten:

  1. Produktname: Identifiziert das Produkt.
  2. Preis: Zur Preisüberwachung und Wettbewerbsanalyse.
  3. Bewertungen und Rezensionen: Für Benutzererfahrung und Produktnutzbarkeit.
  4. Verfügbarkeit: Für Lagerbestand und Produktverfügbarkeit.
  5. Angaben zum Verkäufer: Details zu Drittanbietern, Verkäuferbewertungen und Standort.
  6. Produktbilder: Bilder zur visuellen Darstellung und zum Verständnis des Produkts.
  7. Beschreibung: Für die Einzelheiten zum Produkt.
  8. Kategorie und Tags: Zur Anordnung der Produkte und kategorisierten Analyse.

Wenn man sich auf diese Aspekte der Daten konzentriert, kann man nützliche Erkenntnisse aus Tokopedia gewinnen, die einem dabei helfen können, Entscheidungen zu verfeinern oder zu verbessern. Als Nächstes werden wir sehen, wie Sie Ihre Python-Umgebung für das Scraping einrichten.

Crawlbase Crawling API für Tokopedia Scraping

Die Crawlbase Crawling API macht das Scraping von Tokopedia schnell und unkompliziert. Da die Website von Tokopedia dynamische Inhalte verwendet, werden viele der Daten über JavaScript geladen, was das Scraping mit herkömmlichen Methoden schwierig macht. Aber Crawlbase Crawling API rendert die Seiten wie ein echter Browser, sodass Sie auf die Daten zugreifen können.

Darum Crawlbase Crawling API eignet sich gut zum Scrapen von Tokopedia:

  • Verarbeitet dynamische Inhalte: Crawlbase verarbeitet JavaScript-lastige Seiten, sodass alle Produktdaten vollständig geladen und zum Scrapen bereit sind.
  • IP-Rotation: Um eine Blockierung durch die Sicherheitssysteme von Tokopedia zu verhindern, rotiert Crawlbase automatisch die IPs, sodass Sie scrapen können, ohne sich um Ratenbegrenzungen oder Sperren sorgen zu müssen.
  • Schnelle Leistungs: Mit Crawlbase können Sie große Datenmengen effizient scrapen und dabei Zeit und Ressourcen sparen.
  • Anpassbare Anfrages: Sie können die Header, Cookies und Steueranfragen Ihren Bedürfnissen entsprechend ändern.

Mit diesen Funktionen, Crawlbase Crawling API macht das Scraping von Tokopedia einfacher und effizienter.

Crawlbase Python-Bibliothek

Crawlbase bietet auch eine Python-Bibliothek, um das Web Scraping noch einfacher zu machen. Um diese Bibliothek zu verwenden, benötigen Sie einen Zugriffstoken, den Sie erhalten können unter Anmeldung zu Crawlbase.

Hier ist eine Beispielfunktion zum Senden einer Anfrage an Crawlbase Crawling API:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
für Crawlbase importieren CrawlingAPI

# Initialisieren Sie die Crawlbase-API mit Ihrem Zugriffstoken
crawling_api = CrawlingAPI({ 'Zeichen': 'IHR_CRAWLBASE_TOKEN' })

def Crawlbase-Anfrage erstellen(URL):
Antwort = crawling_api.get(URL)

if Antwort['Kopfzeilen']['pc_status'] == '200':
html_content = Antwort['Körper'].dekodieren('utf-8')
Rückkehr HTML-Inhalt
sonst:
drucken(f"Seite konnte nicht abgerufen werden. Crawlbase-Statuscode: {Antwort['Kopfzeilen']['pc_status']}")
Rückkehr Keine

Note: Crawlbase bietet zwei Arten von Token. Normales Token für statische Sites. JavaScript (JS)-Token für dynamische oder im Browser gerenderte Inhalte, die zum Scraping von Tokopedia erforderlich sind. Crawlbase bietet 1,000 kostenlose Anfragen, um Ihnen den Einstieg zu erleichtern, und Sie können sich ohne Kreditkarte anmelden. Weitere Einzelheiten finden Sie in der Crawlbase Crawling API Dokumentation.

Im nächsten Abschnitt erfahren wir, wie man eine Python-Umgebung für das Tokopedia-Scraping einrichtet.

Einrichten Ihrer Python-Umgebung

Um mit dem Scraping von Tokopedia zu beginnen, müssen Sie Ihre Python-Umgebung einrichten. Befolgen Sie diese Schritte, um loszulegen:

Installieren von Python und erforderlichen Bibliotheken

Stellen Sie sicher, dass Python auf Ihrem Computer installiert ist. Sie können es herunterladen HIER. Führen Sie nach der Installation den folgenden Befehl aus, um die erforderlichen Bibliotheken zu installieren:

1
pip installieren crawlbase beautifulsoup4
  • Crawlbase: Zur Interaktion mit der Crawlbase Crawling API um dynamische Inhalte zu verarbeiten.
  • BeautifulSuppe: Zum Parsen und Extrahieren von Daten aus HTML.

Diese Tools sind für das effiziente Scraping der Tokopedia-Daten unerlässlich.

Auswählen einer IDE

Wählen Sie eine IDE für eine nahtlose Entwicklung:

Sobald Ihre Umgebung eingerichtet ist, können Sie mit dem Scraping von Tokopedia beginnen. Als Nächstes zeigen wir Ihnen, wie Sie den Tokopedia SERP Scraper erstellen.

Scraping von Tokopedia-Sucheinträgen

Jetzt, da Ihre Python-Umgebung bereit ist, können wir mit dem Scraping der Tokopedia-Suchlisten beginnen. In diesem Abschnitt führen wir Sie durch die Überprüfung des HTML, das Schreiben des Scrapers, die Handhabung der Paginierung und das Speichern der Daten in einer JSON-Datei.

Überprüfen der HTML-Struktur

Zuerst müssen Sie das HTML der Tokopedia-Suchergebnisseite überprüfen, von der Sie Produktlisten extrahieren möchten. In diesem Beispiel extrahieren wir Headset-Listen von der folgenden URL:

1
https://www.tokopedia.com/search?q=headset

Öffnen Sie die Entwicklertools in Ihrem Browser und navigieren Sie zu dieser URL.

Ein Screenshot der HTML-Struktur der Tokopedia-Suchlisten

Hier sind einige wichtige Auswahlkriterien, auf die Sie sich konzentrieren sollten:

  • Produkttitel: Gefunden in einem <span> Tag mit Klasse OWkG6oHwAppMn1hIBsC3pQ== welches den Namen des Produkts enthält.
  • Preis: In einem <div> Tag mit Klasse ELhJqP-Bfiud3i5eBR8NWg== das den Produktpreis anzeigt.
  • Name deines Geschäfts: Gefunden in einem <span> Tag mit Klasse X6c-fdwuofj6zGvLKVUaNQ==.
  • Produktlink: Link zur Produktseite gefunden in einem <a> Tag mit Klasse Nq8NlC5Hk9KgVBJzMYBUsg==, erreichbar über die href Attribut.

Schreiben des Suchlisten-Scrapers

Wir schreiben eine Funktion, die eine Anfrage an die Crawlbase stellt Crawling API, ruft das HTML ab und analysiert die Daten dann mit BeautifulSoup.

Hier ist der Code zum Scrapen der Suchlisten:

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
für Crawlbase importieren CrawlingAPI
für bs4 importieren BeautifulSuppe
importieren JSON

# Initialisieren Sie die Crawlbase-API mit Ihrem Zugriffstoken
crawling_api = CrawlingAPI({ 'Zeichen': 'IHR_CRAWLBASE_TOKEN' })

# Funktion zum Abrufen von HTML-Inhalten von Crawlbase
def fetch_html(URL):
Optionen = {
'ajax_wait': "wahr",
'Seite_warten': '5000'
}
Antwort = crawling_api.get(URL, Optionen)
if Antwort['Kopfzeilen']['pc_status'] == '200':
Rückkehr Antwort['Körper'].dekodieren('utf-8')
sonst:
drucken(f"Seite konnte nicht abgerufen werden. Statuscode: {Antwort['Kopfzeilen']['pc_status']}")
Rückkehr Keine

# Funktion zum Parsen und Extrahieren von Produktdaten
def Suchlisten analysieren(html):
Suppe = Schöne Suppe (html, 'html.parser')
Produkte = []

für PRODUKTE in Suppe.Auswählen('div[data-testid="divSRPContentProducts"] div.css-5wh65g'):
Name = Produkt.Wählen Sie eins aus('span.OWkG6oHwAppMn1hIBsC3pQ\\=\\=').text.strip() if produkt.wählen_eins('span.OWkG6oHwAppMn1hIBsC3pQ\\=\\=') sonst 'N / A'
Preis = Produkt.Wählen Sie eins aus('div.ELhJqP-Bfiud3i5eBR8NWg\\=\\=').text.strip() if produkt.wählen_eins('div.ELhJqP-Bfiud3i5eBR8NWg\\=\\=') sonst 'N / A'
Geschäft = Produkt.Wählen Sie eins aus('span.X6c-fdwuofj6zGvLKVUaNQ\\=\\=').text.strip() if produkt.wählen_eins('span.X6c-fdwuofj6zGvLKVUaNQ\\=\\=') sonst 'N / A'
Produkt-URL = Produkt.Wählen Sie eine('a.Nq8NlC5Hk9KgVBJzMYBUsg\\=\\=')['href'] if produkt.wählen_eins('a.Nq8NlC5Hk9KgVBJzMYBUsg\\=\\=') sonst 'N / A'

Produkte.anhängen({
'Süßkartoffel': Name,
'Preis': Preis,
'speichern': speichern,
'Produkt-URL': Produkt-URL
})

Rückkehr Produkte

Diese Funktion holt zuerst das HTML mithilfe der Crawlbase Crawling API und analysiert dann die Daten mit BeautifulSoup, um die Produktinformationen zu extrahieren.

Umgang mit Paginierung in Tokopedia

Die Suchergebnisse von Tokopedia sind auf mehrere Seiten verteilt. Um alle Einträge zu erfassen, müssen wir die Seitennummerierung vornehmen. Jede weitere page kann durch Anhängen eines Seitenparameters an die URL aufgerufen werden, wie etwa ?page=2.

So handhaben Sie die Seitennummerierung:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# Funktion zum Scrapen mehrerer Seiten von Suchlisten
def Mehrere Seiten auslesen(Basis-URL, maximale Seitenzahl):
alle_produkte = []

für Seite in Angebot(1, max_Seiten + 1):
paginierte_URL = f"{base_url}&Seite={Seite}"
html_content = fetch_html(paginierte_URL)

if HTML-Inhalt:
Produkte = Suchlisten analysieren (HTML-Inhalt)
alle_produkte.erweitern(Produkte)
sonst:
brechen

Rückkehr alle_produkte

Diese Funktion durchläuft die Suchergebnisseiten, extrahiert die Produktlisten von jeder Seite und fasst die Ergebnisse zusammen.

Speichern von Daten in einer JSON-Datei

Nachdem Sie die Daten extrahiert haben, können Sie sie in einer JSON-Datei speichern, um einfach darauf zugreifen und sie später verwenden zu können. So können Sie das tun:

1
2
3
4
5
# Funktion zum Speichern von Daten in einer JSON-Datei
def in JSON speichern(Daten, Dateiname='tokopedia_search_results.json'):
mit XNUMXh geöffnet(Dateiname, 'w') as json_datei:
json.dump(Daten, JSON-Datei, Einzug=4)
drucken(f"Daten gespeichert in {Dateiname}")

Vollständiges Codebeispiel

Unten finden Sie den vollständigen Code zum Scrapen der Tokopedia-Suchlisten nach Headsets, einschließlich Paginierung und Speichern der Daten in einer JSON-Datei:

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
für Crawlbase importieren CrawlingAPI
für bs4 importieren BeautifulSuppe
importieren JSON

# Initialisieren Sie die Crawlbase-API mit Ihrem Zugriffstoken
crawling_api = CrawlingAPI({ 'Zeichen': 'IHR_CRAWLBASE_TOKEN' })

def fetch_html(URL):
Optionen = {
'ajax_wait': "wahr",
'Seite_warten': '5000'
}
Antwort = crawling_api.get(URL, Optionen)
if Antwort['Kopfzeilen']['pc_status'] == '200':
Rückkehr Antwort['Körper'].dekodieren('utf-8')
sonst:
drucken(f"Seite konnte nicht abgerufen werden. Statuscode: {Antwort['Kopfzeilen']['pc_status']}")
Rückkehr Keine

def Suchlisten analysieren(html):
Suppe = Schöne Suppe (html, 'html.parser')
Produkte = []

für PRODUKTE in Suppe.Auswählen('div[data-testid="divSRPContentProducts"] div.css-5wh65g'):
Name = Produkt.Wählen Sie eins aus('span.OWkG6oHwAppMn1hIBsC3pQ\\=\\=').text.strip() if produkt.wählen_eins('span.OWkG6oHwAppMn1hIBsC3pQ\\=\\=') sonst 'N / A'
Preis = Produkt.Wählen Sie eins aus('div.ELhJqP-Bfiud3i5eBR8NWg\\=\\=').text.strip() if produkt.wählen_eins('div.ELhJqP-Bfiud3i5eBR8NWg\\=\\=') sonst 'N / A'
Geschäft = Produkt.Wählen Sie eins aus('span.X6c-fdwuofj6zGvLKVUaNQ\\=\\=').text.strip() if produkt.wählen_eins('span.X6c-fdwuofj6zGvLKVUaNQ\\=\\=') sonst 'N / A'
Produkt-URL = Produkt.Wählen Sie eine('a.Nq8NlC5Hk9KgVBJzMYBUsg\\=\\=')['href'] if produkt.wählen_eins('a.Nq8NlC5Hk9KgVBJzMYBUsg\\=\\=') sonst 'N / A'

Produkte.anhängen({
'Süßkartoffel': Name,
'Preis': Preis,
'speichern': speichern,
'Produkt-URL': Produkt-URL
})

Rückkehr Produkte

def Mehrere Seiten auslesen(Basis-URL, maximale Seitenzahl):
alle_produkte = []

für Seite in Angebot(1, max_Seiten + 1):
paginierte_URL = f"{base_url}&Seite={Seite}"
html_content = fetch_html(paginierte_URL)

if HTML-Inhalt:
Produkte = Suchlisten analysieren (HTML-Inhalt)
alle_produkte.erweitern(Produkte)
sonst:
brechen

Rückkehr alle_produkte

def in JSON speichern(Daten, Dateiname='tokopedia_search_results.json'):
mit XNUMXh geöffnet(Dateiname, 'w') as json_datei:
json.dump(Daten, JSON-Datei, Einzug=4)
drucken(f"Daten gespeichert in {Dateiname}")

# Daten aus Tokopedia-Suchlisten extrahieren
Basis-URL = 'https://www.tokopedia.com/search?q=headset'
max_pages = 5 # Passen Sie die Anzahl der Seiten an, die Sie scrapen möchten
Suchergebnisse = mehrere Seiten scrapen(Basis-URL, max. Seiten)

# Ergebnisse in einer JSON-Datei speichern
save_to_json(Suchergebnisse)

Beispielausgabe:

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
[
{
"Name": „Ipega PG-R008 Gaming-Headset für P4/X1-Serie/N-Switch Lite/Mobile/ta“,
"Preis": "178.000 Rupien",
"speichern": "ipegaoffiziell",
"Produkt-URL": „https://www.tokopedia.com/ipegaofficial/ipega-pg-r008-gaming-headset-for-p4-x1-series-n-switch-lite-mobile-ta?extParam=ivf%3Dfalse&src=topads“
},
{
"Name": "Hippo Toraz Freisprech-Kopfhörer mit Stereo-Sound - Headset, Weiß",
"Preis": "13.000 Rupien",
"speichern": "HippoZentrum",
"Produkt-URL": „https://www.tokopedia.com/hippocenter88/hippo-toraz-handsfree-earphone-stereo-sound-headset-putih?extParam=ivf%3Dfalse&src=topads“
},
{
"Name": "ORIGINAL KOPFSET FÜR VIVO OPPO XIAOMI REALMI JACK 3.5 MM SUPERBASS - OPPO",
"Preis": "5.250 Rupien",
"speichern": "BENUAACELL",
"Produkt-URL": „https://www.tokopedia.com/bcbenuacell/headset-original-copotan-vivo-oppo-xiaomi-realmi-jack-3-5mm-superbass-oppo?extParam=ivf%3Dfalse&src=topads“
},
{
"Name": "kabelloses Bluetooth-Headset für Gaming mit vollem Bass",
"Preis": "225.000 Rupien",
"speichern": "Kopi 7 Huruf",
"Produkt-URL": „https://www.tokopedia.com/kopi7huruf/earphone-bluetooth-wireless-headset-gaming-full-bass?extParam=ivf%3Dfalse&src=topads“
},
{
"Name": „In-Ear-Kopfhörer 4D Stereo Super Bass mit Mikrofon und 3.5-mm-Klinkenkabel, Headset, kristallklarer Sound – Weiß“,
"Preis": „15.000 Rupien 188.000 Rupien“,
"speichern": "MOCUTE-SHOP",
"Produkt-URL": "https://www.tokopedia.com/mocutestore/earphone-in-ear-4d-stereo-super-bass-dengan-mic-with-kabel-jack-3-5mm-headset-crystal-clear-sound-putih-97573?extParam=ivf%3Dtrue&src=topads"
},
.... mehr
]

Im nächsten Abschnitt behandeln wir das Scraping einzelner Produktseiten auf Tokopedia, um detaillierte Informationen zu erhalten.

Scraping Tokopedia-Produktseiten

Nachdem wir nun die Suchlisten ausgelesen haben, können wir mit dem Auslesen der Produktdetails von einzelnen Produktseiten fortfahren. In diesem Abschnitt werden wir Produktname, Preis, Shopname, Beschreibung und Bild-URL von einer Tokopedia-Produktseite auslesen.

Untersuchen des HTML auf CSS-Selektoren

Bevor wir den Scraper schreiben, müssen wir die HTML-Struktur der Produktseite überprüfen, um die richtigen CSS-Selektoren für die Daten zu finden, die wir scrapen möchten. Für dieses Beispiel scrapen wir die Produktseite von der folgenden URL:

1
https://www.tokopedia.com/thebigboss/headset-bluetooth-tws-earphone-bluetooth-stereo-bass-tbb250-beige-8d839

Öffnen Sie die Entwicklertools in Ihrem Browser und navigieren Sie zu dieser URL.

Ein Screenshot der HTML-Struktur der Tokopedia-Produktseite

Darauf müssen wir uns konzentrieren:

  • Produkt Name: Gefunden in einem <h1> Tag mit dem Attribut data-testid="lblPDPDetailProductName".
  • Preis: Der Preis befindet sich in einem <div> Tag mit dem Attribut data-testid="lblPDPDetailProductPrice".
  • Name deines Geschäfts: Der Name des Geschäfts befindet sich in einem <a> Tag mit dem Attribut data-testid="llbPDPFooterShopName".
  • Beschreibung: Befindet sich in einem <div> Tag mit dem Attribut data-testid="lblPDPDescriptionProduk" die detaillierte Informationen zum Produkt enthält.
  • Bilder-URL: Das Hauptproduktbild befindet sich innerhalb einer <button> Tag mit dem Attribut data-testid="PDPImageThumbnail"und der src Attribut des verschachtelten <img> Tag (Klasse css-1c345mg) enthält den Bildlink.

Schreiben des Produktseiten-Scrapers

Nachdem wir die Seite überprüft haben, können wir mit dem Schreiben des Scrapers beginnen. Unten sehen Sie eine Python-Funktion, die die Crawlbase verwendet. Crawling API um den HTML-Code abzurufen und BeautifulSoup um den Inhalt zu analysieren.

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
für Crawlbase importieren CrawlingAPI
für bs4 importieren BeautifulSuppe
importieren JSON

# Initialisieren Sie die Crawlbase-API mit Ihrem Token
crawling_api = CrawlingAPI({ 'Zeichen': 'IHR_CRAWLBASE_TOKEN' })

def Produktseite scrapen(URL):
Optionen = {
'ajax_wait': "wahr",
'Seite_warten': '5000'
}
Antwort = crawling_api.get(URL, Optionen)

if Antwort['Kopfzeilen']['pc_status'] == '200':
html_content = Antwort['Körper'].dekodieren('utf-8')
Suppe = Schöne Suppe (HTML-Inhalt, 'html.parser')

# Produktdaten extrahieren
Produktdaten = {}
Produktdaten['Süßkartoffel'] = Suppe.Wähle eine('h1[data-testid="lblPDPDetailProductName"]').text.strip()
Produktdaten['Preis'] = Suppe.Wähle eine('div[data-testid="lblPDPDetailProductPrice"]').text.strip()
Produktdaten['Geschäftsname'] = Suppe.Wähle eine('a[data-testid="llbPDPFooterShopName"]').text.strip()
Produktdaten['Bezeichnung'] = Suppe.Wähle eine('div[data-testid="lblPDPDescriptionProduk"]').text.strip()
Produktdaten['Bilder_URL'] = [Bild['Quelle'] für img in Suppe.Auswählen('button[data-testid="PDPImageThumbnail"] img.css-1c345mg')]

Rückkehr Produktdaten
sonst:
drucken(f"Seite konnte nicht abgerufen werden. Statuscode: {Antwort['Kopfzeilen']['pc_status']}")
Rückkehr Keine

Speichern von Daten in einer JSON-Datei

Nach dem Scrapen der Produktdetails empfiehlt es sich, die Daten in einem strukturierten Format wie JSON zu speichern. So schreiben Sie die Scraped-Daten in eine JSON-Datei.

1
2
3
4
def store_data_in_json(Daten, Dateiname=„tokopedia_product_data.json“):
mit XNUMXh geöffnet(Dateiname, 'w') as json_datei:
json.dump(Daten, JSON-Datei, Einzug=4)
drucken(f"Daten gespeichert in {Dateiname}")

Vollständiges Codebeispiel

Hier ist der vollständige Code, der die Produktseite durchsucht und die Daten in einer JSON-Datei speichert.

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
für Crawlbase importieren CrawlingAPI
für bs4 importieren BeautifulSuppe
importieren JSON

# Initialisieren Sie die Crawlbase-API mit Ihrem Token
crawling_api = CrawlingAPI({ 'Zeichen': 'IHR_CRAWLBASE_TOKEN' })

# Funktion zum Scrapen der Tokopedia-Produktseite
def Produktseite scrapen(URL):
Optionen = {
'ajax_wait': "wahr",
'Seite_warten': '5000'
}
Antwort = crawling_api.get(URL, Optionen)

if Antwort['Kopfzeilen']['pc_status'] == '200':
html_content = Antwort['Körper'].dekodieren('utf-8')
Suppe = Schöne Suppe (HTML-Inhalt, 'html.parser')

# Produktdaten extrahieren
Produktdaten = {}
Produktdaten['Süßkartoffel'] = Suppe.Wähle eine('h1[data-testid="lblPDPDetailProductName"]').text.strip()
Produktdaten['Preis'] = Suppe.Wähle eine('div[data-testid="lblPDPDetailProductPrice"]').text.strip()
Produktdaten['Geschäftsname'] = Suppe.Wähle eine('a[data-testid="llbPDPFooterShopName"]').text.strip()
Produktdaten['Bezeichnung'] = Suppe.Wähle eine('div[data-testid="lblPDPDescriptionProduk"]').text.strip()
Produktdaten['Bilder_URL'] = [Bild['Quelle'] für img in Suppe.Auswählen('button[data-testid="PDPImageThumbnail"] img.css-1c345mg')]

Rückkehr Produktdaten
sonst:
drucken(f"Seite konnte nicht abgerufen werden. Statuscode: {Antwort['Kopfzeilen']['pc_status']}")
Rückkehr Keine

# Funktion zum Speichern von Scraped-Daten in einer JSON-Datei
def store_data_in_json(Daten, Dateiname=„tokopedia_product_data.json“):
mit XNUMXh geöffnet(Dateiname, 'w') as json_datei:
json.dump(Daten, JSON-Datei, Einzug=4)
drucken(f"Daten gespeichert in {Dateiname}")

# Produktseite scrapen und Daten speichern
URL = „https://www.tokopedia.com/thebigboss/headset-bluetooth-tws-earphone-bluetooth-stereo-bass-tbb250-beige-8d839“
Produktdaten = Produktseite scrapen(URL)

if Produktdaten:
store_data_in_json(Produktdaten)

Beispielausgabe:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
"Name": "Headset Bluetooth TWS Ohrhörer Bluetooth Stereo Bass TBB250 - Beige",
"Preis": "299.000 Rupien",
"Geschäftsname": „Der große Boss 17“,
„Beschreibung“: „1.Erhalten Sie Surround-Audio 6D direktional. Die Technologie wird verwendet, um ein Bluetooth-Headset zu verwenden, und die Leistung beträgt 90 % Non-In-Ear-Kopfhörer, Kopfhörer, Skateboard-Kopfhörer, Kopfhörer, Kopfhörer, Kopfhörer, Kopfhörer, Kopfhörer, Kopfhörer, Kopfhörer und Kopfhörer.2 , Bahannya Sangat Ringan, und berat Masing-Masing Telinga Hanya 3g, Yang Dapat Mengurangi Tekanan Pada Telinga; Da es nur 4,5 75 US-Dollar kostet, ist es nicht mehr möglich, ein 00.Bluetooth 0-Chip-Bluetooth-Generator zu verwenden. Koneksi stabil bis 4 Meter, koneksi langsung dalam 5.3 detik setelah membuka penutup. Das bedeutet, dass das Mikrofon nicht mehr funktioniert, das Gerät unterstützt, das Gerät unterstützt und das Mikrofon herunterlädt. Das Mikrofon kann nur dann verwendet werden, wenn die Filterfunktion aktiviert ist, die Filterfunktion aktiviert ist, die Identifizierung erfolgt automatisch und die Funktion wird aktiviert lebih jelas.10. IPx1 für die Luft\ud5d\udca6Die Qualität der Luft für IPx7 ist effektiv, wenn die Verbindung zu einer anderen Person hergestellt wird, und Sie können die Verbindung zu einer anderen Person herstellen 5-Zoll-Kopfhörer, 83 x Kopfhörer (Kopfhörer und 7 Kopfhörer)* USB-Kabel (USB-C)* Kopfhörer und Kopfhörer,
"Bilder-URL": [
"https://images.tokopedia.net/img/cache/100-square/VqbcmM/2024/7/28/3119dca0-2d66-45d7-b6a1-445d0782b15a.jpg.webp?ect=4g",
"https://images.tokopedia.net/img/cache/100-square/VqbcmM/2024/7/28/9d9ddcff-7f52-43cc-8271-c5e135de392b.jpg.webp?ect=4g",
"https://images.tokopedia.net/img/cache/100-square/VqbcmM/2024/7/28/d35975e6-222c-4264-b9f2-c2eacf988401.jpg.webp?ect=4g",
"https://images.tokopedia.net/img/cache/100-square/VqbcmM/2024/7/28/5aba89e3-a37a-4e3a-b1f8-429a68190817.jpg.webp?ect=4g",
"https://images.tokopedia.net/img/cache/100-square/VqbcmM/2024/7/28/c6c3bb2d-3215-4993-b908-95b309b29ddd.jpg.webp?ect=4g",
„https://assets.tokopedia.net/assets-tokopedia-lite/v2/zeus/kratos/85cc883d.svg“,
„https://assets.tokopedia.net/assets-tokopedia-lite/v2/zeus/kratos/85cc883d.svg“,
„https://assets.tokopedia.net/assets-tokopedia-lite/v2/zeus/kratos/85cc883d.svg“,
„https://assets.tokopedia.net/assets-tokopedia-lite/v2/zeus/kratos/85cc883d.svg“,
„https://assets.tokopedia.net/assets-tokopedia-lite/v2/zeus/kratos/85cc883d.svg“,
„https://assets.tokopedia.net/assets-tokopedia-lite/v2/zeus/kratos/85cc883d.svg“,
„https://assets.tokopedia.net/assets-tokopedia-lite/v2/zeus/kratos/85cc883d.svg“
]
}

Dieses vollständige Beispiel zeigt, wie Produktdetails von der Tokopedia-Produktseite extrahiert und in einer JSON-Datei gespeichert werden. Es verarbeitet dynamische Inhalte und eignet sich daher gut zum Scrapen von Daten aus mit JavaScript gerenderten Seiten.

Optimieren Sie das Tokopedia Scraping mit Crawlbase

Das Scraping von Tokopedia kann Ihnen dabei helfen, Produktdaten für Recherchen, Preisvergleiche oder Marktanalysen zu erhalten. Mit Crawlbase Crawling APIkönnen Sie auf dynamischen Websites navigieren und selbst von Seiten mit viel JavaScript schnell Daten extrahieren.

In diesem Blog haben wir erläutert, wie Sie die Umgebung einrichten, CSS-Selektoren aus HTML finden und den Python-Code schreiben, um Produktlisten und Produktseiten aus Tokopedia zu extrahieren. Mit der in diesem Blog verwendeten Methode können Sie problemlos nützliche Informationen wie Produktnamen, Preise, Beschreibungen und Bilder aus Tokopedia sammeln und in einem strukturierten Format wie JSON speichern.

Wenn Sie sich für das Scraping von anderen E-Commerce-Plattformen interessieren, können Sie sich die folgenden umfassenden Anleitungen ansehen.

📜 Wie man Amazon scrapt
📜 Wie man Walmart scrapt
📜 So scrapen Sie AliExpress
📜 Wie man Zalando scrapt
📜 Wie man Costco ausbeutet

Hotline | KolbenKraft Deutschland Support wenn Sie Fragen haben. Viel Spaß beim Scrapen.

Häufig gestellte Fragen

Das Scraping von Daten von Tokopedia kann legal sein, solange Sie die Nutzungsbedingungen einhalten und die Daten verantwortungsbewusst verwenden. Lesen Sie immer die Regeln der Website und vermeiden Sie das Scraping sensibler oder persönlicher Daten. Es ist wichtig, die Daten für ethische Zwecke wie Forschung oder Analyse zu verwenden, ohne gegen die Richtlinien von Tokopedia zu verstoßen.

F. Warum sollte ich Crawlbase verwenden? Crawling API zum Scrapen von Tokopedia?

Tokopedia verwendet dynamische Inhalte, die über JavaScript geladen werden, was das Scraping mit herkömmlichen Methoden erschwert. Crawlbase Crawling API erleichtert diesen Vorgang, indem die Website in einem echten Browser gerendert wird. Außerdem wird die IP-Rotation gesteuert, um Blockaden zu verhindern. Dadurch wird Scraping effektiver und zuverlässiger.

F: Welche wichtigen Datenpunkte kann ich aus den Produktseiten von Tokopedia extrahieren?

Beim Scraping von Tokopedia-Produktseiten können Sie mehrere wichtige Datenpunkte extrahieren, darunter Produkttitel, Preis, Beschreibung, Bewertungen und Bild-URLs. Diese Details sind nützlich für Analysen, Preisvergleiche oder den Aufbau einer Produktdatenbank, um Markttrends zu verstehen.