Skip to content

Yandex Search Scraper, der ein kostenloses Python-Tool für den Einsatz in kleinem Maßstab sowie eine leistungsstarke API für die Extraktion von SERP-Daten in Echtzeit bei hohem Volumen anbietet.

Notifications You must be signed in to change notification settings

bright-data-de/yandex-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Yandex Search Scraper

Promo

Dieses Repository bietet zwei zuverlässige Lösungen zum Extrahieren von Daten aus Yandex Search Engine Results Pages (SERPs):

  • Kostenloser Yandex Scraper: Ein Basistool zum Scraping von Yandex-Suchergebnissen im kleinen Maßstab
  • Yandex SERP API in Enterprise-Qualität: Eine skalierbare, produktionsreife Lösung für die Echtzeit-Datenextraktion in hoher Stückzahl (Teil von Bright Data's SERP Scraper API)

Table of Contents

Free Yandex SERP Scraper

Der kostenlose Scraper bietet eine unkomplizierte Möglichkeit, Yandex-SERP-Daten im kleinen Maßstab zu sammeln. Er ist ideal für Entwickler, die begrenzte Datenmengen für persönliche Projekte, Forschung oder Testzwecke benötigen.

free-yandex-serp-scraper

Setup Requirements

  • Python 3.9+
  • Erforderliche Pakete:
    • playwright für Browser-Automatisierung
    • BeautifulSoup für HTML-Parsing
pip install playwright beautifulsoup4
playwright install

Neu im Web-Scraping? Entdecken Sie unseren Beginner's Guide to Web Scraping with Python

Quick Start Guide

  1. Öffnen Sie yandex-search-results-scraper.py
  2. Passen Sie die Variablen für Suchbegriffe und Seitenanzahl an:
PAGES_PER_TERM = {
    "ergonomic office chair": 2,
}
  1. Führen Sie das Skript aus

Sample Output

yandex-scraper-output

Limitations

Eine der größten Herausforderungen beim Scraping von Yandex ist der aggressive CAPTCHA-Schutz:

yandex-captcha-challenge

Yandex nutzt ein strenges und sich ständig weiterentwickelndes Anti-Bot-System, um automatisierte Datenextraktion zu verhindern. Häufige CAPTCHA-Auslösungen können schnell zu IP-Blocks führen, wodurch es schwierig wird, stabile, langfristig laufende Scraper zu betreiben.

Während der kostenlose Scraper grundlegende Aufgaben abdeckt, hat er mehrere wichtige Einschränkungen:

  • Hohes Risiko von IP-Blocking
  • Begrenztes Anfragevolumen
  • Ständige CAPTCHA-Unterbrechungen
  • Nicht geeignet für Produktionsumgebungen

Für eine skalierbare und stabile Lösung ziehen Sie Bright Data’s dedizierte API in Betracht, die unten beschrieben ist. 👇

Yandex SERP Scraper API

Die Yandex Search API ist Teil der Bright Data SERP Scraping API-Suite. Sie nutzt unsere branchenführende Proxy-Infrastruktur, um Yandex-Suchergebnisse in Echtzeit mit einem einzigen API-Call bereitzustellen.

Key Benefits

  • Globale Genauigkeit: Erhalten Sie maßgeschneiderte Ergebnisse für spezifische Standorte weltweit
  • Pay-Per-Success: Sie zahlen nur für erfolgreiche Anfragen
  • Echtzeitdaten: Greifen Sie in Sekunden auf aktuelle Suchergebnisse zu
  • Unbegrenzte Skalierbarkeit: Bewältigen Sie Scraping in hoher Stückzahl mühelos
  • Kosteneffizient: Macht den Bedarf an kostspieliger Infrastruktur überflüssig
  • Zuverlässige Performance: Integrierte Anti-Blocking-Technologie
  • 24/7 Experten-Support: Zugriff auf technische Unterstützung, wann immer Sie sie benötigen

📌 Vor dem Kauf testen: Testen Sie es kostenlos in unserer SERP API Live Demo

bright-data-serp-api-playground

Getting Started

  1. Erstellen Sie ein Bright Data-Konto (neue Nutzer erhalten ein $5-Guthaben)
  2. Generieren Sie Ihren API key
  3. Folgen Sie unserer Schritt-für-Schritt-Anleitung, um die SERP API zu konfigurieren

Implementation Methods

Direct API Access

Die einfachste Möglichkeit, die API zu verwenden, ist eine direkte Anfrage an den API-Endpunkt von Bright Data.

cURL Example:

curl https://api.brightdata.com/request \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer API_TOKEN" \
  -d '{
        "zone": "ZONE_NAME",
        "url": "https://www.yandex.com/search/?text=apple+watch+series+10+review&lr=95&lang=en",
        "format": "raw"
      }'

Python Example:

import requests
import json

url = "https://api.brightdata.com/request"

headers = {"Content-Type": "application/json", "Authorization": "Bearer API_TOKEN"}

payload = {
    "zone": "ZONE_NAME",
    "url": "https://www.yandex.com/search/?text=apple+watch+series+10+review&lr=95&lang=en",
    "format": "raw",
}

response = requests.post(url, headers=headers, json=payload)

with open("yandex-scraper-api-result.html", "w", encoding="utf-8") as file:
    file.write(response.text)

print("Response saved!")

Native Proxy-Based Access

Diese alternative Methode nutzt Proxy-Routing für den direkten Zugriff auf Suchergebnisse.

cURL Example:

