Wie man Alibaba mit Python im Jahr 2026 scrapt

Erfahren Sie, wie Sie einen Python-basierten Alibaba-Scraper erstellen, um Produktdetails, Preise und mehr zu extrahieren. Perfekt für die effiziente Automatisierung der Datenerfassung.
9 min lesen
How to Scrape Alibaba blog image

In diesem Leitfaden erfahren Sie:

  • Was ein Alibaba-Scraper ist und wie er funktioniert
  • Welche Arten von Daten Sie automatisch von Alibaba abrufen können
  • Wie Sie mit Python ein Alibaba-Scraping-Skript erstellen

Lassen Sie uns loslegen!

Was ist ein Alibaba-Scraper?

Ein Alibaba-Scraper ist einWeb-Scraping-Bot, der automatisch Daten aus den Seiten von Alibaba extrahiert. Er simuliert das Surfverhalten eines Benutzers, um durch die Seiten von Alibaba zu navigieren. Er verarbeitet Interaktionen wie Paginierung und ruft strukturierte Informationen wie Produktdetails, Preise und Unternehmensdaten ab.

Daten, die Sie von Alibaba scrapen können

Alibaba ist eine Fundgrube für wertvolle Informationen, wie zum Beispiel:

  • Produktdetails: Namen, Beschreibungen, Bilder, Preisklassen, Verkäuferinformationen und mehr.
  • Unternehmensinformationen: Firmennamen, Herstellerangaben, Kontaktinformationen und Bewertungen.
  • Kundenfeedback: Bewertungen, Produktrezensionen und mehr.
  • Logistik und Verfügbarkeit: Lagerbestand, Mindestbestellmengen, Versandoptionen und mehr.
  • Kategorien und Tags: Produktkategorien, relevante Tags oder Labels.

Erfahren Sie, wie Sie diese Daten extrahieren können!

Alibaba in Python scrapen: Schritt-für-Schritt-Anleitung

In diesem Abschnitt lernen Sie in einem geführten Tutorial, wie Sie einen Alibaba-Scraper erstellen.

Das Ziel ist es, Sie durch die Erstellung eines Python-Skripts zu führen, das automatisch Daten aus der Alibaba-Seite „Laptop” extrahiert:

Laptop search results on Alibaba

Sind Sie bereit? Befolgen Sie die folgenden Schritte!

Schritt 1: Projekt einrichten

Vergewissern Sie sich zunächst, dass Python 3 auf Ihrem Rechner installiert ist. Ist dies nicht der Fall, laden Sie es herunter und folgen Sie den Anweisungen des Installationsassistenten.

Erstellen Sie nun mit dem folgenden Befehl ein Verzeichnis für Ihr Projekt:

mkdir alibaba-scraper

Der Ordner „alibaba-scraper” ist der Speicherort für den Python-Alibaba-Scraper.

Geben Sie ihn in das Terminal ein und erstellen Sie darin eine virtuelle Umgebung:

cd alibaba-Scraper
python -m venv env

Laden Sie den Projektordner in Ihre bevorzugte Python-IDE, z. B. Visual Studio Code mit der Python-Erweiterung oder PyCharm Community Edition.

Erstellen Sie eine Datei scraper.py im Projektverzeichnis, das nun folgende Dateistruktur aufweisen sollte:

the project’s directory

scraper.py ist derzeit ein leeres Python-Skript, wird aber bald die gewünschte Scraping-Logik enthalten.

Aktivieren Sie die virtuelle Umgebung im Terminal der IDE. Führen Sie unter Linux oder macOS diesen Befehl aus:

./env/bin/activate

Unter Windows führen Sie stattdessen folgenden Befehl aus:

env/Scripts/activate

Großartig, Ihre Python-Umgebung für das Web-Scraping von Alibaba ist bereit!

Schritt 2: Wählen Sie die Scraping-Bibliothek aus

