【问题标题】:google search console, search analytics, get more data谷歌搜索控制台,搜索分析,获取更多数据
【发布时间】:2015-11-02 16:23:13
【问题描述】:

我正在尝试使用 google 搜索控制台 api 从我的网站中获取一些数据。下面我的代码曾经这样做:à

service = build('webmasters', 'v3', http=http)
collection = service.searchanalytics()

request = {
  'startDate': '2015-10-24',
  'endDate': '2015-10-25',
  'dimensions': ['query','page', 'device'],
  'searchType': 'web',
  'rowLimit': '5000'
}

response = collection.query(siteUrl=property_uri, body=request).execute()

我的问题是我只能写大约 1000 行。我想知道是否有办法获取我所有的网站数据。例如发送另一个请求以获取下一行的 1000,依此类推。 现在,如果我重复请求,我会得到相同的响应。

感谢您的帮助

【问题讨论】:

    标签: google-api google-search-api google-api-python-client


    【解决方案1】:

    正如documentation 所述:行的有效范围是 1 到 5000 并且 “API 不支持分页结果”(与当时称为网站管理员工具的先前版本相反API)。

    因此,您最多只能有 5000 行数据(至少比浏览器界面为您提供的 1000 行多)。

    有效行数似乎也有所不同,具体取决于过滤器和聚合设置。

    编辑:似乎最近支持分页结果。现在有一个名为“startRow”的参数,以前没有,它可以按预期工作。

    【讨论】:

      【解决方案2】:

      您可以设置 startRow 参数以获得更多结果。 如果返回的结果有 rowLimit 的长度,我将 rowLimit 添加到 startRow。

      假设我一天有 13000 个查询。 所以我的 startRow 是 0,我的 rowLimit 是 5000。

      在第一个请求中,我得到了 5000 个结果。我检查结果长度是否 = rowLimit。如果是,我设置我的 startRow = startRow + rowLimit。

      在第二个请求中,我得到 5000 个结果。我检查结果长度是否 = rowLimit。如果是,我设置我的 startRow = startRow + rowLimit。

      startRow 现在是 10000。在第三个请求中,我得到 3000 个结果。现在我的结果长度不是 rowLimit。我必须拥有来自 google 的所有数据。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-22
        相关资源
        最近更新 更多