Bing ist die weltweit meistgenutzte Suchmaschine nach Google und der Standard auf einem Großteil der Windows-Desktops, sodass seine öffentliche Ergebnisseite eine nützliche zweite Meinung neben Google darstellt. Für Keyword-Recherche, SEO-Ranking-Verfolgung, Marktanalyse oder das Einspeisen eines Modells mit realen Suchdaten trägt die Bing SERP genau das strukturierte Signal, das Sie möchten: Titel, Links, Snippets und die Reihenfolge, in der sie erscheinen.

Diese Anleitung zeigt Ihnen, wie Sie Bing-Suchergebnisse scrapen mit Python auf zuverlässige Weise. Sie bauen einen kleinen, ausführbaren Scraper, der eine gerenderte Ergebnisseite über die Crawling API abruft, jedes organische Ergebnis mit BeautifulSoup parst, Paginierung handhabt und die Daten nach JSON und CSV exportiert. Der gesamte Walkthrough beschränkt sich auf öffentliche Suchergebnis-Daten, die jeder ohne Konto sehen kann, und der Abschnitt zur Rechtslage gegen Ende ist lesenswert, bevor Sie dies auf ein reales Volumen anwenden.

Was Sie bauen werden

Ein Python-Skript, das eine öffentliche Bing-Such-URL entgegennimmt, das HTML über die Crawling API abruft und einen strukturierten Datensatz für jedes organische Ergebnis auf der Seite extrahiert. Wir verwenden eine Beispielanfrage als durchgehendes Beispiel und extrahieren folgende Felder aus jedem Ergebnis:

  • Position der Rang des Ergebnisses auf der Seite, gezählt von oben.
  • Titel der anklickbare Überschriftentext des Ergebnisses, wie im Eintrag gezeigt.
  • Link die Ziel-URL, auf die das Ergebnis zeigt.
  • Beschreibung das angezeigte Snippet oder die Zusammenfassung unter dem Titel.

Neben den Feldern pro Ergebnis durchläuft das Skript mehrere Ergebnisseiten und schreibt alles sowohl in eine JSON-Datei als auch in eine CSV-Datei, sodass die Daten direkt in eine Tabellenkalkulation oder Datenbank gelangen.

Warum eine einfache Anfrage bei Bing scheitert

Wenn Sie eine einfache HTTP-Anfrage an eine Bing-Ergebnis-URL aus einem Skript senden, bekommen Sie selten die saubere Seite, die Sie in Ihrem eigenen Browser sehen. Zwei Dinge arbeiten gegen Sie. Erstens verlässt sich Bing auf JavaScript, um Teile der Ergebnisseite zusammenzustellen, sodass ein rohes Abrufen mit einer Skelett-Seite zurückkommen kann, der die gewünschten Einträge fehlen. Zweitens beobachtet Bing automatisierten Datenverkehr: Anfragen, die nicht wie ein echter Browser aussehen, werden herausgefordert, mit einer Verifizierungsseite versorgt oder gedrosselt, bevor sie die Ergebnisse erreichen.

Ein funktionierender Bing-Scraper braucht also zwei Dinge in einer Anfrage: eine IP, die die Plattform als echten Besucher erkennt, und, wenn die Seite auf Skripte angewiesen ist, einen Browser, der sie rendert. Sie können das selbst mit einem Headless-Browser und einem Pool von rotierenden Residential-Proxys zusammenbauen, aber die Aufrechterhaltung dieser Komponenten ist der größte Teil der Arbeit. Die Crawling API bündelt beides in einem einzigen Aufruf: Sie senden die URL, sie ruft von einer vertrauenswürdigen IP ab und rendert bei Bedarf, und gibt fertiges HTML zum Parsen zurück.

Warum Rendering plus eine vertrauenswürdige IP hier wichtig ist