Das Ziel ist nun, festzustellen, ob Alibaba dynamische oder statische Seiten verwendet. Öffnen Sie dazu die Alibaba-Zielseite in Ihrem Browser im Inkognito-Modus. Klicken Sie dann mit der rechten Maustaste auf den Hintergrund, wählen Sie „Untersuchen“, gehen Sie zur Registerkarte „Netzwerk“, filtern Sie nach „Fetch/XHR“ und laden Sie die Seite neu:

The network tab on the chrome devtools

Beobachten Sie in diesem Abschnitt der DevTools, ob die Seite signifikante dynamische Anfragen stellt. In diesem Fall ist dies der Fall, was darauf hindeutet, dass die Seite dynamisch ist. Eine weitere Analyse zeigt, dass die Seite JavaScript für das Rendering verwendet.

Mit anderen Worten: Sie benötigen ein Browser-Automatisierungstool wie Selenium, um Alibaba effektiv zu scrapen. Weitere Informationen finden Sie in unserem Tutorial zum Selenium-Web-Scraping.

Mit Selenium können Sie einen Webbrowser programmgesteuert steuern, Benutzerinteraktionen simulieren und von JavaScript gerenderte Inhalte scrapen. Installieren Sie es und legen Sie los!

Schritt 3: Selenium installieren und konfigurieren

Installieren Sie Selenium in einer aktivierten virtuellen Umgebung mit diesem Befehl:

pip install -U selenium

Importieren Sie Selenium in scraper.py und erstellen Sie ein WebDriver -Objekt:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service

# Initialisieren einer Chrome-Webtreiberinstanz
driver = webdriver.Chrome(service=Service())

Der obige Code initialisiert eine WebDriver-Instanz zur Steuerung einer Chrome-Instanz. Beachten Sie, dass Alibaba einige Anti-Scraping-Maßnahmen eingerichtet hat, die Headless-Browser blockieren können.

Daher sollten Sie das Flag --headless nicht setzen. Als alternative Lösung sollten Sie Playwright Stealth in Betracht ziehen.

Denken Sie daran, den Webtreiber als letzte Zeile Ihres Scrapers zu schließen:

driver.quit()

Großartig! Sie sind nun vollständig konfiguriert, um mit dem Scraping von Alibaba zu beginnen.

Schritt 4: Verbindung zur Zielseite herstellen

Verwenden Sie die vom Selenium WebDriver -Objekt bereitgestellte get() -Methode, um die gewünschte Seite aufzurufen:

url = "https://www.alibaba.com/trade/search?spm=a2700.product_home_newuser.home_new_user_first_screen_fy23_pc_search_bar.keydown__Enter&tab=all&SearchText=laptop"
driver.get(url)

Die Datei scraper.py enthält nun folgende Codezeilen:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service

# Initialisieren einer Chrome-Webtreiberinstanz
driver = webdriver.Chrome(service=Service())

# die URL der Zielseite
url = "https://www.alibaba.com/trade/search?spm=a2700.product_home_newuser.home_new_user_first_screen_fy23_pc_search_bar.keydown__Enter&tab=all&SearchText=laptop"

# Verbindung zur Zielseite herstellen
driver.get(url)

# Scraping-Logik...

# Browser schließen
driver.quit()

Setzen Sie einen Debugging-Haltepunkt in die letzte Zeile und starten Sie das Skript mit dem Debugger. Folgendes sollte nun angezeigt werden:

What you will see after launching the script

Die Meldung „Chrome wird von einer automatisierten Testsoftware gesteuert“ bestätigt, dass Selenium Chrome wie erwartet steuert. Gut gemacht!

Schritt 5: Wählen Sie die Produktelemente aus

Da die Alibaba-Produktseite mehrere Produkte enthält, müssen Sie zunächst eine Datenstruktur initialisieren, um die gescraped Daten zu speichern. Ein Array eignet sich perfekt für diesen Zweck:

products = []

Untersuchen Sie als Nächstes die HTML-Elemente der Produkte auf der Seite, um zu verstehen:

  1. Wie Sie sie auswählen können
  2. Welche Daten sie enthalten
  3. Wie man diese Daten extrahiert
