热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python天气预报数据库,基于Python的免费天气预报接口查询

本文转自SDK社区:sdk.cn一、开通接口天气预报接口服务使用的聚合数据提供的免费接口,每天可以100次免费调用。可以通过https:www.juhe

本文转自SDK社区:sdk.cn

一、开通接口

天气预报接口服务使用的聚合数据提供的免费接口,每天可以100次免费调用。可以通过https://www.juhe.cn/docs/api/id/73注册及开通。

二、Python2.x调用示例#!/usr/bin/python

# -*- coding: utf-8 -*-

import urllib, urllib2, sys, json

reload(sys)

sys.setdefaultencoding('utf-8')

url = 'http://apis.juhe.cn/simpleWeather/query'

params = {

"city": "北京", # 查询天气的城市名称,如:北京、苏州、上海

"key": "xxxxxxxx", # 您申请的接口API接口请求Key

}

querys = urllib.urlencode(params)

request = urllib2.Request(url, data=querys)

response = urllib2.urlopen(request)

content = response.read()

if (content):

try:

result = json.loads(content)

error_code = result['error_code']

if (error_code == 0):

temperature = result['result']['realtime']['temperature']

humidity = result['result']['realtime']['humidity']

info = result['result']['realtime']['info']

wid = result['result']['realtime']['wid']

direct = result['result']['realtime']['direct']

power = result['result']['realtime']['power']

aqi = result['result']['realtime']['aqi']

print("温度:%s\n湿度:%s\n天气:%s\n天气标识:%s\n风向:%s\n风力:%s\n空气质量:%s" % (temperature, humidity, info, wid, direct, power, aqi))

else:

print("请求失败:%s %s" % (result['error_code'], result['reason']))

except Exception as e:

print("解析结果异常:%s" % e)

else:

# 可能网络异常等问题,无法获取返回内容,请求异常

print("请求异常")

三、Python3.x调用示例#!/usr/bin/python

# -*- coding: utf-8 -*-

import urllib

import urllib.request as request

import urllib.error as error

import json

# 天气预报查询示例

def main():

api_url = 'http://apis.juhe.cn/simpleWeather/query'

params_dict = {

"city": "北京", # 查询天气的城市名称,如:北京、苏州、上海

"key": "xxxxxxxx", # 您申请的接口API接口请求Key

}

params = urllib.parse.urlencode(params_dict)

try:

req = request.Request(api_url, params.encode())

response = request.urlopen(req)

content = response.read()

if content:

try:

result = json.loads(content)

error_code = result['error_code']

if (error_code == 0):

temperature = result['result']['realtime']['temperature']

humidity = result['result']['realtime']['humidity']

info = result['result']['realtime']['info']

wid = result['result']['realtime']['wid']

direct = result['result']['realtime']['direct']

power = result['result']['realtime']['power']

aqi = result['result']['realtime']['aqi']

print("温度:%s\n湿度:%s\n天气:%s\n天气标识:%s\n风向:%s\n风力:%s\n空气质量:%s" % (

temperature, humidity, info, wid, direct, power, aqi))

else:

print("请求失败:%s %s" % (result['error_code'], result['reason']))

except Exception as e:

print("解析结果异常:%s" % e)

else:

# 可能网络异常等问题,无法获取返回内容,请求异常

print("请求异常")

except error.HTTPError as err:

print(err)

except error.URLError as err:

# 其他异常

print(err)

if __name__ == '__main__':

main()

四、返回结果

bVcPuyo



推荐阅读
author-avatar
狗狗狗699_250
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有