0

我正在尝试使用 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()

尽可能地遵循他们自己网站上的similarweb示例。只是日期不同。

但是,我收到一个 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'
        }
    }
}

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

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

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

4

1 回答 1

4

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

于 2017-11-01T13:54:55.620 回答