Google vs. Bing SERP Scraping: Wichtige Unterschiede

Vergleichen Sie die technischen Unterschiede zwischen den Suchergebnissen Google und Bing. Covers Anti-Bot-Erkennungsebenen, HTML-Strukturen, Proxy-Anforderungen und Code-Beispiele für beide Motoren.

Google vs. Bing SERP Scraping: Wichtige Unterschiede

Warum vergleichen Sie Google und Bing Scraping?

Während Google die Suche mit über 90% Marktanteil weltweit dominiert, hält Bing einen erheblichen Anteil an spezifischen Märkten: etwa 9% in den Vereinigten Staaten, höher bei Unternehmensnutzern, und es macht Suchergebnisse für DuckDuckGo, Yahoo und Ecosia. Für eine umfassende SERP-Überwachung gibt Ihnen das Tracking beider Suchmaschinen eine umfassendere Sicht auf Ihre organische Sicht.

Die technischen Unterschiede zwischen Google und Bing sind beträchtlich. Jede Suchmaschine hat verschiedene HTML-Strukturen, Anti-Bot-Schutz, Geschwindigkeitsbegrenzung und Proxy-Anforderungen. Diese Anleitung bricht diese Unterschiede, so dass Sie Schaber bauen können, die für beide zuverlässig arbeiten.

Für grundlegende SERP-Schrottkonzepte starten Sie mit unseren SERP Schrott mit Proxies-Führung.

Anti-Bot-Schutz-Vergleich

Der größte Unterschied zwischen Google und Bing-Schrott ist, wie aggressiv jede Suchmaschine automatisierte Anfragen erkennt und blockiert.

Anti-Bot-Schutz-Vergleich
NachweismethodeGoogleGoogle
IP-Rate BegrenzungSehr aggressiv — Blöcke nach ~10-20 Abfragen/Stunde pro IPModerate — toleriert ~30-50 Abfragen/Stunde pro IP
Herausforderungen von CAPTCHAHäufige reCAPTCHA auf verdächtigen IPsWeniger häufig, einfachere Herausforderungen
Datencenter-IP-ErkennungBlockiert aktive bekannte RechenzentrenbereicheWeniger streng — Rechenzentren arbeiten oft
Browser FingerabdruckErweiterte TLS/JS FingerabdrückeBasic Header und User-Agent-Checks
VerhaltensanalyseHervorragende MustererkennungWeniger anspruchsvoll
Durchsetzung von CookiesVerfolgen und validieren von CookiesWeniger auf Cookie-Verhalten angewiesen
Die Schlüsselannahme: Bing ist wesentlich einfacher zu kratzen als Google. Sie können oft Datacenter-Proxies für Bing bei moderaten Bänden verwenden, während Google fast immer Wohn-Proxies für zuverlässige Ergebnisse benötigt.

HTML Struktur Unterschiede

Google und Bing verwenden völlig verschiedene HTML-Strukturen für ihre Suchergebnisse, die separate Parsing-Logik erfordern.

Google SERP Struktur

# Google organic result selectors
# Container: div#search .g
# Title: h3
# URL: a[href]
# Snippet: .VwiC3b or div[data-snf]
from bs4 import BeautifulSoup
def parse_google(html):
    soup = BeautifulSoup(html, "html.parser")
    results = []
    for g in soup.select("div#search .g"):
        title = g.select_one("h3")
        link = g.select_one("a")
        snippet = g.select_one(".VwiC3b")
        if title and link:
            results.append({
                "title": title.get_text(),
                "url": link["href"],
                "snippet": snippet.get_text() if snippet else "",
            })
    return results

Google SERP Struktur

# Bing organic result selectors
# Container: li.b_algo
# Title: h2 a
# URL: cite
# Snippet: p.b_lineclamp2 or div.b_caption p
def parse_bing(html):
    soup = BeautifulSoup(html, "html.parser")
    results = []
    for item in soup.select("li.b_algo"):
        title_el = item.select_one("h2 a")
        snippet_el = item.select_one("p.b_lineclamp2") or item.select_one("div.b_caption p")
        cite_el = item.select_one("cite")
        if title_el:
            results.append({
                "title": title_el.get_text(),
                "url": title_el["href"],
                "snippet": snippet_el.get_text() if snippet_el else "",
                "display_url": cite_el.get_text() if cite_el else "",
            })
    return results

SERP Feature Vergleich

Beide Suchmaschinen zeigen reiche SERP-Features über Standard-Blue-Links, aber sie unterscheiden sich in Format und Frequenz:

