Google Search Console API Zugriff mit Python

Google stellt eine tolle Anleitung zur Verfügung, wie man erste Daten aus der Search Console über die API mit Python extrahieren kann. Diese Anleitung findest du hier:
https://developers.google.com/webmaster-tools/search-console-api-original/v3/quickstart/quickstart-python

  1. Gehe auf die Seite: https://console.developers.google.com/flows/enableapi?apiid=webmasters&credential=client_key und lege dir dort entweder ein neues Projekt an, oder wähle ein bestehendes aus.
  2. In der Übersicht wählst du links “Anmeldedaten” aus.
  3. Button: Anmeldedaten erstellen klicken oder hier:
    https://console.developers.google.com/apis/credentials/oauthclient
  4. OAuth-Client-ID auswählen.
  5. Sonstige auswählen.
    1. Falls hier der Bildschirm umspringt zum OAuth-Zustimmungsbildschirm, muss noch der “Name der Anwendung” eingetragen werden.
  6. Button erstellen klicken.
  7. Jetzt sollte ein Popup erscheinen mit CLIENT-ID und CLIENTSCHLÜSSEL. Das Fenster kann geschlossen werden. Die Keys können bei Bedarf jederzeit abgerufen werden.
  8. Der Schlüssel den wir in Schritt 7 erstellt haben, müssen wir nun in den Beispielcode kopieren.

Der Beispielcode von Google direkt funktioniert leider nicht korrekt. Diesen habe ich korrigiert und stelle ihn dir hier zur Verfügung.

Bitte beachte, dass du vorher in deiner Console einige Libraries herunterladen musst. Z.B.

pip install --upgrade google-api-python-client

Möglicherweise ebenfalls:
pip install httplib2

Python Code für API Zugriff auf Search Console

#!/usr/bin/python

import httplib2

from apiclient import errors
from apiclient.discovery import build
from oauth2client.client import OAuth2WebServerFlow


# Copy your credentials from the console
CLIENT_ID = 'YOUR-ID'
CLIENT_SECRET = 'YOUR-SECRET'

# Check https://developers.google.com/webmaster-tools/search-console-api-original/v3/ for all available scopes
OAUTH_SCOPE = 'https://www.googleapis.com/auth/webmasters.readonly'

# Redirect URI for installed apps
REDIRECT_URI = 'urn:ietf:wg:oauth:2.0:oob'

# Run through the OAuth flow and retrieve credentials
flow = OAuth2WebServerFlow(CLIENT_ID, CLIENT_SECRET, OAUTH_SCOPE, REDIRECT_URI)
authorize_url = flow.step1_get_authorize_url()
print ('Go to the following link in your browser: ' + authorize_url)
code = input('Enter verification code: ').strip()
credentials = flow.step2_exchange(code)

# Create an httplib2.Http object and authorize it with our credentials
http = httplib2.Http()
http = credentials.authorize(http)

webmasters_service = build('webmasters', 'v3', http=http)

# Retrieve list of properties in account
site_list = webmasters_service.sites().list().execute()

# Filter for verified websites
verified_sites_urls = [s['siteUrl'] for s in site_list['siteEntry']
                       if s['permissionLevel'] != 'siteUnverifiedUser'
                          and s['siteUrl'][:4] == 'http']

# Printing the URLs of all websites you are verified for.
for site_url in verified_sites_urls:
  print (site_url)
  # Retrieve list of sitemaps submitted
  sitemaps = webmasters_service.sitemaps().list(siteUrl=site_url).execute()
  if 'sitemap' in sitemaps:
    sitemap_urls = [s['path'] for s in sitemaps['sitemap']]
    print ("  " + "\n  ".join(sitemap_urls))

Starten des Programms

Wenn du die Schlüssel richtig eingetragen hast, sollte das Programm in der Console einen Link anzeigen. Klickst du diesen an, kommst du auf eine Authentifizierungsseite. Hier klickst du dich einfach durch. Am Ende erscheint ein Authentifizierungscode.

Dieser muss kopiert werden und in deine Consolenausgabe deines Programms eingetragen werden. Jetzt hast du dich erfolgreich “authentifiziert” und Google listet dir alle freigeschalteten Domains und Sitemaps auf.

Wie geht es jetzt weiter?

Zugegeben, dass Ergebnis ist überschaubar – aber das schwerste ist die Verbindung herzustellen. Nun kann man nach Herzenlust weitere Parameter, Queries usw. sich ausgeben lassen.

SEO-Praxis