Bing mischt server-gerenderter und skript-gerenderter Inhalt und bewertet jede Anfrage danach, wie browserartig sie aussieht. Ein gerendertes Abrufen von einer Residential-IP sieht wie ein normaler Besucher aus und gibt die vollständige Eintrags-Liste zurück; eine einfache Datacenter-Anfrage gibt oft eine abgespeckte Seite oder eine Herausforderung zurück. Die Crawling API erledigt beides serverseitig, sodass Sie keinen Browser-Pool und keinen Proxy-Pool selbst betreiben müssen. Sie können mit bis zu 20.000 kostenlosen Anfragen beginnen, keine Kreditkarte erforderlich.

Voraussetzungen

Sie benötigen einige Dinge, bevor Sie mit dem Programmieren beginnen. Keines davon dauert lange.

Grundlegende Python-Kenntnisse. Sie sollten in der Lage sein, ein Python-Skript zu schreiben und auszuführen sowie Pakete mit pip zu installieren. Wenn BeautifulSoup neu für Sie ist, deckt unser Guide zur Verwendung von BeautifulSoup in Python die Parsing-Grundlagen ab, die dieses Tutorial voraussetzt.

Python 3.8 oder neuer. Bestätigen Sie Ihre Version mit python --version. Falls nicht installiert, installieren Sie es von python.org oder über eine Distribution wie Anaconda.

Ein Crawlbase-Konto und Token. Registrieren Sie sich, öffnen Sie Ihr Dashboard und kopieren Sie Ihr Anfrage-Token von der Kontodokumentationsseite. Sie erhalten bis zu 20.000 kostenlose Anfragen: 1.000 bei der Anmeldung und mehr, während Sie die Onboarding-Schritte abschließen. Behandeln Sie das Token wie ein Passwort: Es authentifiziert Ihre Anfragen, also halten Sie es aus der Versionskontrolle heraus.

Projekt einrichten

Erstellen Sie eine virtuelle Umgebung, damit Projektabhängigkeiten isoliert bleiben, und installieren Sie dann die beiden Bibliotheken, die der Scraper benötigt.

bash
python --version

python -m venv bing_env
source bing_env/bin/activate

pip install requests beautifulsoup4

Unter Windows aktivieren Sie die Umgebung mit bing_env\Scripts\activate statt der source-Zeile. Zwei Abhängigkeiten erledigen die Arbeit: requests sendet den HTTP-Aufruf an die Crawling API, und beautifulsoup4 parst das zurückgegebene HTML, sodass Sie einzelne Felder per CSS-Selektor extrahieren können.

Schritt 1: Die Seite über die Crawling API abrufen

Beginnen Sie damit, das HTML zu erhalten. Schreiben Sie eine kleine crawl()-Funktion, die Ihre Ziel-URL mit Ihrem Token an die Crawling API sendet, JavaScript-Rendering anfordert, damit die vollständige Eintrags-Liste geladen wird, prüft, dass die zugrundeliegende Seite mit einem 200-Status zurückgekommen ist, und den HTML-Body zurückgibt. Das Überprüfen des Status vor dem Parsen hält Fehler sichtbar statt still.

python
import json
import requests

API_TOKEN = "YOUR_CRAWLBASE_TOKEN"  # replace with your token
API_ENDPOINT = "https://api.crawlbase.com/"

def crawl(url):
    params = {"token": API_TOKEN, "url": url, "javascript": "true"}
    response = requests.get(API_ENDPOINT, params=params)
    response.raise_for_status()

    data = json.loads(response.text)
    if data["original_status"] != 200:
        raise Exception(f"Unable to crawl '{url}'")

    return data["body"]

if __name__ == "__main__":
    url = "https://www.bing.com/search?q=samsung+s23+ultra"
    html = crawl(url)
    print(html[:500])