inspect the HTML elements of the products

Hier sehen Sie, dass jedes Produktelement ein .m-gallery-product-item-v2 -Knoten ist.

Verwenden Sie Selenium, um alle Produktelemente auszuwählen:

product_elements = driver.find_elements(By.CSS_SELECTOR, ".m-gallery-product-item-v2")

find_elements() wendet die angegebene Selektorstrategie an, um Elemente auf der Seite abzurufen. Im obigen Fall handelt es sich bei der Selektorstrategie um einen CSS-Selektor.

Vergessen Sie nicht, By zu importieren:

from selenium.webdriver.common.by import By

Durchlaufen Sie die ausgewählten Elemente und bereiten Sie sich darauf vor, Daten aus jedem einzelnen Element zu extrahieren:

for product_element in product_elements:
    # Daten aus jedem Produktelement extrahieren

Großartig! Sie sind dem erfolgreichen Scraping von Alibaba einen Schritt näher gekommen.

Schritt 6: Extrahieren Sie die Produktelemente

Untersuchen Sie ein Produktelement, um seine HTML-Struktur zu verstehen:

Inspecting a product element on Alibaba

Hier sehen Sie, dass Sie Folgendes extrahieren können:

  • Das Produktbild aus .search-card-e-slider__img
  • Die Produktbeschreibung aus .search-card-e-title
  • Die Produktpreisspanne aus .search-card-e-price-main
  • Das Unternehmen/den Hersteller aus .search-card-e-company

Übersetzen Sie diese Informationen in der for -Schleife in eine Scraping-Logik:

img_element = product_element.find_element(By.CSS_SELECTOR,".search-card-e-slider__img")
img = img_element.get_attribute("src")

description_element = product_element.find_element(By.CSS_SELECTOR,".search-card-e-title")
description = description_element.text.strip()

price_element = product_element.find_element(By.CSS_SELECTOR,".search-card-e-price-main")
price = price_element.text.strip()

company_element = product_element.find_element(By.CSS_SELECTOR,".search-card-e-company")
company = company_element.text.strip()

find_element() ruft das einzige Element ab, das dem angegebenen CSS-Selektor entspricht. Anschließend können Sie mit dem Textattribut auf dessen Textinhalt zugreifen. Um den Wert des HTML-Attributs eines Knotens zu erhalten, verwenden Sie die Methode get_attribute().

Verwenden Sie die gescrapten Daten, um ein Produktwörterbuch zu füllen und es zum Array „products” hinzuzufügen:

product = {
    "img": img,
    "description": description,
    "price": price,
    "company": company
}
products.append(product)

Fantastisch! Die Logik zur Datenextraktion aus Alibaba ist fertig.

Schritt 7: Exportieren Sie die gescrapten Daten in eine CSV-Datei

Derzeit sind Ihre gescraped Daten im Array „products” gespeichert. Um sie zugänglich zu machen und mit anderen teilen zu können, müssen Sie sie in ein für Menschen lesbares Format wie eine CSV-Datei exportieren.

Verwenden Sie den folgenden Code, um eine CSV-Datei mit den gescrapten Daten zu erstellen und zu füllen:

csv_file_name = "products.csv"

with open(csv_file_name, mode="w", newline="", encoding="utf-8") as csv_file:
    writer = csv.DictWriter(csv_file, fieldnames=["image", "description", "price", "company"])

    # Header-Zeile schreiben
    writer.writeheader()

    # Produktdatenzeilen schreiben
    for product in products:
        writer.writerow(product)

Vergessen Sie nicht, csv aus der Python-Standardbibliothek zu importieren:

import csv

Wow! Ihr Aliaba-Scraper ist fertig.

Schritt 8: Alles zusammenfügen

Nachfolgend finden Sie den endgültigen Code Ihres Alibaba-Scraping-Skripts:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
import csv

# Initialisieren Sie eine Chrome-Webtreiberinstanz.
driver = webdriver.Chrome(service=Service())

