استخراج SERP من Google مقابل Bing: الفروقات الرئيسية

Compare the technical differences between scraping Google and Bing search results. Covers anti-bot detection levels, HTML structures, proxy requirements, and code examples for both motors.

استخراج SERP من Google مقابل Bing: الفروقات الرئيسية

لماذا نقارن جوجل و بينج سرابنج؟

While Google dominates search with over 90% market share globally, Bing holds significant share in specific markets: roughly 9% in the United States, higher among enterprise users, and it powers search results for DuckDuckGo, Yahoo, and Ecosia. من أجل الرصد الشامل لنظام تخطيط الموارد المؤسسية، تتبع كلا محركات البحث تعطيك نظرة أكمل لظهورك العضوي.

والاختلافات التقنية بين تخريد غوغل وبنغ كبيرة. ولكل محرك بحث هياكل مختلفة من نظام " HTML " (HTML) و " الحماية المضادة للمركبات " و " الحد من المعدل " و " المتطلبات البديلة " . هذا الدليل يكسر هذه الاختلافات حتى تتمكن من بناء الخردة التي تعمل بشكل موثوق لكلاهما

لمفاهيم نظام تخطيط الموارد في المؤسسة SERP scraping with proxies guide.

Anti-Bot Protection Comparison

أكبر الفرق بين (غوغل) و(بينغ) هو كيف أن كل محرك بحثي يكشف عن الطلبات الآلية

Anti-Bot Protection Comparison
طريقة الكشفGoogleBing
الحد من معدل شركاء التنفيذعدوانية جداً - بعد 10-20 استفسارات/ساعة لكل شركاء التنفيذأحدث - تتسامح مع ما يلي: 30 إلى 50 استفسارا/ساعة لكل برنامج IP
التحديات التي تواجهها اللجنةFrequent reCAPTCHA on suspicious IPsأقل تواتراً، يستخدم تحديات أبسط
كشف مركز البيانات:: قطع النطاقات المعروفة لمراكز البياناتأقل صرامة - كثيرا ما تعمل شركات مركز البيانات
البصماتطبعة متطورة من TLS/JSفحوصات رئيسية ومستخدمة
التحليل السلوكيالكشف عن النمط المتطورأقل تطورا
إنفاذ كوكيبسكويتات ومثبتاتأقل اعتمادا على سلوك الكعك
The key takeaway: Bing is significantly easier to scrape than Google. في كثير من الأحيان يمكنك استخدام بروكسات مركز البيانات لبينغ في مجلدات معتدلة، في حين أن جوجل يحتاج دائماً تقريباً لوكالة سكنية لتحقيق نتائج موثوقة.

فرق هيكل HTML

Google and Bing use completely different HTML structures for their search results, requiring separate parsing logical.

Google SERP Structure

# 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

هيكل تخطيط موارد المؤسسة

# 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 Comparison

ويظهر كل من محركات البحث المميزات الثرية لنظام تخطيط الموارد في المؤسسة التي تتجاوز الروابط الزرقاء القياسية، ولكنها تختلف في الشكل والتواتر:

SERP Feature Comparison
FeatureGoogleBing
قناص مسموعمشترك div.xpdopenأقل شيوعا div.b_ans
الناس يسألونشيوع جدا div.related-question-pairهدية كما يطلبها الناس div.b_rs
الحزمة المحليةخريطة مع 3 نتائج div.VkpGBbخريطة مع قوائم div.b_localA
فريق المعارفالجانب الأيمن div.kp-wholepageالجانب الأيمن div.b_entityTP
الكروسيل التصويريأعلى أو خط div.ULSxyfالقمة div.imgpt
نتائج الفيديوشكل الكرواتالشكل المظلم div.b_vidAns
عمليات البحث ذات الصلةالقاع div.s75CSdالقاع والجانب div.b_rs

محرك دوال كامل

هنا مخرّج (بيثون) موحّد يتعامل مع (جوجل) و(بينج):

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');

