BLOG · PROGRAMMATIC SEO

Jak korzystać z API Google Search Console za pomocą Pythona?

✍️ Autor: Zespół semprojekt 🎯 Kategorie: Programmatic SEO, Ruch organiczny

Korzystanie z API Google Search Console za pomocą Pythona pozwala programowo pobierać dane o wydajności witryny, indeksowaniu i błędach. Najszybciej to zrobić, jeśli masz projekt w Google Cloud, włączoną API Search Console oraz odpowiednie poświadczenia (OAuth 2.0 lub konto serwisowe) i zainstalowane biblioteki Python.

Co potrzebujesz, zanim zaczynasz

  • Konto Google dostęp do Google Search Console z dodaną witryną.
  • Projekt w Google Cloud Console.
  • Włączona usługa Search Console API w projekcie.
  • Poświadczenia: konto użytkownika OAuth 2.0 lub konto serwisowe z dostępem do właściwości.
  • Środowisko Python (np. venv) i zainstalowane biblioteki: google-api-python-client, google-auth-httplib2, google-auth-oauthlib.

Krok 1: Konfiguracja w Google Cloud i uprawnienia

  1. Utwórz projekt w Google Cloud Console lub wybierz istniejący.
  2. W sekcji „APIs & Services” włącz Google Search Console API.
  3. Utwórz poświadczenia:

    • OAuth 2.0 Client ID dla interaktywnego uwierzytelniania (użytkownik korzysta z przeglądarki). Dodaj zakresy: https://www.googleapis.com/auth/webmasters.readonly.
    • Lub konto serwisowe z kluczem JSON, jeśli aplikacja działa bez interakcji użytkownika.

  4. Udostępnij swoją właściwość w Search Console użytkownikowi z konta serwisowego (jeśli używasz konta serwisowego).

Krok 2: Instalacja bibliotek Python

  1. Zainstaluj pakiety:

    pip install google-api-python-client google-auth-httplib2 google-auth-oauthlib

  2. Zweryfikuj wersje Pythona (co najmniej 3.7) i utwórz środowisko wirtualne dla izolacji projektu.

Krok 3: Autoryzacja i inicjalizacja klienta API

  1. Wybierz metodę autoryzacji:

    • OAuth 2.0 – interaktywna logowanie: użytkownik loguje się w przeglądarce i przyznaje dostęp.
    • Konto serwisowe – bez interakcji użytkownika: wykorzystuje klucz JSON.

  2. Przykładowy kod inicjalizacji (OAuth 2.0):

from google_auth_oauthlib.flow import InstalledAppFlow

from googleapiclient.discovery import build

SCOPES = ['https://www.googleapis.com/auth/webmasters.readonly']

flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES)

creds = flow.run_local_server(port=0)

service = build('searchconsole', 'v1', credentials=creds)

Krok 4: Zapytania do API – pobieranie danych

  1. Wybierz właściwość (właściwość w Search Console to strona lub domena).
  2. Utwórz żądanie do odpowiedniego punktu końcowego API. Najczęściej używane:

    • searchanalytics.query – dane o kluczowych statystykach wyszukiwania (impressions, clicks, ctr, position).
    • sites.list – lista właściwości w koncie.

  3. Przykład zapytania o dane analityczne:

request = {

'startDate': '',

'endDate': '',

'dimensions': ['query']

}

response = service.searchanalytics().query(siteUrl='https://example.com', body=request).execute()

print(response)

Krok 5: Przetwarzanie wyników i obsługa błędów

  • Sprawdź klucze w odpowiedzi JSON — typowe pola to rows, clicks, impressions, ctr, position.
  • Dodaj obsługę błędów HTTP i limitów API (429, 403). Zaimplementuj prostą logikę ponownych prób z backoffem.
  • W praktyce zapisuj dane do pliku CSV/JSON lub bazy danych, aby prowadzić analizy historyczne.