# die URL der Zielseite
url = "https://www.alibaba.com/trade/search?spm=a2700.product_home_newuser.home_new_user_first_screen_fy23_pc_search_bar.keydown__Enter&tab=all&SearchText=laptop"

# Verbindung zur Zielseite herstellen
driver.get(url)

# Speicherort für die gesammelten Daten
products = []

# Alle Produktelemente auf der Seite auswählen
product_elements = driver.find_elements(By.CSS_SELECTOR, ".m-gallery-product-item-v2")

# Produktknoten durchlaufen und Daten daraus sammeln
for product_element in product_elements:
    # Produktdetails extrahieren
    img_element = product_element.find_element(By.CSS_SELECTOR,".search-card-e-slider__img")
    img = img_element.get_attribute("src")

    description_element = product_element.find_element(By.CSS_SELECTOR,".search-card-e-title")
    description = description_element.text.strip()

    price_element = product_element.find_element(By.CSS_SELECTOR,".search-card-e-price-main")
    price = price_element.text.strip()

    company_element = product_element.find_element(By.CSS_SELECTOR,".search-card-e-company")
    company = company_element.text.strip()

    # Erstellen Sie ein Produktwörterbuch mit den
    # gescrapten Daten.
    product = {
        "img": img,
        "description": description,
        "price": price,
        "company": company
    }

    # Füge die Produktdaten zum Array hinzu
    products.append(product)

# Definiere den Namen der CSV-Ausgabedatei
csv_file_name = "products.csv"

# Öffne die Datei im Schreibmodus und erstelle einen CSV-Writer
with open(csv_file_name, mode="w", newline="", encoding="utf-8") as csv_file:
    writer = csv.DictWriter(csv_file, fieldnames=["img", "description", "price", "company"])

    # Header-Zeile schreiben
    writer.writeheader()

    # Produktdatenzeilen schreiben
    for product in products:
        writer.writerow(product)

# Browser schließen
driver.quit()

Mit nur etwas mehr als 60 Zeilen Code haben Sie gerade einen Alibaba-Scraper in Python erstellt!

Starten Sie den Scraper mit dem folgenden Befehl:

python3 script.py

Oder unter Windows:

python script.py

Eine Datei namens products.csv wird im Ordner Ihres Projekts angezeigt. Öffnen Sie sie und Sie sehen:

The finals products.csv file with all the data

Et voilà! Mission erfüllt. Die nächsten Schritte? Paginierung bearbeiten, Skript bereitstellen, Ausführung automatisieren und für optimale Leistung weiter optimieren!

Fazit

In dieser Schritt-für-Schritt-Anleitung haben Sie gelernt, was ein Alibaba-Scraper ist und welche Arten von Daten er abrufen kann. Außerdem haben Sie gesehen, wie Sie mit weniger als 100 Zeilen Code ein Python-Skript erstellen können, um Alibaba-Produkte zu scrapen.

Das Problem ist, dass das Scraping von Alibaba mit Herausforderungen verbunden ist. Die Plattform setzt strenge Anti-Bot-Maßnahmen ein und verwendet Interaktionen wie Paginierung, die den Scraping-Prozess komplexer machen. Die Erstellung einer skalierbaren und effektiven Alibaba-Scraping-Lösung kann sehr anspruchsvoll sein.

Mit unserer Alibaba Scraper API können Sie diese Herausforderungen vergessen! Mit dieser speziellen Lösung können Sie Daten von der Zielwebsite durch einfache API-Aufrufe abrufen – ohne das Risiko, blockiert zu werden.

Wenn Web-Scraping nicht Ihr bevorzugter Ansatz ist, Sie aber dennoch an Produktdaten interessiert sind, entdecken Sie unsere gebrauchsfertigen Alibaba-Datensätze!

Erstellen Sie noch heute ein kostenloses Bright Data-Konto, um unsere Scraper-APIs auszuprobieren oder unsere Datensätze zu erkunden.