谷歌搜索控制台,搜索分析,获取更多数据

时间:2015-11-02 16:23:14

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

我正在尝试使用谷歌搜索控制台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下一行,依此类推。 现在,如果我重复请求,我会得到相同的回复。

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

正如documentation所述:行的有效范围是1到5000而“API不支持分页结果”(与之前调用的先前版本相反)网站站长工具API)。

因此,您最多可以限制5000个数据行(至少超过浏览器界面为您提供的1000行)。

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

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

答案 1 :(得分:-1)

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

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

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

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

startRow现在是10000.在第三个请求中,我获得了3000个结果。现在我的结果lenght不是rowLimit。我必须拥有谷歌的所有数据。