Die API gibt einen JSON-Umschlag zurück, also laden Sie die Antwort mit json.loads und lesen zwei Felder: original_status ist der Status, den Bing selbst zurückgegeben hat, und body ist das Seiten-HTML. Der Parameter javascript=true weist die API an, die Seite in einem echten Browser zu rendern, bevor sie zurückgegeben wird, was garantiert, dass die vollständige Ergebnisliste vorhanden ist. Das Wachen auf original_status bedeutet, dass eine Sperre oder eine Herausforderung als Ausnahme statt als Garbage-Input an den Parser auftaucht. Die Beispielanfrage "samsung s23 ultra" wird im Parameter q übertragen, so wie Bing den Suchbegriff trägt. Führen Sie das Skript mit python crawling.py aus und Sie sollten echtes Ergebnis-Markup in den ersten 500 Zeichen sehen, was bestätigt, dass das Abrufen funktioniert, bevor Sie einen einzigen Selektor schreiben.

Crawlbase Bing Scraper

Diese original_status-Prüfung liest immer 200, weil die Anfrage Bing als echter Besucher mit vollständig gerenderter Seite erreicht hat. Die Crawling API ruft von einer rotierenden Residential-IP ab, führt das JavaScript aus, wenn Sie javascript=true übergeben, und liefert Ihnen fertiges HTML, sodass Sie keinen Headless-Browser-Pool und keinen eigenen Residential-Proxy-Pool betreiben müssen. Testen Sie es zunächst mit einer öffentlichen Ergebnis-URL im Free-Tier.

Schritt 2: Die Ergebnisse mit BeautifulSoup parsen

Mit HTML in der Hand laden Sie es in BeautifulSoup und extrahieren jedes Ergebnis durch seinen Selektor. Bing umhüllt jedes organische Ergebnis in einem li.b_algo-Listenelement, mit dem Titel und Link in einem h2 a-Anker und dem Snippet in einem p.b_algoSlug-Absatz. Untersuchen Sie die Live-Seite in den Entwicklertools Ihres Browsers (Rechtsklick, dann Inspizieren), um die aktuellen Klassennamen zu bestätigen; die untenstehenden Selektoren entsprechen Bings Layout zum Zeitpunkt des Schreibens.

python
from bs4 import BeautifulSoup

def scrape_html(html):
    soup = BeautifulSoup(html, "html.parser")

    results = []
    for position, block in enumerate(soup.select("li.b_algo"), start=1):
        link = block.select_one("h2 a")
        snippet = block.select_one("p.b_algoSlug")
        if not link:
            continue
        results.append({
            "position": position,
            "title": link.get_text(strip=True),
            "url": link.get("href"),
            "description": snippet.get_text(strip=True) if snippet else None,
        })

    return results

Der Selektor li.b_algo ist der Container, den Bing für jedes organische Ergebnis verwendet, sodass das Schleifen über diese Listenelemente Ihnen genau die Einträge liefert und das Seiten-Chrome überspringt. Das gleichzeitige Lesen des Titeltextes und des href aus demselben h2 a-Anker hält den Überschriftentext und den Ziellink ausgerichtet, und p.b_algoSlug enthält die Beschreibung, die unter jedem Titel angezeigt wird. enumerate(..., start=1) gibt Ihnen die Position beim Schleifen kostenlos, sodass der Rang aus der Seitenreihenfolge statt aus einem fragilen Attribut kommt. Der if not link: continue-Wächter überspringt jeden Block ohne Überschriften-Anker, was Anzeigen, Video-Karussells und fehlendes Markup aus Ihrer Ausgabe hält. Das Snippet fällt auf None zurück, wenn ein Ergebnis keinen Beschreibungsabsatz hat.

Selektoren veralten

Bing stellt sein Frontend regelmäßig neu bereit, und Klassennamen wie b_algo und b_algoSlug können sich dabei ändern. Behandeln Sie die obigen Selektoren als Ausgangssvorlage, nicht als feste Vereinbarung. Wenn ein Feld für jedes Ergebnis leer zurückkommt, untersuchen Sie erneut eine Live-Seite in den Entwicklertools Ihres Browsers und aktualisieren Sie den Selektor. Periodische Selektor-Wartung ist bei jedem Produktions-Scraper normal, kein Zeichen dafür, dass etwas kaputt ist.

