Der Einsatz von Python und Playwright zum Scrapen von Daten aus Google Trends ermöglicht eine detaillierte Untersuchung der Popularität von Schlüsselwörtern und die Beobachtung von Trendverschiebungen im Laufe der Zeit. Dieser Ansatz liefert wichtige Erkenntnisse für die Marketing-Analyse.
Bevor Sie in den Code eintauchen, sollten Sie sicherstellen, dass Sie die folgenden Tools installiert haben:
Sie können Playwright mit pip installieren:
pip install playwright
Um Playwright mit asynchronem Code zu verwenden, benötigen Sie außerdem die asyncio-Bibliothek, die standardmäßig in Python 3.7+ enthalten ist.
Wir werden Playwright, ein leistungsstarkes Browser-Automatisierungstool, verwenden, um auf der Google Trends-Website zu navigieren und CSV-Dateien mit Trenddaten herunterzuladen. Dieses Tutorial wird Sie durch den gesamten Prozess führen.
Stellen Sie zunächst sicher, dass Playwright installiert ist:
playwright install
Wenn Sie nicht alle Browser installieren möchten, verwenden Sie einfach diesen Befehl, um nur den Chromium-Browser zu installieren.
playwright install chromium
Beim Scrapen von Plattformen wie Google, die aktiv gegen Bot-Aktivitäten vorgehen, ist die Verwendung von Proxys unerlässlich. Proxys ermöglichen eine IP-Rotation und verringern so das Risiko, blockiert zu werden. In unserem Skript verwenden wir private Proxys, um unsere Anfragen weiterzuleiten.
proxy = {
"server": "IP:PORT",
"username": "your_username",
"password": "your_password"
}
Ersetzen Sie die Variablen IP, PORT, Benutzername und Passwort durch die tatsächlichen Daten Ihres Proxyservers.
In diesem Beispiel navigieren wir zunächst zu google.com, um mögliche Sperren zu umgehen, bevor wir die Seite Google Trends aufrufen. Dies geschieht, um das normale Nutzerverhalten zu imitieren und eine Entdeckung zu vermeiden.
Dieser Schritt beinhaltet vorbereitende Maßnahmen, um zu verhindern, dass man von Google markiert und blockiert wird:
import asyncio
from playwright.async_api import Playwright, async_playwright
async def run(playwright: Playwright) -> None:
# Starten des Browsers mit Proxy-Einstellungen
browser = await playwright.chromium.launch(headless=False, proxy={
"server": "IP:PORT",
"username": "your_username",
"password": "your_password"
})
# Erstellen eines neuen Browserkontextes
context = await browser.new_context()
# Öffnen einer neuen Seite
page = await context.new_page()
# Besuch bei Google, um normales Surfen zu imitieren
await page.goto("https://google.com")
Als Nächstes navigieren Sie direkt zu der Seite von Google Trends, auf der sich die benötigten Daten befinden. Google Trends bietet die Möglichkeit, die Daten direkt im CSV-Format herunterzuladen, was den Extraktionsprozess erleichtert. Klicken Sie automatisch auf die Schaltfläche "Download", um den Download der Daten zu starten. Dies ermöglicht die Extraktion von Trenddaten ohne manuelles Eingreifen. Sobald die Schaltfläche "Herunterladen" sichtbar wird, sollte die Automatisierung mit dem Anklicken dieser Schaltfläche fortfahren und den Download der CSV-Datei, die die benötigten Trenddaten enthält, einleiten.
# Zu Google Trends navigieren
await page.goto("https://trends.google.com/trends/explore?q=%2Fg%2F11bc6c__s2&date=now%201-d&geo=US&hl=en-US")
# Warten auf den Download-Button und Anklicken desselben
async with page.expect_download() as download_info:
await page.get_by_role("button", name="file_download").first.click()
# Handhabung des Downloads
download = await download_info.value
print(download.suggested_filename)
Die heruntergeladene CSV-Datei wird automatisch in einem bestimmten Verzeichnis auf Ihrem lokalen Gerät gespeichert.
# Speichern der heruntergeladenen Datei
await download.save_as("/path/to/save/" + download.suggested_filename)
Hier ist der vollständige Code zum Herunterladen von Google Trends-Daten als CSV-Datei mit Playwright:
import asyncio
import os
import re
from playwright.async_api import Playwright, async_playwright
async def run(playwright: Playwright) -> None:
# Browser mit Proxy-Einstellungen starten
browser = await playwright.chromium.launch(headless=False, proxy={
"server": "IP:PORT",
"username": "your_username",
"password": "your_password"
})
# Erstellen Sie einen neuen Browser-Kontext
context = await browser.new_context()
# Eine neue Seite öffnen
page = await context.new_page()
# Besuchen Sie Google, um nicht entdeckt zu werden
await page.goto("https://google.com")
# Zu Google Trends navigieren
await page.goto("https://trends.google.com/trends/explore?q=%2Fg%2F11bc6c__s2&date=now%201-d&geo=US&hl=en-US")
# Klicken Sie auf den Download-Button
async with page.expect_download() as download_info:
await page.get_by_role("button", name=re.compile(r"file_download")).first.click()
# Speichern Sie die heruntergeladene Datei
download = await download_info.value
destination_path = os.path.join("path/to/save", download.suggested_filename)
await download.save_as(destination_path)
# Schließen Sie den Kontext und den Browser
await context.close()
await browser.close()
async def main() -> None:
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
Mit diesem Leitfaden können Sie effizient Trenddaten herunterladen, die Proxy-Rotation verwalten und Bot-Schutzmechanismen umgehen. Für eine wirksame Umgehung von Blockierungen ist die Verwendung zuverlässiger Proxyserver entscheidend. Empfehlenswert sind Proxys für Privatanwender, die dynamische IP-Adressen anbieten und keine Rotationskonfiguration benötigen. Alternativ sind auch statische ISP-Proxys wirksam; kaufen Sie die erforderliche Anzahl von IPs und richten Sie eine regelmäßige IP-Rotation in Ihrem Skript ein. In beiden Fällen wird das Risiko von Blockierungen und Captcha minimiert, was eine schnellere und reibungslosere Datenauslese ermöglicht.
Мы получили вашу заявку!
Ответ будет отправлен на почту в ближайшее время.
С уважением proxy-seller.com!
Bemerkungen: 0