In diesem Leitfaden lernen Sie:
- Alles, was Sie wissen müssen, um mit dem Web-Scraping von Baidu zu beginnen.
- Die beliebtesten und effektivsten Methoden für das Scraping von Baidu.
- Wie man einen eigenen Baidu Scraper von Grund auf in Python erstellt.
- Wie man mit der SERP-API von Bright Data Suchmaschinenergebnisse abruft.
- Wie Sie Ihren KI-Agenten über die Web MCP Zugriff auf Baidu-Suchdaten geben.
Tauchen wir ein!
Vertraut werden mit der Baidu SERP
Bevor Sie etwas unternehmen, sollten Sie sich mit der Struktur der Baidu SERP (Search Engine Results Page) vertraut machen, welche Daten sie enthält, wie man darauf zugreift und so weiter.
Baidu SERP URLs und Bot Detection System
Öffnen Sie Baidu in Ihrem Browser und führen Sie einige Suchen durch. Suchen Sie zum Beispiel nach “bright data”. Sie sollten eine URL wie diese erhalten:
https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=bright%20data&fenlei=256&oq=ai%2520model&rsv_pq=970a74b9001542b3&rsv_t=7f84gPOmZQIjrqRcld6qZUI%2FiqXxDExphd0Tz5ialqM87sc5Falk%2B%2F3hxDs&rqlang=cn&rsv_enter=1&rsv_dl=tb&rsv_sug3=12&rsv_sug1=1&rsv_sug7=100&rsv_btype=t&inputT=1359&rsv_sug4=1358
Unter all diesen Abfrageparametern sind die wichtigsten:
- Basis-URL:
https://www.baidu.com/s. - Suchabfrageparameter:
wd.
Mit anderen Worten, Sie können die gleichen Ergebnisse mit einer kürzeren URL erhalten:
https://www.baidu.com/s?wd=bright%20data
Außerdem strukturiert Baidu seine URLs für die Paginierung über den Abfrageparameter pn. Im Einzelnen wird auf der zweiten Seite &pn=10 hinzugefügt, und auf jeder weiteren Seite wird dieser Wert um 10 erhöht. Wenn Sie zum Beispiel 3 Seiten mit dem Schlüsselwort “bright data” abrufen möchten, würden Ihre SERP-URLs wie folgt aussehen:
https://www.baidu.com/s?wd=bright%20data -> Seite 1
https://www.baidu.com/s?wd=bright%20data&pn=10 -> Seite 2
https://www.baidu.com/s?wd=bright%20data&pn=20 -> Seite 3
Wenn Sie nun versuchen, mit einer einfachen GET-HTTP-Anfrage in einem HTTP-Client wie Postman direkt auf eine solche URL zuzugreifen, werden Sie wahrscheinlich etwas Ähnliches wie das hier sehen:
Wie Sie sehen können, gibt Baidu eine Seite mit der Meldung “网络不给力,请稍后重试” zurück (was übersetzt “Das Netzwerk funktioniert nicht gut, bitte versuchen Sie es später noch einmal” bedeutet, aber eigentlich eine Anti-Bot-Seite ist).
Dies geschieht selbst dann, wenn Sie einen User-Agent-Header einfügen, der normalerweise für Web-Scraping-Aufgaben unerlässlich ist. Mit anderen Worten: Baidu erkennt, dass Ihre Anfrage automatisiert ist und blockiert sie, so dass eine zusätzliche menschliche Überprüfung erforderlich ist.
Dies zeigt deutlich, dass Sie zum Scrapen von Baidu ein Browser-Automatisierungstool (wie Playwright oder Puppeteer) benötigen. Eine einfache Kombination aus einem HTTP-Client und einem HTML-Parser reicht nicht aus, da sie immer wieder Anti-Bot-Blockierungen auslöst.
Verfügbare Daten in einer Baidu-SERP
Konzentrieren Sie sich nun auf die Baidu-SERP für “Bright Data”, die in Ihrem Browser angezeigt wird. Sie sollten etwa so etwas sehen:
Jede Baidu-SERP-Seite ist in zwei Spalten unterteilt. Die linke Spalte enthält eine KI-Übersicht (siehe Wie man KI-Übersichten scrapen kann), gefolgt von den Suchergebnissen. Am unteren Ende dieser Spalte befindet sich der Abschnitt “相关搜索” (“Verwandte Suchanfragen”), und darunter die Navigationselemente für die Seitennavigation.
Die rechte Spalte enthält “百度热搜” (“Baidu Hot Searches”), die die aktuellen oder beliebtesten Themen auf Baidu anzeigt.(Hinweis: Diese Trending-Ergebnisse stehen nicht unbedingt im Zusammenhang mit Ihren Suchbegriffen).
Das sind alle wichtigen Daten, die Sie aus einer Baidu-SERP abrufen können. In diesem Tutorial werden wir uns nur auf die Suchergebnisse konzentrieren, die im Allgemeinen die wichtigsten Informationen sind!
Hauptansätze zum Scraping von Baidu
Es gibt mehrere Möglichkeiten, Baidu-Suchergebnisdaten zu erhalten. Vergleichen Sie die wichtigsten in der folgenden Übersichtstabelle:
| Ansatz | Integration Komplexität | Anforderungen | Preisgestaltung | Risiko von Blöcken | Skalierbarkeit |
|---|---|---|---|---|---|
| Erstellen eines benutzerdefinierten Scrapers | Mittel/Hoch | Python-Programmierkenntnisse + Kenntnisse der Browser-Automatisierung | Kostenlos (kann Anti-Bot-Browser erfordern, um Blockierungen zu vermeiden) | Möglich | Begrenzt |
| Verwendung der SERP-API von Bright Data | Niedrig | Jeder HTTP-Client | Bezahlt | Keine | Unbegrenzt |
| Integrieren Sie den Web-MCP-Server | Niedrig | KI-Agenten-Framework oder Plattform zur Unterstützung von MCP | Kostenlose Stufe verfügbar, dann kostenpflichtig | Keine | Unbegrenzt |
Sie werden im Laufe des Tutorials lernen, wie Sie jeden Ansatz umsetzen können!
Hinweis 1: Unabhängig von der Methode, die Sie wählen, wird die Zielsuchanfrage in diesem Leitfaden “helle Daten” lauten. Das bedeutet, dass Sie sehen werden, wie Sie Baidu-Suchergebnisse speziell für diese Abfrage abrufen können.
Hinweis 2: Wir gehen davon aus, dass Sie Python bereits lokal installiert haben und mit Python-Web-Scripting vertraut sind.
Ansatz #1: Erstellen eines eigenen Scrapers
Verwenden Sie ein Browser-Automatisierungs-Framework oder einen HTTP-Client in Kombination mit einem HTML-Parser, um einen Baidu Scraper von Grund auf zu erstellen.
👍 Vorteile:
- Volle Kontrolle über die Logik des Parsings von Daten, mit der Möglichkeit, genau das zu extrahieren, was Sie brauchen.
- Flexibel und anpassbar an Ihre Bedürfnisse.
👎 Nachteile:
- Erfordert Einrichtungs-, Kodierungs- und Wartungsaufwand.
- IP-Sperren, CAPTCHAs, Ratenbeschränkungen und andere Herausforderungen beim Web-Scraping können auftreten, wenn es in großem Umfang ausgeführt wird.
Ansatz Nr. 2: Verwendung der SERP-API von Bright Data
Nutzen Sie die Bright Data SERP-API, eine Premium-Lösung, mit der Sie Baidu (und andere Suchmaschinen) über einen einfach aufzurufenden HTTP-Endpunkt abfragen können. Sie übernimmt alle Anti-Bot-Maßnahmen und die Skalierung für Sie. Diese und viele andere Funktionen machen sie zu einer der besten SERP- und Such-APIs auf dem Markt.
👍 Vorteile:
- Hochgradig skalierbar und zuverlässig, unterstützt durch ein Proxy-Netzwerk mit über 150 Millionen IPs.
- Keine IP-Sperren oder CAPTCHA-Probleme.
- Funktioniert mit jedem HTTP-Client (einschließlich visueller Tools wie Postman oder Insomnia).
👎 Nachteile:
- Kostenpflichtiger Dienst.
Ansatz #3: Integrieren Sie den Web MCP Server
Ermöglichen Sie Ihrem KI-Agenten den kostenlosen Zugriff auf Baidu-Suchergebnisse über den Web MCP von Bright Data, der unter der Haube mit der SERP-API und dem Web Unlocker von Bright Data verbunden ist.
👍 Vorteile:
- Integration in KI-Workflows und Agenten.
- Kostenloses Tier verfügbar.
- Keine Logik zum Parsen von Daten erforderlich (KI kümmert sich darum).
👎 Nachteile:
- Begrenzte Kontrolle über das Verhalten von LLMs.
Ansatz #1: Erstellen eines benutzerdefinierten Baidu Scrapers in Python mit Playwright
Führen Sie die folgenden Schritte aus, um ein benutzerdefiniertes Web-Scraping-Skript für Baidu in Python zu erstellen.
Wie bereits erwähnt, erfordert das Scrapen von Baidu eine Browser-Automatisierung, da einfache HTTP-Anfragen blockiert werden. In diesem Tutorial werden wir Playwright verwenden, eine der besten Bibliotheken für die Browser-Automatisierung in Python.
Schritt #1: Einrichten des Scraping-Projekts
Öffnen Sie zunächst Ihr Terminal und erstellen Sie einen neuen Ordner für Ihr Baidu Scraper Projekt:
mkdir baidu-scraper
Der Ordner baidu-scraper/ wird alle Dateien für Ihr Scraper-Projekt enthalten.
Navigieren Sie nun in das Projektverzeichnis und erstellen Sie darin eine virtuelle Python-Umgebung:
cd baidu-scraper
python -m venv .venv
Öffnen Sie nun den Projektordner in Ihrer bevorzugten Python-IDE. Wir empfehlen Visual Studio Code mit der Python-Erweiterung oder PyCharm Community Edition.
Fügen Sie eine neue Datei mit dem Namen scraper.py in das Stammverzeichnis Ihres Projekts ein. Die Struktur Ihres Projekts sollte wie folgt aussehen:
baidu-scraper/
├── .venv/
└── scraper.py
Aktivieren Sie dann die virtuelle Umgebung im Terminal. Unter Linux oder macOS führen Sie aus:
source .venv/bin/activate
Äquivalent dazu führen Sie unter Windows aus:
.venv/Scripts/activate
Wenn Ihre virtuelle Umgebung aktiviert ist, installieren Sie Playwright mit pip über das Paket playwright:
pip install playwright
Installieren Sie anschließend die erforderlichen Playwright-Abhängigkeiten (z. B. die Browser-Binärdateien):
python -m playwright install
Geschafft! Ihre Python-Umgebung ist nun bereit, um mit der Erstellung Ihres Baidu Web Scrapers zu beginnen.
Schritt #2: Initialisieren Sie das Playwright-Skript
Importieren Sie in scraper.py Playwright und verwenden Sie dessen synchrone API, um eine kontrollierte Chromium-Browser-Instanz zu starten:
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
# Initialisiere eine Chromium-Instanz im Headless-Modus
browser = p.chromium.launch(headless=True) # headless=False setzen, um den Browser zum Debuggen zu sehen
Seite = browser.new_page()
# Scraping-Logik...
# Schließen Sie den Browser und geben Sie seine Ressourcen frei.
browser.close()
Das obige Snippet bildet die Grundlage für Ihren Baidu Scraper.
Der Parameter headless=True weist Playwright an, Chromium ohne sichtbare GUI zu starten. Bei Tests hat sich gezeigt, dass diese Einstellung nicht die Bot-Erkennung von Baidu auslöst. Sie funktioniert also gut für Scraping. Beim Entwickeln oder Debuggen Ihres Codes sollten Sie jedoch headless=False einstellen, damit Sie die Vorgänge im Browser in Echtzeit beobachten können.
Großartig! Verbinden Sie sich nun mit der Baidu SERP und beginnen Sie mit dem Abrufen von Suchergebnissen.
Schritt #3: Besuchen Sie die Ziel-SERP
Wie bereits analysiert, ist das Erstellen einer Baidu-SERP-URL ganz einfach. Anstatt Playwright anzuweisen, Benutzerinteraktionen zu simulieren (z. B. die Eingabe in das Suchfeld und das Absenden), ist es viel einfacher, die SERP-URL programmatisch zu erstellen und Playwright anzuweisen, direkt zu ihr zu navigieren.
Dies ist die Logik, um eine Baidu-SERP-URL für den Suchbegriff “bright data” zu erstellen:
# Die Basis-URL der Baidu-Suchseite
base_url = "https://www.baidu.com/s"
# Das Suchwort/die Suchphrase
search_query = "helle daten"
params = {"wd": search_query}
# Erstellen Sie die URL der Baidu SERP
url = f"{base_url}?{urlencode(params)}"
Vergessen Sie nicht, die Funktion urlencode() aus der Python Standard Library zu importieren:
from urllib.parse import urlencode
Weisen Sie nun den von Playwright gesteuerten Browser an, die generierte URL über goto() aufzurufen:
page.goto(url)
Wenn Sie das Skript im Headful-Modus (mit headless=False) im Debugger ausführen, werden Sie sehen, wie ein Chromium-Fenster die Baidu-SERP-Seite lädt:
Wahnsinn! Das ist genau die SERP, die Sie als nächstes scannen werden.
Schritt #4: Vorbereiten des Scrappens aller SERP-Ergebnisse
Bevor Sie in die Scraping-Logik eintauchen, müssen Sie die Struktur der Baidu-SERPs studieren. Da die Seite mehrere Suchergebniselemente enthält, benötigen Sie zunächst eine Liste, in der Sie die extrahierten Daten speichern. Beginnen Sie daher mit der Initialisierung einer leeren Liste:
serp_results = []
Als nächstes öffnen Sie die Baidu-SERP in einem Inkognito-Fenster (um eine saubere Sitzung zu gewährleisten) in Ihrem Browser:
https://www.baidu.com/s?wd=bright%20data
Klicken Sie mit der rechten Maustaste auf eines der Suchergebniselemente und wählen Sie “Inspect”, um die DevTools des Browsers zu öffnen:
Wenn Sie sich die DOM-Struktur ansehen, werden Sie feststellen, dass jedes Suchergebnis-Element die Klasse result hat. Das bedeutet, dass Sie alle Suchergebnisse auf der Seite mit dem CSS-Selektor .result auswählen können.
Wenden Sie diesen Selektor in Ihrem Playwright-Skript an:
search_result_elements = page.locator(".result")
Hinweis: Wenn Sie mit dieser Syntax nicht vertraut sind, lesen Sie unseren Leitfaden zum Web-Scraping mit Playwright.
Iterieren Sie schließlich über jedes ausgewählte Element:
for search_result_element in search_result_elements.all():
# Daten-Parsing-Logik...
Bereiten Sie die Anwendung der Data Parsing-Logik vor, um Baidu-Suchergebnisse zu extrahieren und die Liste serp_results aufzufüllen:
Perfekt! Sie sind nun kurz davor, Ihren Baidu-Scraping-Workflow abzuschließen.
Schritt #5: Scrapen von Suchergebnisdaten
Untersuchen Sie die HTML-Struktur eines SERP-Elements auf der Baidu-Ergebnisseite. Konzentrieren Sie sich dieses Mal auf die verschachtelten Elemente, um die Daten zu identifizieren, die Sie extrahieren möchten.
Beginnen Sie mit der Untersuchung des Titelabschnitts:
Fahren Sie fort, indem Sie feststellen, dass einige Ergebnisse ein “官方” (“Official”) Label anzeigen:
Dann konzentrieren Sie sich auf das Bild der SERP-Ergebnisse:
Und abschließend auf die Beschreibung/Abstract:
Aus diesen verschachtelten Elementen können Sie die folgenden Daten extrahieren:
- Ergebnis-URL aus dem
href-Attributdes.sc-link-Elements. - Ergebnistitel aus dem Text des
.sc-link-Elements. - Ergebnisbeschreibung/Abstract aus dem
[data-module='abstract']Text. - Ergebnisbild aus dem
src-Attributdesimginnerhalb von.sc-image. - Ergebnisausschnitt aus dem Text
.result__snippet. - Offizielle Bezeichnung in einem
<a>-Element, dessenhrefmithttps://aiqicha.baidu.com/feedback/officialbeginnt (falls vorhanden).
Verwenden Sie die Locator-API von Playwright, um Elemente auszuwählen und die gewünschten Daten zu extrahieren:
link_element = search_result_element.locator(".sc-link")
link = link_element.get_attribute("href")
title = link_element.inner_text()
beschreibung_element = such_ergebnis_element.locator("[data-module='abstract']")
description = description_element.inner_text() if description_element.count() > 0 else ""
image_element = such_ergebnis_element.locator(".sc-image img")
image = image_element.get_attribute("src") if image_element.count() > 0 else Keine
official_element = search_result_element.locator("a[href^='https://aiqicha.baidu.com/feedback/official']")
official = official_element.count() > 0
Denken Sie daran, dass nicht alle SERP-Elemente gleich sind. Um Fehler zu vermeiden, prüfen Sie immer, ob das Element existiert (.count() > 0), bevor Sie auf seine Attribute oder seinen Text zugreifen.
Großartig! Sie haben gerade die Logik für das Parsing der Baidu SERP-Daten definiert.
Schritt #6: Sammeln der gescrapten Suchergebnisdaten
Schließen Sie die for-Schleife ab, indem Sie ein Wörterbuch für jedes Suchergebnis erstellen und es an die Liste serp_results anhängen:
serp_result = {
"titel": titel.strip(),
"href": link.strip(),
"description": description.strip(),
"image": image.strip() if image else "",
"offiziell": offiziell
}
serp_results.append(serp_result)
Wunderbar! Ihre Baidu Web-Scraping Logik ist nun vollständig. Der letzte Schritt besteht darin, die gescrapten Daten zur weiteren Verwendung zu exportieren.
Schritt #7: Exportieren Sie die gescrapten Suchergebnisse in CSV
In diesem Stadium sind Ihre Baidu-Suchergebnisse in einer Python-Liste gespeichert. Um die Daten für andere Teams oder Tools nutzbar zu machen, exportieren Sie sie mit der in Python integrierten csv-Bibliothek in eine CSV-Datei:
with open("baidu_serp_results.csv", mode="w", newline="", encoding="utf-8") as csvfile:
# Dynamisches Lesen der Feldnamen aus dem ersten Element
fieldnames = list(serp_results[0].keys())
# Initialisieren des CSV-Writers
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
# Die Kopfzeile schreiben und die CSV-Ausgabedatei auffüllen
writer.writeheader()
writer.writerows(serp_results)
Vergessen Sie nicht, csv zu importieren:
import csv
Auf diese Weise erzeugt Ihr Baidu Scraper eine Ausgabedatei namens baidu_serp_results.csv, die alle gescrapten Ergebnisse im CSV-Format enthält. Mission erfüllt
Schritt #8: Alles zusammenfügen
Der endgültige Code in scraper.py lautet:
# pip install playwright
# python -m playwright installieren
from playwright.sync_api importieren sync_playwright
from urllib.parse import urlencode
csv importieren
# Wo werden die ausgewerteten Daten gespeichert?
serp_results = []
with sync_playwright() as p:
# Initialisieren einer Chromium-Instanz im Headless-Modus
browser = p.chromium.launch(headless=True) # setze headless=False, um den Browser zum Debuggen zu sehen
Seite = browser.new_page()
# Die Basis-URL der Baidu-Suchseite
base_url = "https://www.baidu.com/s"
# Das Suchwort/die Suchphrase
search_query = "helle Daten"
params = {"wd": search_query}
# Erstellen Sie die URL der Baidu SERP
url = f"{base_url}?{urlencode(params)}"
# Besuche die Zielseite im Browser
page.goto(url)
# Alle Elemente des Suchergebnisses auswählen
search_result_elements = page.locator(".result")
for search_result_element in search_result_elements.all():
# Logik für das Parsing der Daten
link_element = such_ergebnis_element.locator(".sc-link")
link = link_element.get_attribute("href")
title = link_element.inner_text()
beschreibung_element = such_ergebnis_element.locator("[data-module='abstract']")
description = description_element.inner_text() if description_element.count() > 0 else ""
image_element = such_ergebnis_element.locator(".sc-image img")
image = image_element.get_attribute("src") if image_element.count() > 0 else Keine
official_element = search_result_element.locator("a[href^='https://aiqicha.baidu.com/feedback/official']")
official = official_element.count() > 0
# Ein neues Suchergebnisobjekt mit den ausgewerteten Daten füllen
serp_result = {
"title": title.strip(),
"href": link.strip(),
"description": description.strip(),
"image": image.strip() if image else "",
"offiziell": offiziell
}
# Anhängen des gescrapten Baidu SERP-Ergebnisses an die Liste
serp_results.append(serp_result)
# Schließen Sie den Browser und geben Sie seine Ressourcen frei
browser.close()
with open("baidu_serp_results.csv", mode="w", newline="", encoding="utf-8") as csvfile:
# Dynamisches Lesen der Feldnamen aus dem ersten Element
fieldnames = list(serp_results[0].keys())
# Initialisieren des CSV-Writers
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
# Die Kopfzeile schreiben und die CSV-Ausgabedatei auffüllen
writer.writeheader()
writer.writerows(serp_results)
Wahnsinn! In nur etwa 70 Zeilen Code haben Sie ein Skript zum Scannen von Baidu-Daten erstellt.
Testen Sie das Skript mit:
python scraper.py
Die Ausgabe ist eine baidu_serp_results.csv-Datei in Ihrem Projektordner. Öffnen Sie sie, um die strukturierten Daten zu sehen, die aus den Baidu-Suchergebnissen extrahiert wurden:
Hinweis: Um weitere Ergebnisse zu scrapen, wiederholen Sie den Vorgang mit dem Abfrageparameter pn, um eine Paginierung zu erreichen.
Et voilà! Sie haben erfolgreich unstrukturierte Baidu-Suchergebnisse in eine strukturierte CSV-Datei umgewandelt.
[Extra] Verwenden Sie einen entfernten Browserdienst, um Blockierungen zu vermeiden
Der oben gezeigte Scraper funktioniert gut für kleine Serien, aber er ist nicht gut skalierbar. Baidu fängt an, Anfragen zu blockieren, wenn es zu viel Traffic von der gleichen IP sieht und Fehlerseiten oder Herausforderungen zurückgibt. Der Betrieb vieler lokaler Chromium-Instanzen ist außerdem ressourcenintensiv (viel RAM) und schwer zu koordinieren.
Eine skalierbarere und leichter zu verwaltende Lösung besteht darin, Ihre Playwright-Instanz mit einer Remote-Browser-as-a-Service-Scraping-Lösung wie der Browser API von Bright Data zu verbinden. Diese bietet automatische Proxy-Rotation, CAPTCHA-Behandlung und Anti-Bot-Umgehung, echte Browser-Instanzen zur Vermeidung von Fingerprinting-Problemen und unbegrenzte Skalierung.
Folgen Sie der Anleitung zur Einrichtung der Browser-API von Bright Data, und Sie erhalten eine WSS-Verbindungszeichenfolge, die wie folgt aussieht:
wss://<BRIGHT_DATA_PROXY_USERNAME>:<BRIGHT_DATA_PROXY_PASSWORD>@brd.superproxy.io:9222
Verwenden Sie diese WSS-URL, um Playwright über das CDP(Chrome DevTools Protocol) mit den Remote-Browser-Instanzen zu verbinden:
wss_url = "wss://<BRIGHT_DATA_PROXY_USERNAME>:<BRIGHT_DATA_PROXY_PASSWORD>@brd.superproxy.io:9222"
browser = playwright.chromium.connect_over_cdp(wss_url)
Seite = browser.new_page()
# ...
Jetzt werden Ihre Playwright-Anfragen an Baidu über die Browser-API-Remote-Infrastruktur von Bright Data geleitet, die durch ein Residential-Proxy-Netzwerk mit 150 Millionen IPs und echte Browserinstanzen unterstützt wird. Dies gewährleistet eine neue IP für jede Sitzung und ein realistisches Browser-Fingerprinting.
Ansatz Nr. 2: Verwendung der SERP-API von Bright Data
In diesem Kapitel erfahren Sie, wie Sie die umfassende Baidu SERP-API von Bright Data verwenden, um Suchergebnisse programmatisch abzurufen.
Hinweis: Der Einfachheit halber gehen wir davon aus, dass Sie bereits ein Python-Projekt mit der Request-Bibliothek installiert haben.
Schritt 1: Einrichten einer SERP-API Zone in Ihrem Bright Data-Konto
Richten Sie zunächst das SERP-API-Produkt in Bright Data für das Scraping von Baidu-Suchergebnissen ein. Erstellen Siezunächst ein Bright Data-Konto – oder melden Sie sich an, wenn Sie bereits eines haben.
Für eine schnellere Einrichtung können Sie die offizielle Schnellstartanleitung für die SERP-API von Bright Data verwenden. Ansonsten fahren Sie mit den folgenden Schritten fort.
Navigieren Sie nach der Anmeldung in Ihrem Bright Data-Konto zu “Proxies & Scraping”, um die Produktseite aufzurufen:
Werfen Sie einen Blick auf die Tabelle “Meine Zonen”, in der Ihre konfigurierten Bright Data-Produkte aufgeführt sind. Wenn bereits eine aktive SERP-API-Zone vorhanden ist, können Sie loslegen. Kopieren Sie einfach den Zonennamen (z. B. serp_api), da Sie ihn später benötigen werden.
Wenn noch keine SERP-API-Zone existiert, scrollen Sie zum Abschnitt “Scraping-Lösungen” und klicken Sie auf der Karte “SERP-API” auf “Zone erstellen”:
Geben Sie Ihrer Zone einen Namen (z. B. serp-api) und klicken Sie auf die Schaltfläche “Hinzufügen”:
Gehen Sie dann auf die Produktseite der Zone und stellen Sie sicher, dass sie aktiviert ist, indem Sie den Schalter auf “Aktiv” stellen:
Super! Ihre Bright Data SERP-API-Zone ist nun erfolgreich konfiguriert und einsatzbereit.
Schritt 2: Abrufen des Bright Data-API-Schlüssels
Die empfohlene Methode zur Authentifizierung von Anforderungen an die SERP-API ist die Verwendung Ihres Bright Data-API-Schlüssels. Wenn Sie noch keinen generiert haben, folgen Sie der offiziellen Anleitung von Bright Data, um Ihren API-Schlüssel zu erstellen.
Geben Sie bei einer POST-Anforderung an die SERP-API Ihren API-Schlüssel wie folgt in den Authorization-Header ein:
"Authorization: Überbringer <Ihr_BRIGHT_DATA_API_KEY>"
Erstaunlich! Jetzt haben Sie alles, was Sie brauchen, um die SERP-API von Bright Data von einem Python-Skript mit Anfragen - oderjedem anderen Python-HTTP-Client– aufzurufen.
Jetzt können wir alles zusammenfügen!
Schritt Nr. 3: Aufrufen der SERP-API
Verwenden Sie die SERP-API von Bright Data in Python, um Baidu-Suchergebnisse für das Schlüsselwort “Bright Data” abzurufen:
# pip install requests
importiere Anfragen
from urllib.parse import urlencode
# Bright Data-Anmeldedaten (TODO: durch eigene Werte ersetzen)
bright_data_api_key = "<YOUR_BRIGHT_DATA_API_KEY>"
bright_data_serp_api_zone_name = "<YOUR_SERP_API_ZONE_NAME>" # (z.B. "serp_api")
# Basis-URL der Baidu-Suchseite
base_url = "https://www.baidu.com/s"
# Suchbegriff/Keyphrase
search_query = "helle Daten"
params = {"wd": search_query}
# Erstellen Sie die Baidu SERP URL
url = f"{base_url}?{urlencode(params)}"
# Senden Sie eine POST-Anfrage an die SERP-API von Bright Data
response = requests.post(
"https://api.brightdata.com/request",
headers={
"Authorization": f "Bearer {bright_data_api_key}",
"Content-Type": "application/json"
},
json={
"zone": bright_data_serp_api_zone_name,
"url": url,
"format": "raw"
}
)
# Abrufen des vollständig gerenderten HTML
html = antwort.text
# Die Parsing-Logik beginnt hier.
Ein weiteres Beispiel finden Sie im “Bright Data SERP-API Python Project” auf GitHub.
Die Bright Data SERP-API kümmert sich um das Rendering von JavaScript, integriert sich in ein Proxy-Netzwerk für automatische IP-Rotation und verwaltet Anti-Scraping-Maßnahmen wie Browser-Fingerprinting, CAPTCHAs und andere. Das bedeutet, dass Sie nicht auf die Fehlerseite “网络不给力,请稍后重试” (“Das Netzwerk funktioniert nicht gut, bitte versuchen Sie es später noch einmal.”) stoßen werden, die Sie normalerweise erhalten würden, wenn Sie Baidu mit einem einfachen HTTP-Client wie Anfragen scrapen.
Einfacher ausgedrückt: Die Variable html enthält die vollständig gerenderte Baidu-Suchergebnisseite. Überprüfen Sie dies, indem Sie den HTML-Code mit:
print(html)
Sie erhalten eine Ausgabe wie die unten stehende:
Von hier aus können Sie das HTML wie im ersten Ansatz gezeigt parsen, um die benötigten Baidu-Suchdaten zu extrahieren. Wie versprochen, verhindert die Bright Data SERP-API Blockierungen und ermöglicht Ihnen eine unbegrenzte Skalierbarkeit!
Ansatz Nr. 3: Integrieren Sie den Web MCP Server
Denken Sie daran, dass die SERP-API (und viele andere Bright Data-Produkte) auch über das search_engine-Tool in der Bright Data Web MCP zugänglich ist.
Dieser Open-Source-Web-MCP-Server bietet einen KI-freundlichen Zugriff auf die Webdatenabfragelösungen von Bright Data, einschließlich Baidu-Scraping. Insbesondere die Tools search_engine und scrape_as_markdown sind in der kostenlosen Web MCP-Stufe verfügbar, sodass Sie sie in KI-Agenten oder -Workflows kostenlos verwenden können.
Um die Web MCP in Ihre KI-Lösung zu integrieren, benötigen Sie lediglich ein lokal installiertes Node.js und eine Konfigurationsdatei wie diese:
{
"mcpServer": {
"Bright Data Web MCP": {
"command": "npx",
"args": ["-y", "@brightdata/mcp"],
"env": {
"API_TOKEN": "<IHR_BRIGHT_DATA_API_KEY>"
}
}
}
}
Dieses Setup funktioniert zum Beispiel mit Claude Desktop und Code (und vielen anderen KI-Bibliotheken und -Lösungen). Weitere Integrationen finden Sie in den Dokumentationen.
Alternativ können Sie eine Verbindung über den Bright Data-Remoteserver herstellen, ohne dass lokale Voraussetzungen erforderlich sind.
Mit dieser Integration können Ihre KI-gesteuerten Workflows oder Agenten selbstständig SERP-Daten von Baidu (oder anderen unterstützten Suchmaschinen) abrufen und diese on the fly verarbeiten.
Fazit
In diesem Tutorial haben Sie drei empfohlene Methoden zum Scrapen von Baidu kennengelernt:
- Verwendung eines benutzerdefinierten Scrapers.
- Nutzung der SERP-API von Baidu.
- Über die Bright Data Web MCP.
Wie gezeigt, ist die Verwendung einer strukturierten Scraping-Lösung die zuverlässigste Methode, um Baidu in großem Umfang zu scrapen und gleichzeitig Blockierungen zu vermeiden. Diese muss durch eine fortschrittliche Anti-Bot-Bypass-Technologie und ein robustes Proxy-Netzwerk, wie z. B. Bright Data-Produkte, unterstützt werden.
Erstellen Sie ein kostenloses Bright Data-Konto und erkunden Sie unsere Scraping-Lösungen noch heute!