使用 Requests 从虚拟十字路口获取天气数据 API

use Requests to get weather data from virtual crossings API

我正在尝试从 API 访问历史天气数据。我从这里获得了 API 密钥:https://www.visualcrossing.com/weather/weather-data-services#/timeline

我正在尝试这个,但我一直收到错误 404。我不确定这是因为 API 还是我的代码有问题。

import requests
r = requests.get("https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline/London,UK/2021-01-01/2021-03-28?key=AXSSS")
print(r)

文档:https://www.visualcrossing.com/resources/documentation/weather-api/timeline-weather-api/

如何获取数据?

我测试了你提供的网站并创建了一个帐户和api获取伦敦是否数据的密钥,你也可以使用它

代码:

import requests

r = requests.get("https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline/London?unitGroup=metric&key=PPKBBJ7637X5SNDUG6HZA23X7")

print(r)

输出:

<Response [200]>

现在您也可以通过 json() 方法访问数据了:

print(r.json())

输出非常大,但你的问题有两点:

1-API 密钥不正确(我测试过) 2-你应该购买保费计划

获取日期范围 url 将像这样:

https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline/London/2021-1-1/2021-1-5?unitGroup=us&key=PPKBBJ7637X5SNDUG6HZA23X7

并且您提供的日期范围,每个请求的行太多,您应该购买高级计划

否则你会在他们自己的网站上得到这个错误:

Your plan allows up to 100 rows per request. This query will return (yyy) rows. Please smaller date range or fewer locations.

Our paid plans offer increased query limits

如果你不想为付费计划付费,你可以使用这个 link 来使用 github public apis,很多免费而且没有api 您可以使用的密钥

Github public apis