SERP Feature Vergleich
MerkmalGoogleGoogle
Vorgestellter SnippetGemeinsam — div.xpdopenWeniger häufig — div.b_ans
Menschen auch FragenSehr häufig — div.related-question-pairPräsentiert als "Menschen auch fragen" — div.b_rs
Lokale VerpackungKarte mit 3 Ergebnissen — div.VkpGBbKarte mit Listen — div.b_localA
Wissenstafelrechte Seitenleiste — div.kp-wholepagerechte Seitenleiste — div.b_entityTP
Bild KarussellTop oder Inline — div.ULSxyfTop — div.imgpt
Video-ErgebnisseCarousel FormatGrid-Format — div.b_vidAns
Ähnliche SuchanfragenBottom — div.s75CSdBoden und Seitenleiste — div.b_rs

Kompletter Dual-Engine-Schraper

Hier ist ein einheitlicher Python-Schrotter, der sowohl Google als auch Bing behandelt:

import requests
from bs4 import BeautifulSoup
import time
import random
import json
PROXY_URL = "http://USERNAME:PASSWORD@gate.proxyhat.com:8080"
USER_AGENTS = [
    "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36",
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36",
]
def scrape_serp(keyword, engine="google", country="us"):
    """Scrape SERP from Google or Bing."""
    proxies = {"http": PROXY_URL, "https": PROXY_URL}
    headers = {
        "User-Agent": random.choice(USER_AGENTS),
        "Accept-Language": "en-US,en;q=0.9",
        "Accept": "text/html,application/xhtml+xml",
    }
    if engine == "google":
        url = "https://www.google.com/search"
        params = {"q": keyword, "num": 10, "hl": "en", "gl": country}
    else:
        url = "https://www.bing.com/search"
        params = {"q": keyword, "count": 10, "cc": country}
    response = requests.get(
        url,
        params=params,
        headers=headers,
        proxies=proxies,
        timeout=15,
    )
    response.raise_for_status()
    soup = BeautifulSoup(response.text, "html.parser")
    if engine == "google":
        return parse_google_results(soup)
    else:
        return parse_bing_results(soup)
def parse_google_results(soup):
    results = []
    for i, g in enumerate(soup.select("div#search .g"), 1):
        title = g.select_one("h3")
        link = g.select_one("a")
        snippet = g.select_one(".VwiC3b")
        if title and link:
            results.append({
                "position": i,
                "title": title.get_text(),
                "url": link["href"],
                "snippet": snippet.get_text() if snippet else "",
            })
    return results
def parse_bing_results(soup):
    results = []
    for i, item in enumerate(soup.select("li.b_algo"), 1):
        title_el = item.select_one("h2 a")
        snippet_el = item.select_one("p.b_lineclamp2") or item.select_one("div.b_caption p")
        if title_el:
            results.append({
                "position": i,
                "title": title_el.get_text(),
                "url": title_el["href"],
                "snippet": snippet_el.get_text() if snippet_el else "",
            })
    return results
# Compare rankings across both engines
keyword = "best web scraping proxies"
google_results = scrape_serp(keyword, "google")
time.sleep(random.uniform(3, 6))
bing_results = scrape_serp(keyword, "bing")
print(f"\n=== Google Results for '{keyword}' ===")
for r in google_results[:5]:
    print(f"  #{r['position']}: {r['title']}")
print(f"\n=== Bing Results for '{keyword}' ===")
for r in bing_results[:5]:
    print(f"  #{r['position']}: {r['title']}")

Node.js Dual-Engine Scraper

const axios = require('axios');
const cheerio = require('cheerio');
const { HttpsProxyAgent } = require('https-proxy-agent');
const agent = new HttpsProxyAgent('http://USERNAME:PASSWORD@gate.proxyhat.com:8080');
async function scrapeSERP(keyword, engine = 'google') {
  const config = engine === 'google'
    ? { url: 'https://www.google.com/search', params: { q: keyword, num: 10, hl: 'en', gl: 'us' } }
    : { url: 'https://www.bing.com/search', params: { q: keyword, count: 10 } };
  const { data } = await axios.get(config.url, {
    params: config.params,
    headers: {
      'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
      'Accept-Language': 'en-US,en;q=0.9',
    },
    httpsAgent: agent,
    timeout: 15000,
  });
  const $ = cheerio.load(data);
  if (engine === 'google') {
    return parseGoogle($);
  }
  return parseBing($);
}
function parseGoogle($) {
  const results = [];
  $('div#search .g').each((i, el) => {
    const title = $(el).find('h3').text();
    const url = $(el).find('a').attr('href');
    const snippet = $(el).find('.VwiC3b').text();
    if (title && url) results.push({ position: i + 1, title, url, snippet });
  });
  return results;
}
function parseBing($) {
  const results = [];
  $('li.b_algo').each((i, el) => {
    const titleEl = $(el).find('h2 a');
    const title = titleEl.text();
    const url = titleEl.attr('href');
    const snippet = $(el).find('p.b_lineclamp2').text() || $(el).find('div.b_caption p').text();
    if (title && url) results.push({ position: i + 1, title, url, snippet });
  });
  return results;
}
async function compareEngines(keyword) {
  const [google, bing] = await Promise.all([
    scrapeSERP(keyword, 'google'),
    scrapeSERP(keyword, 'bing'),
  ]);
  console.log(`\nGoogle (${google.length} results):`);
  google.slice(0, 5).forEach(r => console.log(`  #${r.position}: ${r.title}`));
  console.log(`\nBing (${bing.length} results):`);
  bing.slice(0, 5).forEach(r => console.log(`  #${r.position}: ${r.title}`));
}
compareEngines('residential proxy service');

