Web Scraping 15.03.2025, 13:05 Uhr

Scraping von Google-Suchergebnissen mit Python

Erfahren Sie, wie Sie mit Python und den Bibliotheken Selenium und BeautifulSoup Googles Suchergebnisse einlesen und analysieren können, um wertvolle Daten zu extrahieren.
(Quelle: EMGenie)
Google als eine der grössten Suchmaschinen enthält eine enorme Menge an wertvollen Daten, die für Unternehmen und Forscher von Interesse sind. Um jedoch effizient Google-Suchergebnisse zu scrapen, muss das Programm dafür robust, skalierbar und in der Lage sein, dynamische Veränderungen in Googles Struktur zu bewältigen.
Ob Sie ein eigenes LLM-Modell aufbauen oder Markteinblicke gewinnen möchten, ein Google-Scraper ist dafür unerlässlich. In einem Artikel zeigt Autor Manthan Koolwal lernen Sie, wie man einen Google-Suchergebnis-Scraper mit Python und der BeautifulSoup-Bibliothek erstellt.
Das Web-Scraping mit Python gehört 2025 zu den gefragtesten Fähigkeiten, da KI im Aufschwung ist. Um mit dem Scraping zu beginnen, müssen Sie sicherstellen, dass Python auf Ihrem Computer installiert ist und einige erforderliche Bibliotheken wie Selenium, BeautifulSoup und Pandas installiert sind.
Selenium wird verwendet, um den Google Chrome-Browser zu automatisieren, während BeautifulSoup dazu dient, wichtige Daten aus den Roh-HTML-Daten zu extrahieren. Da JavaScript-Rendering erforderlich ist, kommt nicht ein einfacher Download einer Seite zum Zug, sondern Selenium. Das schafft die nötige Headless-Browserumgebung, die wie ein echter Benutzer funktioniert und die Seite aufruft. Danach können Sie die HTML-Daten mit BeautifulSoup parsen und die benötigten Informationen wie Titel, Links und Beschreibungen extrahieren.
Da Google eine Vielzahl von Anti-Scraping-Massnahmen einsetzt, kann das einfache Scraping mit einem Standardansatz nicht skalierbar sein. Sie benötigen also fortgeschrittene Tools oder API-Dienste wie zum Beispiel Scrapingdog, die Proxy- und Header-Rotation übernehmen, um sicherzustellen, dass Sie nicht blockiert werden.
Das folgende Skript lädt die Seite in Selenium:
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
import time
from bs4 import BeautifulSoup

# Set path to ChromeDriver (Replace this with the correct path)
CHROMEDRIVER_PATH = "D:/chromedriver.exe"  # Change this to match your file location

# Initialize WebDriver with Service
service = Service(CHROMEDRIVER_PATH)
options = webdriver.ChromeOptions()


options.add_argument("--window-size=1920,1080")  # Set window size
options.add_argument("--disable-blink-features=AutomationControlled")

driver = webdriver.Chrome(service=service, options=options)

# Open Google Search URL
search_url = "https://www.google.com/search?q=lead+generation+tools&oq=lead+generation+tools"

driver.get(search_url)

# Wait for the page to load
time.sleep(2)

page_html = driver.page_source
print(page_html)

Und die folgenden Zeilen Code holen Titel, Link und Beschreibung aus der Datei:
page_html = driver.page_source
obj={}
l=[]
soup = BeautifulSoup(page_html,'html.parser')

allData = soup.find("div",{"class":"dURPMd"}).find_all("div",{"class":"Ww4FFb"})
print(len(allData))
for i in range(0,len(allData)):
    try:
        obj["title"]=allData[i].find("h3").text
    except:
        obj["title"]=None

    try:
        obj["link"]=allData[i].find("a").get('href')
    except:
        obj["link"]=None

    try:
        obj["description"]=allData[i].find("div",{"class":"VwiC3b"}).text
    except:
        obj["description"]=None

    l.append(obj)
    obj={}



print(l)




Das könnte Sie auch interessieren