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使用分布式锁的代码演示示例
Jul 30 Python
win8下python3.4安装和环境配置图文教程
Jul 31 Python
python 格式化输出百分号的方法
Jan 20 Python
Python eval的常见错误封装及利用原理详解
Mar 26 Python
python3对拉勾数据进行可视化分析的方法详解
Apr 03 Python
python 计算一个字符串中所有数字的和实例
Jun 11 Python
Ubuntu18.04中Python2.7与Python3.6环境切换
Jun 14 Python
详解Python用三种方式统计词频的方法
Jul 29 Python
TensorFlow 输出checkpoint 中的变量名与变量值方式
Feb 11 Python
Django限制API访问频率常用方法解析
Oct 12 Python
Django用内置方法实现简单搜索功能的方法
Dec 18 Python
Python爬虫:从m3u8文件里提取小视频的正确操作
May 14 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
PHP flush()与ob_flush()的区别详解
2013/06/03 PHP
form自动提交实例讲解
2017/07/10 PHP
javascript新手语法小结
2008/06/15 Javascript
Javascript基础教程之数据类型 (字符串 String)
2015/01/18 Javascript
JS实现判断碰撞的方法
2015/02/11 Javascript
js中数组结合字符串实现查找(屏蔽广告判断url等)
2016/03/30 Javascript
JavaScript实现九九乘法表的简单实例
2016/06/07 Javascript
jQuery悬停文字提示框插件jquery.tooltipster.js用法示例【附demo源码下载】
2016/07/19 Javascript
jQuery联动日历的实例解析
2016/12/02 Javascript
利用vue写todolist单页应用
2016/12/15 Javascript
JS常用倒计时代码实例总结
2017/02/07 Javascript
深入理解jquery的$.extend()、$.fn和$.fn.extend()
2017/07/08 jQuery
React + webpack 环境配置的方法步骤
2017/09/07 Javascript
webstorm中配置Eslint的两种方式及差异比较详解
2018/10/19 Javascript
详解webpack4.x之搭建前端开发环境
2019/03/28 Javascript
微信小程序实现带参数的分享功能(两种方法)
2019/05/17 Javascript
如何用原生js写一个弹窗消息提醒插件
2019/05/24 Javascript
微信小程序如何利用getCurrentPages进行页面传值
2019/07/01 Javascript
Layui 动态禁止select下拉的例子
2019/09/03 Javascript
解决Vue项目打包后打开index.html页面显示空白以及图片路径错误的问题
2019/10/25 Javascript
vue-cli3.0实现一个多页面应用的历奇经历记录总结
2020/03/16 Javascript
python中的闭包用法实例详解
2015/05/05 Python
Python导入oracle数据的方法
2015/07/10 Python
Python装饰器基础详解
2016/03/09 Python
浅析Python中MySQLdb的事务处理功能
2016/09/21 Python
python利用rsa库做公钥解密的方法教程
2017/12/10 Python
Scrapy框架爬取Boss直聘网Python职位信息的源码
2019/02/22 Python
python3 实现函数写文件路径的正确方法
2019/11/27 Python
python线性插值解析
2020/07/05 Python
经典c++面试题二
2015/08/14 面试题
写给女朋友的道歉信
2014/01/08 职场文书
管理信息系学生的自我评价
2014/01/11 职场文书
父亲的菜园教学反思
2014/02/13 职场文书
晨会主持词
2014/03/17 职场文书
建设工程授权委托书
2014/09/22 职场文书
上课讲话检讨书范文
2015/05/07 职场文书