我正在尝试使用 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 的最新版本。