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备份文件的脚本
Aug 11 Python
Python设计模式之代理模式实例
Apr 26 Python
在Python中使用__slots__方法的详细教程
Apr 28 Python
Python的自动化部署模块Fabric的安装及使用指南
Jan 19 Python
python中异常捕获方法详解
Mar 03 Python
windows上安装Anaconda和python的教程详解
Mar 28 Python
详解Python list 与 NumPy.ndarry 切片之间的对比
Jul 24 Python
Python实现将照片变成卡通图片的方法【基于opencv】
Jan 17 Python
DataFrame中的object转换成float的方法
Apr 10 Python
Python3标准库glob文件名模式匹配的问题
Mar 13 Python
pyCharm 实现关闭代码检查
Jun 09 Python
详解pycharm自动import所需的库的操作方法
Nov 30 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
德生PL450的电路分析和低放电路的改进办法
2021/03/02 无线电
php Undefined index的问题
2009/06/01 PHP
PHP图片处理类 phpThumb参数用法介绍
2012/03/11 PHP
PHP 验证登陆类分享
2015/03/13 PHP
AMD异步模块定义介绍和Require.js中使用jQuery及jQuery插件的方法
2014/06/06 Javascript
jquery实现显示已选用户
2014/07/21 Javascript
JavaScript判断textarea值是否为空并给出相应提示
2014/09/04 Javascript
js实现简单秒表走动的时钟特效
2020/03/25 Javascript
jQuery+css实现炫目的动态块漂移效果
2016/01/28 Javascript
Node.js操作mysql数据库增删改查
2016/03/30 Javascript
基于jQuery的Web上传插件Uploadify使用示例
2016/05/19 Javascript
Sortable.js拖拽排序使用方法解析
2016/11/04 Javascript
Bootstrap导航条可点击和鼠标悬停显示下拉菜单
2016/11/25 Javascript
js实现简易聊天对话框
2017/08/17 Javascript
AnglarJs中的上拉加载实现代码
2018/02/08 Javascript
js实现弹出框的拖拽效果实例代码详解
2019/04/16 Javascript
vue登录页面cookie的使用及页面跳转代码
2019/07/10 Javascript
微信小程序实现轨迹回放的示例代码
2019/12/13 Javascript
基于vue-cli3+typescript的tsx开发模板搭建过程分享
2020/02/28 Javascript
js、jquery实现列表模糊搜索功能过程解析
2020/03/27 jQuery
[14:20]刀塔大凶女神互压各路奇葩屌丝
2014/05/16 DOTA
python实现键盘控制鼠标移动
2020/11/27 Python
浅析python参数的知识点
2018/12/10 Python
总结python中pass的作用
2019/02/27 Python
python3 实现的对象与json相互转换操作示例
2019/08/17 Python
快速创建python 虚拟环境
2020/11/28 Python
CSS3绘制不规则图形的一些方法示例
2015/11/07 HTML / CSS
晚会邀请函范文
2014/01/24 职场文书
违反工作纪律检讨书
2014/02/15 职场文书
个人贷款担保书
2014/04/01 职场文书
大学竞选班长演讲稿
2014/04/24 职场文书
2014卖家双十一活动策划书
2014/09/29 职场文书
2014年终工作总结范本
2014/12/15 职场文书
兼职安全员岗位职责
2015/02/15 职场文书
小学远程教育工作总结
2015/08/13 职场文书
教师法制教育培训学习心得体会
2016/01/14 职场文书