详解用Python进行谷歌Search分析

以下是使用Python进行谷歌搜索分析的完整攻略。

安装Python包

首先在命令行中使用pip安装三个包:

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

创建OAuth令牌

谷歌API使用OAuth 2.0协议进行身份验证。为此,需要使用您的谷歌帐户登录开发者控制台,然后按照以下步骤操作:

  1. 单击“Create Project”(创建项目)按钮。
  2. 输入项目名称并单击“Create”(创建)按钮。
  3. 在右上角的搜索框中输入“Google Search Console API”,然后选择该API。
  4. 单击“Enable”(启用)按钮。
  5. 然后创建授权凭据。在“API和服务” > “凭据”页面中,单击“Create Credentials”(创建凭据)按钮,并选择“OAuth客户端ID”选项。
  6. 在“应用程序类型”下选择“其他”,输入名称并单击“创建”按钮。
  7. 在下一屏幕中,您将看到您的客户端ID和秘密密钥。单击“下载”按钮以下载JSON凭据文件。

连接到Google Search Console API

根据指南的“访问API”部分,使用OAuth 2.0令牌连接到Google Search Console API,并授权代码访问。

from google.oauth2.credentials import Credentials
from google_auth_oauthlib.flow import InstalledAppFlow

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

flow = InstalledAppFlow.from_client_secrets_file(
    'credentials.json', SCOPES)
creds = flow.run_local_server(port=0)

检索谷歌搜索分析数据

使用Google Search Console API检索与您的网站相关的搜索分析数据。这些数据可以按日期范围、国家/地区和搜索类别进行过滤。

以下代码是在日期范围内检索远程文本的示例:

from googleapiclient.discovery import build

webmasters_service = build('webmasters', 'v3', credentials=creds)

request = {
  'startDate': '2020-01-01',
  'endDate': '2020-01-31',
  'dimensions': ['query']
}

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

print(response)

示例

以下是一个更完整的示例,它检索了过去7天内与一个URL相关的最佳查询和页面,并将其显示为数据帧。

from datetime import datetime, timedelta
from googleapiclient.discovery import build
import pandas as pd

SCOPES = ['https://www.googleapis.com/auth/webmasters.readonly']
VIEW_ID = 'XXXXX' # 输入search console上的自己网站view ID,找方法:https://developers.google.com/webmaster-tools/search-console-api-original/v3/how-tos/how-tos-authentication

def main():

    creds = None

    # 从credentials.json中读取OAuth 2.0令牌,以连接到Google Search Console API。
    flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES)
    creds = flow.run_local_server(port=0)

    # 使用Google API构建搜索主控服务对象
    service = build('webmasters', 'v3', credentials=creds)

    # 定义日期范围
    yesterday = datetime.now() - timedelta(days=1)
    week_ago = yesterday - timedelta(days=7)
    today_formatted = datetime.now().strftime('%Y-%m-%d')
    week_ago_formatted = week_ago.strftime('%Y-%m-%d')
    date_range = {
        'startDate': week_ago_formatted,
        'endDate': today_formatted
    }

    # 按查询检索数据
    query_request = {
        'startDate': date_range['startDate'],
        'endDate': date_range['endDate'],
        'dimensions': ['query', 'page'],
        'rowLimit': 25
    }
    query_response = service.searchanalytics().query(siteUrl='https://www.example.com', body=query_request).execute()
    query_data = query_response['rows'] if 'rows' in query_response else []

    # 组装成DataFrame 
    rows = []
    for row in query_data:
        rows.append({
          'query': row['keys'][0].lower(),
          'page': row['keys'][1],
          'clicks': int(row['clicks']),
          'ctr': round((row['ctr']*100), 2),
          'impressions': int(row['impressions']),
          'position': round(float(row['position']), 2)
        })
    df = pd.DataFrame(rows)

    # 显示
    print('Top queries:')
    print(df.sort_values(by=['clicks'], ascending=False).head(10))
    print('\n')
    print('Top pages:')
    print(df.sort_values(by=['impressions'], ascending=False).head(10))


if __name__ == '__main__':
    main()

