1 回答

TA贡献1998条经验 获得超6个赞
import requests
city = input("enter city\n")
date = input("enter date\n")
json_data = requests.get(
'http://api.worldweatheronline.com/premium/v1/past-weather.ashx',
params=dict(
key='abc123...',
q=city,
format='json',
date=date,
tp='24'
)
).json()
formatted_data = json_data['data']
print(formatted_data)
代码问题:
date_time = datetime.strptime(ask, date_format)
url=int(api_address+city+24+date_time)
不能将 str、int 和 datetime 与
+
. 它们必须都是字符串。您可以先将它们转换为字符串,但由于您的日期时间从
input
您开始作为字符串开始,因此不需要解析它。结果显然不能转换为 int。
您不希望 URL 为 int。
结果仍然远不是格式正确的 URL,
&
并且=
在正确的位置表示参数。+
不会神奇地将参数插入到您想要的位置。你需要这样做:
url = ('http://api.worldweatheronline.com/premium/v1/past-weather.ashx?key=abc123&q=' + city + '&format=json&date=' + ask + '&tp=24')
以上不是很好。
requests
可以为您解决这个问题params
。
添加回答
举报