المقارنات

The proxy strategy for each motor should differ based on their detection levels:

عن جوجل

  • نوع الوكيل: المطلوب تحقيق نتائج موثوقة
  • التناوب: رقم IP على كل طلب
  • المعدل: ١-٢ طلب في الدقيقة لكل موظف
  • العنوان: مُعدّة مُمثّلة تماماً لـ (سيك-تش-أو)، مُعلّمين (سيك-فايتش)
  • الهدف الجغرافي: معالم اللغم/الهل

من أجل (بينغ)

  • نوع الوكيل: شركات مركز البيانات كثيرا ما تكون كافية؛
  • التناوب: يُمْكِنُ أَنْ يُعيدَ استخدام IP ل 3-5 طلبات قبل التناوب
  • المعدل: 3-5 طلبات في الدقيقة لكل موظف
  • العنوان: المستعملون العاديون والرؤساء المقبولون عادة ما يكفيون
  • الهدف الجغرافي: البارامترات المستخدمة لمركبات الكربون المكلورة بالجملة؛

وكيلات النيابة العمل الأمثل لكلا المحركين وفيما يتعلق بخردة Bing-only في الحجم المعتدل، يمكن أن تكفي شركات مركز البيانات، ولكن العملاء المقيمين من شركة ProxyHat يقدمون نتائج متسقة عبر كلا المحركين دون الحاجة إلى بنية أساسية منفصلة. الإحالة إلى الوثائق من أجل التفاصيل

URL Parameter Comparison

URL Parameter Comparison
الغرضغوغل بارامترBing Parameter
باحثqq
النتائج حسب الصفحةnum )١٠-١٠٠(count (1-50)
التعويض عن النتائجstartfirst
البلدglcc
اللغةhlsetlang
البحث الآمنsafesafeSearch
الشخصية المعطلةpws=0ن/أ (أما إذا كان الشخص غير المتعمد)
تجاوز الموقعuulelocation

"متى نتعقب "المبتدئين

وتتبع كل من غوغل وبينغ له قيمة خاصة في هذه السيناريوهات:

  • أسواق المؤسسات: Bing has higher market share among corporate users due to Microsoft Edge and Windows integration
  • تركيز سوق الولايات المتحدة: Bing holds approximately 9% of US search traffic, representing millions of potential visitors
  • البحث الصوتي: قوة (كورتانا) و بعض مساعدي الصوت
  • تنوع الخوارزميات: وكثيراً ما يتطلب الارتجاء بشكل جيد إلى بنغ استراتيجيات مختلفة للتفاؤل عن غوغل
  • دوك غو وياهو زحام المرور: (كلاهما يستخدم مؤشر (بينج لذا فإن ترتيب (بينغ يؤثر على هذه المنصات أيضاً

معالجة قضايا إدج

Bing Market-Specific Domains

على عكس جوجل الذي يستخدم google.com مع gl البارامترات بالنسبة لجميع البلدان، لدى شركة Bing مجالات خاصة بكل بلد:

# 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",
}

مختلفة

# 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}
ويعد بناء جهاز تعقب متعدد المواقع تابع لنظام تخطيط الموارد في المؤسسة مع بنية تحتية موحّدة بديلة النهج الأكثر كفاءة. العميلان (بروكسي ها) يتعاملان مع (غوغل) و(بينغ) بنفس الصلة، يبسطان هيكلك بينما يضمنان نتائج موثوقة من كلا المحركات.

من أجل المزيد من بناء بنية تحتية متينة للخردة (بإستعمال المحترفين في (بيثون.. (بإستعمال المحترفين في (نودجولدينا أفضل محترفين لخردة الإنترنت لمحة عامة. تحقق حلول تتبع نظام ProxyHat SERP للتشكيلات المصممة.

¿Listo para empezar?

Accede a más de 50M de IPs residenciales en más de 148 países con filtrado impulsado por IA.

Ver preciosProxies residenciales
← Volver al Blog