希望这个攻略可以帮助你开始使用Python进行谷歌搜索分析。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解用Python进行谷歌Search分析 - Python技术站

(0)
上一篇 2023年3月25日
下一篇 2023年3月25日

相关文章

  • python 获取文件列表(或是目录例表)

    Python获取文件列表(或是目录列表)的完整攻略 在Python中,可以使用os模块和glob模块来获取文件列表或目录列表。os模块提供了许多与系统交互的函数,包括获取文件列表和目录列表的函数;glob模块提供了一个函数,用于查找符合特定规则的文件路径名。本攻略将详细介绍Python获取文件列表(或是目录列表)的完整攻略,并提供两个例说明。 使用os模块获…

    python 2023年5月13日
    00
  • 让python在hadoop上跑起来

    让我们来详细讲解如何让Python在Hadoop上能够运行。这个过程分为以下几个步骤: 安装Hadoop 首先需要安装Hadoop,可以从官网下载并按照说明进行安装。具体安装步骤可参考Hadoop官方文档。 Hadoop开启伪分布式模式 为了简化操作,我们可以选择在本地使用Hadoop的伪分布式模式,即将Hadoop运行在单台机器上,模拟分布式的环境。 具体…

    python 2023年6月3日
    00
  • Python安装lz4-0.10.1遇到的坑

    下面是详细讲解 Python 安装 lz4-0.10.1 遇到的坑的完整攻略: 准备工作 首先需要确保系统中已经安装好了 Python 和 pip 工具。如果没有安装,可以通过以下步骤安装: 在 Linux 上,可以使用以下命令安装: # 安装 Python sudo apt-get install python # 安装 pip sudo apt-get …

    python 2023年6月3日
    00
  • 如何在Python中执行MongoDB数据库的查询语句?

    以下是如何在Python中执行MongoDB数据库的查询语句的完整使用攻略,包括连接MongoDB数据库、执行查询语句、获取查询结果等步骤。同时,提供了两个示例以便更好理解如何在Python中执行MongoDB数据库的查询语句。 步骤1:连接MongoDB数据库 在Python中,我们可以使用PyMongo库连接MongoDB数据库。以下连接MongoDB数…

    python 2023年5月12日
    00
  • python中pip的使用和修改下载源的方法

    对于Python开发者来说,pip是一个必不可少的工具。Pip是Python的包管理器,可以方便地安装、升级、卸载Python包。在这篇文章中,我们将详细介绍Python中pip的使用和修改下载源的方法。 安装pip Python 2.7.9及以上版本以及Python 3.4及以上版本都内置了pip。如果你的Python版本中没有pip,你可以从https:…

    python 2023年5月14日
    00
  • Python实现图书管理系统设计

    为了实现“Python实现图书管理系统设计”,我们可以按照以下步骤来进行。 1. 确定系统需求 首先需要明确“Python实现图书管理系统设计”的功能需求和实现目标,例如: 系统有图书查询、增、删、改、借阅和归还等功能。 利用Python编写代码实现,提供图形化界面和命令行交互两种方式操作。 应用MVC设计模式,将模型、视图和控制器分离。 2. 确定系统结构…

    python 2023年5月19日
    00
  • PyCharm运行提示No Python Interpreter错误怎么办?

    PyCharm运行提示No Python Interpreter错误怎么办? 当在PyCharm中运行Python程序时,有时会遇到”No Python interpreter configured for the project”的错误提示。这个错误通常是由于PyCharm没有到Python解释器引起的。本文将详细讲解如何解决这个问题。 解决方法 方法一:…

    python 2023年5月13日
    00
  • Python数据结构之递归方法详解

    Python数据结构之递归方法详解 递归是一种常用的算法思想,它通过将问题分解为更小的子问题来解决复杂的问题。在Python中,递归可以用于解决许多数据结构和算法问题,如树的遍历、图的搜索等。本文将详细介绍Python中递归的实现方法,并提供两个示例说明。 递归的基本原理 递归是一种函数调用自身的方法。在递归过程中,函数将问题分解为更小的子问题,并通过递归调…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部