Schritt 3: Alles zusammenführen

Verbinden Sie nun den Abruf und das Parsen zu einem ausführbaren Skript. Crawlen Sie die gerenderte Ergebnisseite, übergeben Sie das HTML an den Parser, drucken Sie die Ergebnisse und schreiben Sie die strukturierte Ausgabe nach JSON.

python
import json
import requests
from bs4 import BeautifulSoup

API_TOKEN = "YOUR_CRAWLBASE_TOKEN"
API_ENDPOINT = "https://api.crawlbase.com/"

def crawl(url):
    params = {"token": API_TOKEN, "url": url, "javascript": "true"}
    response = requests.get(API_ENDPOINT, params=params)
    response.raise_for_status()
    data = json.loads(response.text)
    if data["original_status"] != 200:
        raise Exception(f"Unable to crawl '{url}'")
    return data["body"]

def scrape_html(html):
    soup = BeautifulSoup(html, "html.parser")
    results = []
    for position, block in enumerate(soup.select("li.b_algo"), start=1):
        link = block.select_one("h2 a")
        snippet = block.select_one("p.b_algoSlug")
        if not link:
            continue
        results.append({
            "position": position,
            "title": link.get_text(strip=True),
            "url": link.get("href"),
            "description": snippet.get_text(strip=True) if snippet else None,
        })
    return results

def main():
    url = "https://www.bing.com/search?q=samsung+s23+ultra"
    html = crawl(url)
    results = scrape_html(html)
    print(json.dumps(results, indent=2, ensure_ascii=False))
    with open("bing_results.json", "w", encoding="utf-8") as f:
        json.dump(results, f, ensure_ascii=False, indent=2)
    print(f"Saved {len(results)} results")

if __name__ == "__main__":
    main()

Führen Sie das vollständige Skript mit python main.py aus. Es ruft die Ergebnisseite für "samsung s23 ultra" ab, extrahiert einen Datensatz für jeden organischen Eintrag, druckt ihn und schreibt alles nach bing_results.json. Dieselben zwei Funktionen sind alles, was Sie brauchen: Ersetzen Sie die Anfrage in der URL und der Parser verarbeitet alles, was zurückkommt.

Wie die Ausgabe aussieht

Sie erhalten eine saubere geordnete Liste von Ergebnisobjekten, jedes mit einer Position, einem Titel, einem Link und einer Beschreibung, bereit zum Schreiben nach JSON, CSV oder einer Datenbank.

json
[
  {
    "position": 1,
    "title": "Samsung Galaxy S23 Ultra | Samsung US",
    "url": "https://www.samsung.com/us/smartphones/galaxy-s23-ultra/",
    "description": "Meet the latest Galaxy S23 Ultra phone, equipped with a built-in S Pen, Nightography camera, and a powerful chip for epic gaming."
  },
  {
    "position": 2,
    "title": "Samsung Galaxy S23 Ultra - Full phone specifications",
    "url": "https://www.gsmarena.com/samsung_galaxy_s23_ultra-12024.php",
    "description": "Samsung Galaxy S23 Ultra Android smartphone. Announced Feb 2023. Features 6.8 inch display, Snapdragon 8 Gen 2 chipset, 5000 mAh battery."
  }
]

Über Seiten und Anfragen skalieren

Eine Anfrage auf einer Seite ist eine Demo; ein echter Auftrag läuft über mehrere Suchen und tiefer in die Ergebnisse. Bing paginiert mit dem first-Abfrageparameter, der ein 1-indizierter Offset in Schritten von 10 ist: first=11 ist die zweite Seite, first=21 die dritte und so weiter. Die Form bleibt dieselbe: Bauen Sie jede URL, rufen Sie sie über die Crawling API ab und parsen Sie sie mit derselben Funktion. Die eine Gewohnheit, die einen langen Lauf gesund hält, ist das Anpassen, also pausieren Sie zwischen Anfragen statt sie in einer engen Schleife abzufeuern.

