📅  最后修改于: 2023-12-03 15:08:10.428000             🧑  作者: Mango
如果你需要获取外面的天气信息,你可以使用许多开放接口来做到这一点。下面,我们将介绍一些常用的API。
OpenWeatherMap提供了全球范围内的天气信息。他们提供了JSON、XML和HTML等多种格式的返回数据。
下面是返回JSON格式数据的示例代码:
import requests
url = 'http://api.openweathermap.org/data/2.5/weather'
params = {
'q': 'New York',
'appid': 'your_app_id',
}
response = requests.get(url, params=params)
data = response.json()
print(data)
WeatherStack也提供了全球天气信息。他们提供了JSON格式和XML格式的返回数据。
下面是返回JSON格式数据的示例代码:
import requests
url = 'http://api.weatherstack.com/current'
params = {
'access_key': 'your_access_key',
'query': 'New York',
}
response = requests.get(url, params=params)
data = response.json()
print(data)
谷歌天气API可以获取当前位置的天气情况。他们提供了JSON格式的返回数据。
下面是返回JSON格式数据的示例代码:
import requests
url = 'https://www.googleapis.com/geolocation/v1/geolocate?key=your_api_key'
response = requests.post(url)
data = response.json()
url = 'https://maps.googleapis.com/maps/api/geocode/json'
params = {
'latlng': f"{data['location']['lat']},{data['location']['lng']}",
'key': 'your_api_key',
}
response = requests.get(url, params=params)
data = response.json()
city = data['results'][0]['address_components'][2]['short_name']
url = 'https://maps.googleapis.com/maps/api/place/findplacefromtext/json'
params = {
'input': city,
'inputtype': 'textquery',
'fields': 'photos,formatted_address,name,opening_hours,rating',
'key': 'your_api_key',
}
response = requests.get(url, params=params)
data = response.json()
place_id = data['candidates'][0]['place_id']
url = 'https://maps.googleapis.com/maps/api/place/details/json'
params = {
'place_id': place_id,
'fields': 'formatted_address,name,photos,geometry,review',
'key': 'your_api_key',
}
response = requests.get(url, params=params)
data = response.json()
print(data['result']['formatted_address'])
print(f"Current temperature: {data['result']['geometry']['location']['lat']}")
以上是一些获取外面天气的API,你可以根据自己的需求选择其中之一。