3

当我包含多个维度时,我目前使用 Google 搜索控制台 API 得到不可预测的结果。我认为有几个不同的问题是相关的。我将提供每个示例。

首先,返回的行数根据 rowLimit 变化。在你判断之前,听我说完。当我发出一个 rowLimit 为 5,000 的请求时,我得到 3836 行。当我将 rowLimit 减少到 1000 时,我得到 674 行。当 rowLimit 为 1000 时,我显然希望获得 1000 行。

这是我的测试脚本。我将排除身份验证部分,因为它显然可以正常工作。

def execute_request(service, property_uri, request):
    return service.searchanalytics().query(
            siteUrl=property_uri, body=request).execute()

service = build('webmasters', 'v3', http=http)

site = 'http://www.example.com'

# Request using 5000 rowLimit
request = {
    'startDate': '2017-03-19',
    'endDate': '2017-03-19',
    'dimensions': ['query', 'page', 'country', 'device'],
    'rowLimit': 5000
}
results = execute_request(service, site, request)

print request
print 'total number of rows', len(results.get('rows', []))

# Request using 1000 rowLimit
request = {
    'startDate': '2017-03-19',
    'endDate': '2017-03-19',
    'dimensions': ['query', 'page', 'country', 'device'],
    'rowLimit': 1000
}
results = execute_request(service, site, request)

print request
print 'total number of rows', len(results.get('rows', []))

这打印:

{'startDate': '2017-03-19', 'endDate': '2017-03-19', 'dimensions' ['query', 'page', 'country', 'device'], 'rowLimit': 5000}
total number of rows 3836
{'startDate': '2017-03-19', 'endDate': '2017-03-19', 'dimensions': ['query', 'page', 'country', 'device'], 'rowLimit': 1000}
total number of rows 674

下一个问题可能是相关的。我希望当我增加维度的数量时——越来越细化——更多的行将可用,而不是更少。

保持 5000 的固定 rowLimit,如果我提出包含一个维度的请求,我会得到 4988 个结果。当我包括所有四个维度时,我得到 3836 行。我希望在包含更多维度时至少获得尽可能多的行。

为简洁起见,我不会包含我用于此测试的测试脚本。它与上面的几乎相同。但我将包含结果,以便您查看请求和返回的行数。

{'startDate': '2017-03-19', 'endDate': '2017-03-19', 'dimensions': ['page'], 'rowLimit': 5000}
total number of rows 4988
{'startDate': '2017-03-19', 'endDate': '2017-03-19', 'dimensions': ['query', 'page', 'country', 'device'], 'rowLimit': 5000}
total number of rows 3836

如果我做错了什么,或者这似乎是 API 的错误,这将很有帮助。提前致谢。

4

0 回答 0