Proxy Anforderungen Vergleich

Die Proxystrategie für jeden Motor sollte sich aufgrund ihrer Erkennungsstufen unterscheiden:

Für Google

  • Proxy-Typ: Residential-Proxis erforderlich für zuverlässige Ergebnisse
  • Rotation: IP auf jeder Anfrage drehen
  • Steuersatz 1-2 Anfragen pro Minute pro IP
  • Kopf: Vollständiger Browser-ähnlicher Header mit Sec-Ch-Ua, Sec-Fetch-Headern
  • Geotargeting: Passender Proxy-Standort mit gl/hl Parametern

Für Google

  • Proxy-Typ: Datacenter-Proxies oft ausreichend; Wohnraum für Skala
  • Rotation: Kann IPs für 3-5 Anfragen wiederverwenden, bevor Sie drehen
  • Steuersatz 3-5 Anfragen pro Minute pro IP
  • Kopf: Standard User-Agent und Akzeptieren Header in der Regel ausreichend
  • Geotargeting: Verwenden Sie cc-Parameter; IP-Geomatching weniger kritisch

ProxyHat Wohnwagen optimal für beide Motoren arbeiten. Für Bing-nur Schrott mit moderatem Volumen, können Rechenzentren-Proxies genügen, aber Wohn-Proxies von ProxyHat bieten gleichbleibende Ergebnisse über beide Motoren ohne separate Infrastruktur. Refer Dokumentation für Setup-Details.

URL Parametervergleich

URL Parametervergleich
ZweckGoogle ParameterGoogle-Parameter
Suchanfrage suchenqq
Ergebnisse pro Seitenum (10-100)count (1-50)
Ergebnisverrechnungstartfirst
Landglcc
Sprachehlsetlang
Sichere SuchesafesafeSearch
Behinderte Personalisierungpws=0N/A (weniger personalisiert standardmäßig)
Standort überrideuulelocation

Wann zu verfolgen beide Motoren

Das Tracking von Google und Bing ist in diesen Szenarien besonders wertvoll:

  • Unternehmen: Bing hat durch Microsoft Edge und Windows-Integration einen höheren Marktanteil bei Unternehmensnutzern
  • US-Marktfokus: Bing hält etwa 9% des US-Suchverkehrs, was Millionen potenzieller Besucher repräsentiert
  • Sprachsuche: Bing Mächte Cortana und einige Sprachassistenten Ergebnisse
  • Algorithm Vielfalt: Gutes Ranking bei Bing erfordert oft verschiedene Optimierungsstrategien als Google
  • DuckDuckGo und Yahoo Verkehr: Beide nutzen Bings Index, so dass Bing Rankings diese Plattformen auch beeinflussen

Handling Edge Cases

Bing Market-Specific Domains

Im Gegensatz zu Google google.com mit gl Parameter für alle Länder, Bing hat landesspezifische Domänen:

# Bing country-specific URLs
BING_DOMAINS = {
    "us": "https://www.bing.com/search",
    "uk": "https://www.bing.co.uk/search",
    "de": "https://www.bing.de/search",
    "fr": "https://www.bing.fr/search",
    "jp": "https://www.bing.co.jp/search",
}

Verschiedene Pagination

# Google pagination: start parameter (0, 10, 20, ...)
google_page_2 = {"q": "query", "start": 10, "num": 10}
# Bing pagination: first parameter (1, 11, 21, ...)
bing_page_2 = {"q": "query", "first": 11, "count": 10}
Der Aufbau eines mehrmotorigen SERP-Trackers mit einer einheitlichen Proxy-Infrastruktur ist der effizienteste Ansatz. ProxyHat Wohn-Proxies behandeln sowohl Google als auch Bing mit der gleichen Verbindung, vereinfachen Ihre Architektur und gewährleisten zuverlässige Ergebnisse von beiden Motoren.

Mehr zum Aufbau einer robusten Abstreifinfrastruktur finden Sie in unseren Guides auf mit Proxies in Python, mit Proxies in Node.jsund unsere Best-Proxis für Web-Schrott Übersicht. Überprüfung ProxyHat SERP Tracking-Lösungen für maßgeschneiderte Konfigurationen.

Bereit loszulegen?

Zugang zu über 50 Mio. Residential-IPs in über 148 Ländern mit KI-gesteuerter Filterung.

Preise ansehenResidential Proxies
← Zurück zum Blog