python
import time
from urllib.parse import quote_plus

query = "samsung s23 ultra"
encoded = quote_plus(query)

all_results = []
for page in range(3):
    first = page * 10 + 1
    url = f"https://www.bing.com/search?q={encoded}&first={first}"
    html = crawl(url)
    all_results.extend(scrape_html(html))
    time.sleep(3)

print(f"Collected {len(all_results)} results across 3 pages")

Crawlbase liefert standardmäßig bis zu 20 Anfragen pro Sekunde, was viel Spielraum für einen Scraper ist, der sich anpasst; wenn Sie wirklich mehr benötigen, kann der Support es erhöhen. Jede 5XX-Antwort von der API ist kostenlos, also kostet das Wiederholen einer blockierten oder nicht verfügbaren URL Sie nichts. Wenn Sie Ihren eigenen Datenverkehr lieber über einen rotierenden Pool statt über die verwaltete API leiten möchten, gibt Ihnen der Smart AI Proxy (auch als AI Proxy bezeichnet) dieselbe Residential-IP-Rotation als Drop-in-Proxy-Endpunkt.

Die Ergebnisse als CSV exportieren

JSON ist für Code praktisch, aber eine CSV öffnet sich direkt in einer Tabellenkalkulation, also ist das das Format, das die meisten Teams herumreichen. Da jedes Ergebnis bereits ein flaches Dictionary mit denselben Schlüsseln ist, braucht das Schreiben einer CSV nur wenige Zeilen mit der Standardbibliothek.

python
import csv

def save_csv(results, path="bing_results.csv"):
    fields = ["position", "title", "url", "description"]
    with open(path, "w", newline="", encoding="utf-8") as f:
        writer = csv.DictWriter(f, fieldnames=fields)
        writer.writeheader()
        writer.writerows(results)
    print(f"Wrote {len(results)} rows to {path}")

Rufen Sie save_csv(all_results) nach einem paginierten Lauf auf und Sie erhalten eine bing_results.csv mit einer Zeile pro organischem Ergebnis und einer Kopfzeile oben. Die Verwendung von DictWriter mit einer expliziten fieldnames-Liste hält die Spaltenreihenfolge stabil, und newline="" verhindert, dass die Datei auf Windows Leerzeilen aufnimmt.

Entsperrt bleiben

Selbst mit einer vertrauenswürdigen IP und gehandhabtem Rendering beobachtet Bing Datenverkehr, der wie ein Scraper aussieht. Einige Gewohnheiten halten einen Lauf gesund.

  • Passen Sie Ihre Anfragen an. Ergebnisseiten in einer engen Schleife zu bombardieren ist der schnellste Weg, herausgefordert zu werden. Verteilen Sie Anfragen und variieren Sie Ihre Anfragen statt mit einer Suchterm mit voller Geschwindigkeit durchzupaginieren.
  • Verlassen Sie sich auf Rotation. Ein Pool von Residential-IPs verteilt Anfragen über viele reale Benutzeradressen, sodass keine einzelne ein Limit auslöst. Die Crawling API erledigt das für Sie; wenn Sie Ihren eigenen Stack aufbauen, ist das der Teil, den Sie richtig hinbekommen müssen.
  • Lesen Sie die Statuscodes. Ein Lauf, der beginnt, Herausforderungen oder Verifizierungsseiten zurückzugeben, signalisiert Ihnen, dass die aktuelle Rate oder IP-Stufe nicht mehr ausreicht. Behandeln Sie das als Signal zum Zurückschalten, nicht als Rauschen zum Ignorieren.
  • Untersuchen Sie erneut, wenn Felder leer werden. Bing ändert sein Markup periodisch. Wenn Ergebnisse nicht mehr geparst werden, öffnen Sie eine Live-Seite in den Entwicklertools und aktualisieren Sie die Selektoren.

