📜  外面的天气 (1)

📅  最后修改于: 2023-12-03 15:08:10.428000             🧑  作者: Mango

外面的天气

如果你需要获取外面的天气信息,你可以使用许多开放接口来做到这一点。下面,我们将介绍一些常用的API。

OpenWeatherMap 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 API

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

谷歌天气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,你可以根据自己的需求选择其中之一。