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中method的参数传递过程
Apr 02 Python
Python使用os模块和fileinput模块来操作文件目录
Jan 19 Python
python web框架学习笔记
May 03 Python
Python正则表达式匹配中文用法示例
Jan 17 Python
利用python求解物理学中的双弹簧质能系统详解
Sep 29 Python
python正则表达式之对号入座篇
Jul 24 Python
Python PyAutoGUI模块控制鼠标和键盘实现自动化任务详解
Sep 04 Python
python实现K近邻回归,采用等权重和不等权重的方法
Jan 23 Python
Python2 Selenium元素定位的实现(8种)
Feb 25 Python
Python实现EXCEL表格的排序功能示例
Jun 25 Python
解决pycharm编辑区显示yaml文件层级结构遇中文乱码问题
Apr 27 Python
Python3实现英文字母转换哥特式字体实例代码
Sep 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
索尼SONY ICF-SW7600GR电路分析与改良
2021/03/02 无线电
15个小时----从修改程序到自己些程序
2006/10/09 PHP
中国站长站 For Dede4.0 采集规则
2007/05/27 PHP
PHP中定义数组常量(array常量)的方法
2014/11/17 PHP
制作安全性高的PHP网站的几个实用要点
2014/12/30 PHP
PHP中$_SERVER使用说明
2015/07/05 PHP
JavaScript入门教程(3) js面向对象
2009/01/31 Javascript
jQuery '行 4954 错误: 不支持该属性或方法' 的问题解决方法
2011/01/19 Javascript
jQuery extend 的简单实例
2013/09/18 Javascript
jquery取消选择select下拉框示例代码
2014/02/22 Javascript
JS根据变量保存方法名并执行方法示例
2014/04/04 Javascript
KnockoutJS 3.X API 第四章之事件event绑定
2016/10/10 Javascript
微信小程序  生命周期详解
2016/10/27 Javascript
详解Vue 2.0封装axios笔记
2017/06/22 Javascript
最基础的vue.js双向绑定操作
2017/08/23 Javascript
React中如何引入Angular组件详解
2018/08/09 Javascript
IntelliJ IDEA编辑器配置vue高亮显示
2019/09/26 Javascript
适合前端Vue开发童鞋的跨平台Weex的使用详解
2019/10/16 Javascript
JavaScript中如何对多维数组(矩阵)去重的实现
2019/12/04 Javascript
浅析JavaScript预编译和暗示全局变量
2020/09/03 Javascript
分享Python文本生成二维码实例
2016/01/06 Python
Python 多核并行计算的示例代码
2017/11/07 Python
深入flask之异步非堵塞实现代码示例
2018/07/31 Python
利用ctypes获取numpy数组的指针方法
2019/02/12 Python
使用python实现简单五子棋游戏
2019/06/18 Python
python框架flask入门之环境搭建及开启调试
2020/06/07 Python
Python叠加矩形框图层2种方法及效果
2020/06/18 Python
德国最大的网上鞋店之一:Schuhe24.de
2017/06/10 全球购物
ALDO英国官网:加拿大女鞋品牌
2018/02/19 全球购物
英国最好的包装供应商:Priory Direct
2019/12/17 全球购物
普天C++笔试题
2016/03/20 面试题
经典c++面试题六
2012/01/18 面试题
体育教师自荐信范文
2013/12/16 职场文书
2014工程部年度工作总结
2014/12/17 职场文书
2015年社区平安建设工作总结
2015/05/13 职场文书
golang通过递归遍历生成树状结构的操作
2021/04/28 Golang