Das umfassendere Playbook finden Sie in unserem Guide zum Scrapen von Websites ohne geblockt zu werden. Wenn eine Bing-Seite, die Sie benötigen, auf Skripte zum Rendern angewiesen ist, erklärt unser Guide zum Crawlen von JavaScript-Websites, warum Rendering wichtig ist und wie Sie es aktivieren. Für einen breiteren Überblick darüber, wie die großen Suchmaschinen ihre Seiten strukturieren, lesen Sie unsere Notizen zu was Google, Yahoo und Bing zurückgeben.

Ob das Scrapen von Bing erlaubt ist, hängt von Microsofts Nutzungsbedingungen, Ihrer Jurisdiktion und dem Verwendungszweck der Daten ab. Bings Bedingungen setzen Grenzen für den automatisierten Zugriff, daher kann Scraping gegen diese Bedingungen verstoßen, unabhängig davon, wie sorgfältig Ihre Tools sind. Keiner der hier gezeigten Codes ändert das; er macht nur den technischen Teil funktionsfähig. Lesen Sie Bings Bedingungen und seine robots.txt, und behandeln Sie beide als Grenze für das, was Sie sammeln.

Einige Grundsätze, die es wert sind, einzuhalten. Sammeln Sie nur öffentliche Suchergebnis-Daten: die Titel, Links, Beschreibungen und Positionen, die jeder auf einer Ergebnisseite ohne Konto sehen kann. Halten Sie Ihr Anfragevolumen niedrig genug, dass Sie Bings Server nicht belasten, und passen Sie Ihren Crawl an statt ihn mit voller Geschwindigkeit laufen zu lassen. Wenn Sie Suchdaten in großem Maßstab benötigen und einen sanktionierten Weg möchten, bietet Microsoft die Bing Search APIs über Azure an, was der offizielle, unterstützte Weg ist, Bing-Ergebnisse programmatisch abzufragen, und die richtige Wahl ist, wenn Ihr Projekt Volumen oder Garantien benötigt.

Dieser Guide ist bewusst auf öffentliche Suchergebnisseiten beschränkt, weil das die Linie ist, die die Arbeit vertretbar macht. Er behandelt nichts hinter einem Login, keine Konto- oder persönlichen Daten und keine urheberrechtlich geschützten Medien, die aus den verlinkten Zielen gezogen werden. Nur öffentliche SERP-Daten. Wenn Ihr Projekt mehr als das benötigt, ist eine offizielle Datenvereinbarung oder die Azure Bing Search API der richtige Weg, nicht ein ausgefeilterer Scraper.

Zusammenfassung

Wichtigste Erkenntnisse

  • Bing mischt gerenderter und skript-geladener Inhalt. Eine einfache Anfrage kann eine abgespeckte Seite zurückgeben, also rufen Sie über die Crawling API mit javascript=true ab, um die vollständige Eintrags-Liste zu erhalten.
  • Die Crawling API ruft hinter einer echten IP ab. Senden Sie die URL, sie rotiert Residential-IPs serverseitig und rendert bei Bedarf, und gibt fertiges HTML zum Parsen zurück.
  • BeautifulSoup übernimmt die Extraktion. Wählen Sie jedes li.b_algo, dann lesen Sie den Titel und Link aus h2 a und das Snippet aus p.b_algoSlug, und erwarten Sie, dass die Klassennamen veralten.
  • Paginieren Sie mit dem first-Offset. Schreiten Sie first um 10 (1-indiziert) fort, um tiefer in die Ergebnisse zu gehen, und passen Sie Ihre Anfragen mit einem Schlaf zwischen Seiten an.
  • Bleiben Sie bei öffentlichen Daten. Respektieren Sie Bings Nutzungsbedingungen und robots.txt, halten Sie das Volumen niedrig und verwenden Sie die offizielle Azure Bing Search API, wenn Sie sanktionierten Maßstab benötigen.

