2015-11-02 111 views
0

我试图使用谷歌搜索控制台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行下一行等等。 现在,如果我重复请求,我会得到相同的响应。

感谢您的帮助

回答

1

由于documentation状态:行的有效范围是1〜5000,“的API不支持分页结果”(相对于以前版本的则称为网站管理员工具API)。

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

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

编辑:支持分页结果最近到达,因为它似乎。现在有一个名为“startRow”的参数,它之前没有出现过,它的工作方式和预期的一样。

-1

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

比方说,我有一天13000查询。 所以我的startRow是0和我的rowLimit是5000.

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

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

startRow现在是10000.在第三个请求我得到3000个结果。现在我的结果长度不是rowLimit。我必须拥有谷歌的所有数据。