SametimeWeb 访问 API 的日期限制是什么?Python 请求流量 API 时出现“日期不在范围内”错误

sro*_*and 0 python-2.7 python-requests similarweb

我正在尝试使用Python请求从SimilarWeb API获取数据,如下所示:

import requests
MY_API_KEY = 'XXXXXXXXXXXXXXXXXX'

API_URL = "https://api.similarweb.com/v1/website/{site}/" \
          "total-traffic-and-engagement/visits?api_key={api_key}" \
          "&start_date={start_date}" \
          "&end_date={end_date}" \
          "&main_domain_only=false" \
          "&granularity={granularity}".format(
    site='cnn.com',
    api_key=MY_API_KEY,
    start_date="2017-09",
    end_date="2017-10",
    granularity="monthly"
)

response = requests.get(API_URL)
print response.json()
Run Code Online (Sandbox Code Playgroud)

尽可能遵循他们自己网站上的 simpleweb 示例(此处)。只是日期不同而已。

但是,我收到一个 json 错误,指出 json 中的“日期不在范围内”:

{
    u'meta': {
        u'status': u'Error', 
        u'error_code': 101, 
        u'error_message': u'Dates not in range', <--- error msg
        u'request': {
            u'domain': u'cnn.com', 
            u'end_date': u'2017-10-31', 
            u'format': None, 
            u'country': u'world', 
            u'main_domain_only': False, 
            u'limit': None, 
            u'granularity': u'Monthly', 
            u'start_date': u'2017-09-01'
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试了许多不同的日期(包括示例中的日期 - start_date=2016-01&end_date=2016-03),并且尝试了不同的日期格式,但我总是收到此错误。我过去尝试过更远的日期,也尝试过更远的日期。

如果我省略日期,我会返回有效数据,所以我相信请求的其余部分必须格式良好?我将继续尝试不同的选择,但如果有人有这方面的经验,我将非常感激,因为它现在让我有点疯狂!

由于项目限制,我使用 python 2.7,请求版本为 2.18.4,我相信这是 pip 可用的最新版本。

小智 5

您请求的是 2017-09 至 2017-10,今天是 11 月 1 日,因此 2017-10 快照尚未发布。请联系SimilarWeb 支持以获取更新。