我正在尝试使用谷歌搜索控制台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下一行,依此类推。 现在,如果我重复请求,我会得到相同的回复。
感谢您的帮助
答案 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。我必须拥有谷歌的所有数据。