- Saved searches
- Use saved searches to filter your results more quickly
- License
- joshcarty/google-searchconsole
- Name already in use
- Sign In Required
- Launching GitHub Desktop
- Launching GitHub Desktop
- Launching Xcode
- Launching Visual Studio Code
- Latest commit
- Git stats
- Files
- README.md
- Краткое руководство: запуск приложения Search Console на Python
- Требования
- инструкции
- Модификации
- Клиентская библиотека API инструментов тестирования URL-адресов Search Console для Python
- Образец
- Системные Требования
- Установите клиентскую библиотеку
- Управляемая установка
- Ручная установка
- Механизм приложений
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
A wrapper for the Google Search Console API.
License
joshcarty/google-searchconsole
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Sign In Required
Please sign in to use Codespaces.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching GitHub Desktop
If nothing happens, download GitHub Desktop and try again.
Launching Xcode
If nothing happens, download Xcode and try again.
Launching Visual Studio Code
Your codespace will open once ready.
There was a problem preparing your codespace, please try again.
Latest commit
Git stats
Files
Failed to load latest commit information.
README.md
Google Search Console for Python
google-searchconsole takes the pain out of working with the Google Search Console Search Analytics Query API. It is written in Python and provides convenient features to make querying a site’s search analytics data easier.
- Authentication. We provide a few different ways to make generating credentials and authenticating with your account easier. You can use stored fies as well as a way to do the OAuth2 flow interactively.
- Querying. Easier to query by date ranges and filter by various dimensions. No longer posting large nested JSON, the query object lets you make complex queries with ease.
- Exploration. You can traverse your account hierarchy, with an account containing webproperties with clear permission levels.
- Exports. Clean JSON and pandas.DataFrame outputs so you can easily analyse your data in Python or Excel.
This package is built on top of Google’s own API Client and is heavily inspired, from design to implementation, by @debrouwere’s fantastic google-analytics package.
First, install the package using:
pip3 install git+https://github.com/joshcarty/google-searchconsole
Then, create a new project in the Google Developers Console, enable the Google Search Console API under «APIs & Services». Next, create credentials for an OAuth client ID, choosing the Other Application type. Download a JSON copy of your client secrets.
After that, executing your first query is as easy as
import searchconsole account = searchconsole.authenticate(client_config='client_secrets.json') webproperty = account['https://www.example.com/'] report = webproperty.query.range('today', days=-7).dimension('query').get() print(report.rows)
The above example will use your client configuration file to interactively generate your credentials.
If you wish to save your credentials, to avoid going through the OAuth consent screen in the future, you can specify a path to save them by specifying serialize=’path/to/credentials.json .
When you want to authenticate a new account you run:
account = searchconsole.authenticate(client_config='client_secrets.json', serialize='credentials.json')
Which will save your credentials to a file called credentials.json .
From then on, you can authenticate with:
account = searchconsole.authenticate(client_config='client_secrets.json', credentials='credentials.json')
Integration with Pandas DataFrame
If you wish to load your data directly into a pandas DataFrame, to avoid loading it manually after the extraction, you can do it easily:
report = webproperty.query.range('today',days=-7).dimension('page').get().to_dataframe()
You can specify the search type data you want to retrieve by using the search_type method with your query. The following values are currently supported by the API: news, video, image, web, discover & googleNews. If you don’t use this method, the default value used will be web,
report = webproperty.query.search_type('discover').range('today',days=-7).dimension('page').get().to_dataframe()
You can apply filters while executing a query. The filter types supported by the API are the same available in the UI: contains, equals, notContains, notEquals, includingRegex & excludingRegex.
report = webproperty.query.range('today',days=-7).dimension('page').filter('page','/blog/','contains').get().to_dataframe()
Note that if you use Regex in your filter, you must follow RE2 syntax.
Краткое руководство: запуск приложения Search Console на Python
Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Этот пример веб-приложения распечатывает список сайтов, к которым у вас есть доступ, и карты сайта, если таковые имеются, для каждого из этих сайтов.
Требования
Для запуска этой программы вам понадобится:
- Доступ к Интернету и веб-браузеру для авторизации примера приложения.
- Аккаунт Google с хотя бы одним веб-сайтом , подтвержденным в Google Search Console.
- Python 3 и среда веб-приложений flask .
инструкции
Для этого примера вы адаптируете образец приложения OAuth 2.0 для веб-серверных приложений . В этом примере приложения Python используется платформа веб-приложений flask для запуска веб-приложения, которое управляет ключами OAuth и вызывает Google Cloud API. Вы адаптируете связанный образец для вызова API Search Console и распечатаете результаты на веб-странице.
Следуйте инструкциям по настройке на странице примера OAuth, указанной выше, и скопируйте пример кода, затем измените код, как показано ниже. В частности, следуйте инструкциям по настройке вашей среды кодирования, настройте (или повторно используйте) проект, который может получить доступ к API Search Console в консоли Google Cloud, и создайте учетные данные для веб-приложения.
В качестве исходного кода для этого примера вы будете использовать пример полного кода для Python .
Прочтите раздел «Модификации» ниже, чтобы узнать, какие изменения необходимо внести в связанные инструкции.
Если вам нужно получить доступ к клиенту Google API Python из проекта Google App Engine, вам потребуется использовать учетную запись службы для управления своими разрешениями.
Модификации
Следуя инструкциям на связанной странице примера Oauth2, внесите следующие изменения:
- Включите API Google Search Console, а не Drive API.
- Скопируйте пример приложения в конце документа OAUth, указанного выше, и замените этот
SCOPES = ['https://www.googleapis.com/auth/drive.metadata.readonly'] API_SERVICE_NAME = 'drive' API_VERSION = 'v2'
SCOPES = ['https://www.googleapis.com/auth/webmasters.readonly'] API_SERVICE_NAME = 'searchconsole' API_VERSION = 'v1'
@app.route('/test') def test_api_request(): if 'credentials' not in flask.session: return flask.redirect('authorize') # Load credentials from the session. credentials = google.oauth2.credentials.Credentials( **flask.session['credentials']) # Retrieve list of properties in account search_console_service = googleapiclient.discovery.build( API_SERVICE_NAME, API_VERSION, credentials=credentials) site_list = search_console_service.sites().list().execute() # Filter for verified URL-prefix websites. verified_sites_urls = [s['siteUrl'] for s in site_list['siteEntry'] if s['permissionLevel'] != 'siteUnverifiedUser' and s['siteUrl'].startswith('http')] # Print the sitemaps for all websites that you can access. results = '
Verified site | Sitemaps |
---|---|
%s | ' % (site_url) # Add a row with the site and the list of sitemaps if 'sitemap' in sitemaps: sitemap_list = "%s |
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons «С указанием авторства 4.0», а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2023-02-22 UTC.
Клиентская библиотека API инструментов тестирования URL-адресов Search Console для Python
Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.
На этой странице содержится информация о том, как начать работу с Google Search Console API с помощью клиентской библиотеки Google API для Python. Дополнительные сведения см. в следующей документации:
- Просмотрите справочник PyDoc для Google Search Console API .
- Прочтите руководство разработчика по клиентской библиотеке Google API для Python .
- Взаимодействуйте с этим API в своем браузере с помощью проводника API для Google Search Console API .
Образец
Образец searchconsole может помочь вам приступить к работе с клиентской библиотекой.
Системные Требования
Установите клиентскую библиотеку
Вы можете либо использовать менеджер пакетов, либо вручную загрузить и установить клиентскую библиотеку Python:
Управляемая установка
Используйте pip или setuptools для управления вашей установкой. Возможно, вам придется сначала запустить sudo .
pip install --upgrade google-api-python-client
easy_install --upgrade google-api-python-client
Ручная установка
Механизм приложений
Поскольку клиентские библиотеки Python не установлены в среде выполнения App Engine Python , их необходимо скопировать в приложение, как сторонние библиотеки.
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons «С указанием авторства 4.0», а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2023-02-22 UTC.