Krok 6: Bezpieczeństwo i dobre praktyki

  • Nie udostępniaj kluczy API publicznie. Przechowuj je w bezpiecznym miejscu (np. zmienne środowiskowe, sekrety).
  • Ogranicz zakresy uprawnień do minimum (readonly).
  • Rotuj klucze i monitoruj logi dostępu w Google Cloud Console.
  • Testuj na małej próbce danych przed pełnym uruchomieniem.

Najczęściej zadawane pytania (przegląd)

  • Jak uzyskać autoryzację OAuth 2.0 dla aplikacji Python? - Użyj przepływu InstalledAppFlow z plikiem client secrets i uruchomienie serwera lokalnego do wygenerowania tokena.
  • Czy można używać konta serwisowego do Google Search Console API? - Tak, jeśli właściwość w Search Console została udostępniona temu kontu serwisowemu.
  • Jakie dane mogę pobierać z API? - Dane z raportu Search Analytics (statystyki wyszukiwania), lista właściwości, ustawienia filtrów itp.
  • Jak obsługiwać limity i błędy API? - Implementuj backoff, ogranicz liczbę zapytań na sekundę i obsługuj błędy 429/403 z retry.
  • Czy potrzebuję certyfikat SSL? - Połączenie HTTPS jest domyślnie używane przez bibliotekę Google API.
  • Jak zautomatyzować eksport danych? - Użyj zadania CRON/Cloud Scheduler plus skryptu Pythona, który zapisuje dane do pliku lub bazy danych.
  • Czy mogę uzyskać pełny zakres danych historycznych? - API pozwala na określenie zakresu dat; pamiętaj o limitach API i politykach Google.
  • Jak testować zapytania bez ryzyka przekroczenia limitów? - Wykorzystaj środowisko testowe lub ogranicz liczbę żądań oraz dat w zapytaniach.

Często Zadawane Pytania

Co to jest Google Search Console API i do czego służy w Pythonie?

Google Search Console API umożliwia programowe pobieranie danych dotyczących wydajności witryny, indeksowania i błędów, co pozwala na automatyzację raportów i integrację z własnymi systemami.

Jak zacząć pracę z API w Pythonie krok po kroku?

Utwórz projekt w Google Cloud, włącz API, wygeneruj poświadczenia, zainstaluj biblioteki Python, autoryzuj aplikację i wykonaj pierwsze zapytanie.

Czy potrzebuję konta serwisowego do użycia API?

Konto serwisowe jest dobrym wyborem do aplikacji bez interakcji użytkownika; dla aplikacji interaktywnych używa się OAuth 2.0.

Jak zapewnić bezpieczeństwo poświadczeń API?

Przechowuj pliki poświadczeń w bezpiecznym miejscu, używaj zmiennych środowiskowych, ogranicz zakresy uprawnień i rotuj klucze.

Jakie danych mogę pobrać z API?

Najczęściej dane z raportu Search Analytics, takie jak kliknięcia, wyświetlenia, CTR i średnia pozycja dla zapytań, stron i parametrów.

Jak obsłużyć błędy i limity zapytań API?

Zaimplementuj backoff i retry, obsługuj kody błędów 429 i 403, i ogranicz liczbę zapytań na sekundę.

Czy mogę zautomatyzować eksport danych do CSV?

Tak, można napisać skrypt Pythona, który pobiera dane i zapisuje je jako CSV lub JSON, a następnie uruchamiać go cyklicznie.

Czy muszę łączyć się z przeglądarką podczas uwierzytelniania?

Dokładnie — w przypadku OAuth 2.0 użyjesz przepływu z przeglądarką; poświadczenia są zapisywane lokalnie na komputerze użytkownika.

ZOBACZ TAKŻE:

Zdobądź darmowy ruch organiczny
Programmatic SEO w praktyce
Pobierz bezpłatny materiał o tym, jak zbudować system, który generuje stały ruch z Google bez zwiększania budżetu reklamowego.
Pobierz PDF
Plik PDF. Zero spamu.