curl -i \
  --proxy brd.superproxy.io:33335 \
  --proxy-user brd-customer-<CUSTOMER_ID>-zone-<ZONE_NAME>:<ZONE_PASSWORD> \
  -k \
  "https://www.yandex.com/search/?text=apple+watch+series+10+review&lr=95&lang=en"

Python Example:

import requests
import urllib3

urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

host = "brd.superproxy.io"
port = 33335
username = "brd-customer-<customer_id>-zone-<zone_name>"
password = "<zone_password>"
proxy_url = f"http://{username}:{password}@{host}:{port}"

proxies = {"http": proxy_url, "https": proxy_url}

url = "https://www.yandex.com/search/?text=apple+watch+series+10+review&lr=95&lang=en"
response = requests.get(url, proxies=proxies, verify=False)

with open("yandex-scraper-api-result.html", "w", encoding="utf-8") as file:
    file.write(response.text)

print("Response saved!")

Note: Bei Verwendung des nativen Proxy-Ansatzes wird empfohlen, das SSL-Zertifikat von Bright Data für den Produktionseinsatz zu installieren. Erfahren Sie mehr im SSL Certificate Guide.

👉 Sehen Sie sich die vollständige HTML-Ausgabe an

Die Query-Parameter wie lr und lang werden im nächsten Abschnitt erklärt.

Yandex Search Query Parameters

Localization

Region (lr)

Dieser Parameter legt fest, welche geografische Region oder welches Land für die Suchergebnisse anvisiert wird.

Region Code
Moscow 1
Saint-Petersburg 2
USA 84
Canada 95
China 134

Beispiel – Prüfen Sie, wie „best wireless earbuds“ in den USA rankt:

curl --proxy brd.superproxy.io:33335 \
     --proxy-user brd-customer-<id>-zone-<zone>:<password> \
     "https://www.yandex.com/search/?text=best+wireless+earbuds&lr=84"

Language (lang)

Legt die Sprachpräferenz anhand zweibuchstabiger Sprachcodes fest:

  • lang=en - Englisch
  • lang=es - Spanisch
  • lang=fr - Französisch

Beispiel – Sportnachrichten auf Spanisch abrufen:

https://www.yandex.com/search/?text=local+sports+news&lang=es

Pagination

Page Number (p)

Steuert, welche Ergebnisseite angezeigt wird:

  • p=0 - Erste Seite (Standard)
  • p=1 - Zweite Seite
  • p=4 - Fünfte Seite

Jede Yandex-SERP-Seite liefert typischerweise 10 Ergebnisse.

Beispiel – Scrapen Sie Seite 3 (Ergebnisse 21–30) für „nike running shoes“:

https://www.yandex.com/search/?text=nike+running+shoes&p=2

Time Range

Time Period (within)

Begrenzt Ergebnisse auf einen bestimmten Zeitraum:

  • within=77 - Ergebnisse aus den letzten 24 Stunden
  • within=1 - Ergebnisse aus den letzten 2 Wochen
  • within=[%pm] - Ergebnisse aus dem letzten Monat

Beispiel – Ergebnisse zu „iPhone 15 review“ aus den letzten 24 Stunden:

https://www.yandex.com/search/?text=iphone+15+review&within=77

Device Targeting

Device Type (brd_mobile)

Gibt an, welcher Gerätetyp simuliert werden soll:

  • brd_mobile=0 oder weggelassen - Zufälliger Desktop-User-Agent
  • brd_mobile=1 - Zufälliger Mobile-User-Agent
  • brd_mobile=ios oder brd_mobile=iphone - iPhone-User-Agent
  • brd_mobile=ipad oder brd_mobile=ios_tablet - iPad-User-Agent
  • brd_mobile=android - Android-Phone-User-Agent
  • brd_mobile=android_tablet - Android-Tablet-User-Agent

Beispiel – Simulieren Sie ein iPhone bei der Suche nach responsive website testing:

https://www.yandex.com/search/?text=responsive+website+testing&brd_mobile=ios

Browser Type (brd_browser)

Definiert, welcher Browser simuliert werden soll:

  • Default (weggelassen) - Zufälliger Browser
  • brd_browser=chrome - Google Chrome
  • brd_browser=safari - Safari
  • brd_browser=firefox - Mozilla Firefox

Beispiel – Simulieren Sie den Safari-Browser bei der Suche nach Python-Tutorials:

https://www.yandex.com/search/?text=how+to+learn+python&brd_browser=safari

Note: Kombinieren Sie brd_browser=firefox nicht mit brd_mobile=1, da sie inkompatibel sind.

Practical Example

Für umfassendes Targeting können Sie mehrere Parameter kombinieren:

https://www.yandex.com/search/?text=organic+skincare+products
&lr=95
&lang=en
&p=2
&within=1
&brd_mobile=ios
&brd_browser=safari

Diese Suche:

  • Zielt auf Nutzer in Kanada ab (lr=95)
  • Zeigt englische Ergebnisse an (lang=en)
  • Zeigt die zweite Seite an (p=2)
  • Begrenzt auf die letzten 2 Wochen (within=1)
  • Simuliert einen iPhone-Nutzer (brd_mobile=ios)
  • Verwendet den Safari-Browser (brd_browser=safari)

Perfekt für ein Hautpflegeunternehmen, das aktuelle Trends zu Bio-Produkten im kanadischen Markt untersucht – so, wie sie von iOS-Mobilnutzern gesehen werden.

Support & Resources

About

Yandex Search Scraper, der ein kostenloses Python-Tool für den Einsatz in kleinem Maßstab sowie eine leistungsstarke API für die Extraktion von SERP-Daten in Echtzeit bei hohem Volumen anbietet.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published