Häufig gestellte Fragen

Warum schlägt eine einfache Anfrage fehl oder gibt bei Bing die falsche Seite zurück?

Bing verlässt sich auf JavaScript, um Teile der Ergebnisseite zusammenzustellen, sodass ein rohes Abrufen mit einer Skelett-Seite zurückkommen kann, der die Einträge fehlen. Es markiert auch Datenverkehr, der nicht wie ein echter Browser aussieht, und kann mit einer Herausforderung oder einer Verifizierungsseite antworten. Das Abrufen über die Crawling API mit javascript=true, das die Seite von einer rotierenden Residential-IP rendert, lässt die Anfrage wie ein normaler Besucher aussehen, sodass Sie die echte Ergebnisseite erhalten.

Kann ich Bing-Suchergebnisse mit Python scrapen?

Ja. Mit requests und BeautifulSoup können Sie eine Ergebnisseite abrufen und Titel, Links, Beschreibungen und Positionen extrahieren. Die Crawling API fungiert als Brücke, die Ihre Anfrage über eine vertrauenswürdige IP zu Bing bringt und sie rendert, sodass Anfragen reibungslos verarbeitet statt blockiert werden. Für einen umfassenderen Python-Primer lesen Sie unseren Guide zum Scrapen von Websites mit Python.

Welche Felder kann ich von einer Bing-Ergebnisseite extrahieren?

Dieses Tutorial extrahiert vier Felder aus jedem organischen Ergebnis: die Position auf der Seite, den Titel, den Ziellink und die angezeigte Beschreibung. Der Titel und Link kommen aus dem h2 a-Anker innerhalb jedes li.b_algo-Blocks, und die Beschreibung kommt aus p.b_algoSlug. Bleiben Sie bei öffentlichen Suchergebnis-Daten und vermeiden Sie alles hinter einem Login.

Brauche ich JavaScript-Rendering, um Bing zu scrapen?

Oft ja, weil Bing Teile der Ergebnisseite mit Skripten füllt. Die hier gezeigten Beispiele übergeben javascript=true an die Crawling API, damit die Seite in einem echten Browser gerendert wird, bevor sie zurückkommt, was garantiert, dass die vollständige Eintrags-Liste vorhanden ist. Unser Guide zum Scrapen von JavaScript-Seiten mit Python erklärt, wann Rendering notwendig ist.

Wie paginiere ich durch mehr Bing-Ergebnisse?

Verwenden Sie den first-Abfrageparameter, der ein 1-indizierter Offset in Schritten von 10 ist: first=11 ist die zweite Seite, first=21 die dritte und so weiter. Bauen Sie jede Seiten-URL mit dem Offset, rufen Sie sie über die Crawling API ab, parsen Sie sie mit derselben Funktion und pausieren Sie einige Sekunden zwischen Anfragen, damit Sie den Crawl anpassen statt ihn zu bombardieren.

Unterscheidet sich das Scrapen von Bing vom Scrapen von Google?

Der Ansatz ist derselbe, nur die Selektoren und Paginierungsparameter unterscheiden sich. Bing verwendet li.b_algo-Blöcke und einen first-Offset, während Google seine eigenen Ergebnis-Container und einen start-Offset verwendet. Wenn Sie auch mit Google arbeiten, lesen Sie unsere Guides zum Scrapen von Google-Suchseiten und zum Scrapen von Yandex-Suchergebnissen für die entsprechenden Selektoren und Schritte.

Jetzt loslegen

Crawlen Sie jede Website im großen Maßstab, ohne gegen die Infrastruktur zu kämpfen.

Crawlbase übernimmt Proxys, Fingerprints und CAPTCHAs, damit Ihr Team Datenpipelines ausliefert, statt Crawl-Infrastruktur zu pflegen. 1.000 Anfragen kostenlos, keine Karte erforderlich.

Self-Service · Kein Verkaufsgespräch erforderlich · Enterprise-Crawl-Volumen verfügbar