Skip to main content

PySearchConsole is a Python library that allows you to get query and analyze data from your website's Search Console account, including search analytics, crawl errors, sitemaps, and more.

Project description

searchconsole - Python Library for Google Search Console API

Introduction

searchconsole is a Python library that provides an easy-to-use interface for working with the Google Search Console API. With this library, you can fetch data from your Search Console account and use it to analyze your website's performance in search results.

Getting Started

Before you can use the searchconsole library, you need to generate a credentials.json file that will allow you to authenticate with the Google Search Console API. To generate this file, you can use the Credential class provided by the library.

from credential.credential import Crediential

client_id = "kjahfdnjkeahfnulkjbn38294u2389"
client_secret = "32u4393kjbjjk3b4bk331094i3jb"

# create the credentials.json file in your home directory

Credential(client_id=client_id, client_secret=client_secret)

# they will send you a new tab where you can allow the permission and get the key

# Enter your Authorization code here:-

After enter the Authorization you will get the credenial.json then after comment the Credential(client_id=client_id, client_secret=client_secret)

This will create a credentials.json file in your home directory that you can use to authenticate with the API.

Make sure that you have obtained the credentials.json file. Please note that the refresh token for this library expires after 6 months of inactivity. If you use the library before the expiration date, the expiration time gets extended to another 6 months.

So you don't need to generate the credential.json again and again

Fetching Data

Once you have generated your credentials.json file, you can use the searchconsole library to fetch data from your Search Console account. Here is an example of how to fetch search analytics data for a given domain:

from searchconsole.searchconsole import Searchconsole

domain = "https://www.example.com/"
start_date = "2022-01-01"


# dont write end date they will automatically update as date.today()

authenticate with the API using credentials.json

auth_response = SearchConsole(domain=domain,start_date=start_date, credentials='credentials.json')

# print the data

# print(auth_response)

report_dict = []
for i in auth_response['rows']:
    auth_data = i
    new_dict = {
        "query": auth_data["keys"][0],
        "page": auth_data["keys"][1],
        "country": auth_data["keys"][2],
        "device": auth_data["keys"][3],
        "date": auth_data["keys"][4],
        "clicks": auth_data["clicks"],
        "impressions": auth_data["impressions"],
        "ctr": auth_data["ctr"],
        "position": auth_data["position"]
    }
    report_dict.append(new_dict)
print(report_dict)

Output:

["query", "page", "country", "device", "date","impression","clicks","position","ctr"]

{
"query":"console",
"country":"ind",
"page":"www.example.com",
"device":"Desktop",
"date":"2023-02-13",
"impression":"23",
"clicks":"23",
"position":"2",
"ctr":"2",
}

Requirements

The following dependencies are required to use the searchconsole library:

apiclient oauth2client google-api-python-client httplib2

You can add these requirements to a file called requirements.txt in the root directory of your library, with each requirement on a new line. This will make it easy for users to install all necessary dependencies by running pip install -r requirements.txt.

Unit Testing

The searchconsole library comes with a large and growing set of unit tests to ensure its functionality is working correctly. These unit tests can be found in the tests directory of the library. By running the tests, you can ensure that the library is functioning correctly and catch any errors that may arise.

Conclusion

With the searchconsole library, it is easy to fetch data from your Google Search Console account and use it to analyze your website's performance in search results. By following the steps outlined in this document, you can quickly get started with the library and begin using it to improve your website's search performance.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pysearchconsole-1.0.5.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

pysearchconsole-1.0.5-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file pysearchconsole-1.0.5.tar.gz.

File metadata

  • Download URL: pysearchconsole-1.0.5.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.28.1 setuptools/65.6.3 requests-toolbelt/0.10.1 tqdm/4.65.0 CPython/3.8.10

File hashes

Hashes for pysearchconsole-1.0.5.tar.gz
Algorithm Hash digest
SHA256 4832078d02ed68e1491304b45c1882377417c1a09d31aa54a1347e75edb16cab
MD5 0352f537e04363c5bce941c493a2d620
BLAKE2b-256 39fa82b0843de9aaab7c12434d60f8f9d5113e3e8f1243e63679e5f42c1fe77a

See more details on using hashes here.

File details

Details for the file pysearchconsole-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: pysearchconsole-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 5.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.28.1 setuptools/65.6.3 requests-toolbelt/0.10.1 tqdm/4.65.0 CPython/3.8.10

File hashes

Hashes for pysearchconsole-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 2a90e87e8aba3d684f835f14b457987b659108636645f7aa6f33e310d6a38825
MD5 641be8880ee793bb8c0d66f5a9201686
BLAKE2b-256 ea01e21f430cfc310dc4cf463fc78fd00aee9eb07101a69be7846f21ea3fc6b4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page