Python实现从百度API获取天气的方法


Posted in Python onMarch 11, 2015

本文实例讲述了Python实现从百度API获取天气的方法。分享给大家供大家参考。具体实现方法如下:

__author__ = 'saint'

import os

import urllib.request

import urllib.parse

import json

class weather(object):

    # 获取城市代码的uri

    code_uri = "http://apistore.baidu.com/microservice/cityinfo?cityname="

    # 获取天气信息的uri

    weather_uri = "http://apistore.baidu.com/microservice/weather?cityid="

    # 主处理逻辑

    def mainHandle(self):

        print("输入你要查询的天气:")

        city_name = input()

        uri = self.code_uri + urllib.parse.quote(city_name)

        ret = json.loads(urllib.request.urlopen(uri).read().decode("utf8"))

        if ret['errNum'] != 0:

            print(ret['retMsg'])

            return False

        else:

            weather_uri = self.weather_uri + ret['retData']['cityCode']

            data = json.loads(urllib.request.urlopen(weather_uri).read().decode("utf8"))

            if data['errNum'] == 0:

                ret_data = data['retData']

                output = "城市名:" + city_name + "\r\n"

                output += "更新时间:" + ret_data["date"] + " " + ret_data["time"] + "\r\n"

                output += "天气:" + ret_data["weather"] + " [" + ret_data["WD"] + ret_data["WS"] + "]\r\n"

                output += "当前温度:" + ret_data["temp"] + " (" + ret_data["h_tmp"] + " ---> " + ret_data["l_tmp"] + ")\r\n"

                print(output)

                return True

            else:

                print(data['errMsg'])

                return False

if __name__ == "__main__":

    weather = weather()

    weather.mainHandle()

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Python异常学习笔记
Feb 03 Python
python 爬取微信文章
Jan 30 Python
python正则表达式之作业计算器
Mar 18 Python
python装饰器实例大详解
Oct 25 Python
python中reader的next用法
Jul 24 Python
python3+django2开发一个简单的人员管理系统过程详解
Jul 23 Python
Python os模块常用方法和属性总结
Feb 20 Python
详解Python修复遥感影像条带的两种方式
Feb 23 Python
Python装饰器的应用场景代码总结
Apr 10 Python
简单了解python shutil模块原理及使用方法
Apr 28 Python
在Django中自定义filter并在template中的使用详解
May 19 Python
Python代码执行时间测量模块timeit用法解析
Jul 01 Python
Python计算回文数的方法
Mar 11 #Python
Python用GET方法上传文件
Mar 10 #Python
Python爬取读者并制作成PDF
Mar 10 #Python
Python生成随机MAC地址
Mar 10 #Python
Python中实现结构相似的函数调用方法
Mar 10 #Python
Python实现CET查分的方法
Mar 10 #Python
Python实现的批量下载RFC文档
Mar 10 #Python
You might like
从一个不错的留言本弄的mysql数据库操作类
2007/09/02 PHP
php去掉URL网址中带有PHPSESSID的配置方法
2014/07/08 PHP
PHP针对中英文混合字符串长度判断及截取方法示例
2017/03/31 PHP
PDO::prepare讲解
2019/01/29 PHP
Convert Seconds To Hours
2007/06/16 Javascript
将函数的实际参数转换成数组的方法
2010/01/25 Javascript
web开发人员学习jQuery的6大理由及jQuery的优势介绍
2013/01/03 Javascript
JavaScript判断变量是否为undefined的两种写法区别
2013/12/04 Javascript
完美兼容各大浏览器的jQuery插件实现图片切换特效
2014/12/12 Javascript
node.js中的fs.readlinkSync方法使用说明
2014/12/17 Javascript
javascript实时显示北京时间的方法
2015/03/12 Javascript
JavaScript DOM元素尺寸和位置
2015/04/13 Javascript
jQuery定义插件的方法
2015/12/18 Javascript
深入探秘jquery瀑布流的实现
2016/01/30 Javascript
基于Bootstrap实现图片轮播效果
2016/05/22 Javascript
微信小程序 实现拖拽事件监听实例详解
2016/11/16 Javascript
JS实现去除数组中重复json的方法示例
2017/12/21 Javascript
Vue封装一个简单轻量的上传文件组件的示例
2018/03/21 Javascript
纯js封装的ajax功能函数与用法示例
2018/05/14 Javascript
JS复杂判断的更优雅写法代码详解
2018/11/07 Javascript
JS如何判断对象是否包含某个属性
2020/08/29 Javascript
python2.7 mayavi 安装图文教程(推荐)
2017/06/22 Python
Python列表推导式、字典推导式与集合推导式用法实例分析
2018/02/07 Python
tensorflow构建BP神经网络的方法
2018/03/12 Python
解决Tensorflow使用pip安装后没有model目录的问题
2018/06/13 Python
利用pandas将numpy数组导出生成excel的实例
2018/06/14 Python
pandas 对日期类型数据的处理方法详解
2019/08/08 Python
Flask处理Web表单的实现方法
2021/01/31 Python
css3圆角样式分享自定义按钮样式
2013/12/27 HTML / CSS
中国海淘族值得信赖的海淘返利网站:55海淘
2017/01/16 全球购物
英国Flybe航空官网:欧洲最大的独立支线廉价航空公司
2019/07/15 全球购物
Edwaybuy西班牙:小米在线商店
2019/12/04 全球购物
《宿建德江》教学反思
2014/04/23 职场文书
班组建设经验交流材料
2014/05/12 职场文书
教师学习中国梦心得体会
2016/01/05 职场文书
解决numpy和torch数据类型转化的问题
2021/05/23 Python