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 相关文章推荐
videocapture库制作python视频高速传输程序
Dec 23 Python
python实现rest请求api示例
Apr 22 Python
Python 列表排序方法reverse、sort、sorted详解
Jan 22 Python
bat和python批量重命名文件的实现代码
May 19 Python
详解利用django中间件django.middleware.csrf.CsrfViewMiddleware防止csrf攻击
Oct 09 Python
python 在指定范围内随机生成不重复的n个数实例
Jan 28 Python
对python:threading.Thread类的使用方法详解
Jan 31 Python
Python 使用 attrs 和 cattrs 实现面向对象编程的实践
Jun 12 Python
python3实现二叉树的遍历与递归算法解析(小结)
Jul 03 Python
Python高阶函数、常用内置函数用法实例分析
Dec 26 Python
Python变量及数据类型用法原理汇总
Aug 06 Python
python 实现客户端与服务端的通信
Dec 23 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
《魔兽争霸3:重制版》更新 多项视觉效果调整
2020/05/04 魔兽争霸
php discuz 主题表和回帖表的设计
2009/03/13 PHP
使用php检测用户当前使用的浏览器是否为IE浏览器
2013/12/03 PHP
php使用post数组的键值创建同名变量并赋值的方法
2015/04/03 PHP
thinkphp实现分页显示功能
2016/12/03 PHP
通过jquery还原含有rowspan、colspan的table的实现方法
2012/02/10 Javascript
jquery 表格的增行删行实现思路
2013/03/21 Javascript
javascript中全局对象的parseInt()方法使用介绍
2013/12/19 Javascript
jquery中html、val与text三者属性取值的联系与区别介绍
2013/12/29 Javascript
Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例
2015/01/01 NodeJs
js生成验证码并直接在前端判断
2015/05/15 Javascript
JS实现的论坛Ajax打分效果完整实例
2015/10/31 Javascript
Vue.js双向绑定实现原理详解
2016/12/22 Javascript
jQuery Ajax 实现在html页面实时显示用户登录状态
2016/12/30 Javascript
JS实现动态生成html table表格的方法分析
2018/07/11 Javascript
解决vuejs 使用value in list 循环遍历数组出现警告的问题
2018/09/26 Javascript
详解Vue之父子组件传值
2019/04/01 Javascript
一则python3的简单爬虫代码
2014/05/26 Python
python shell根据ip获取主机名代码示例
2017/11/25 Python
使用 Python 实现文件递归遍历的三种方式
2018/07/18 Python
美国糖果店:Sugarfina
2019/02/21 全球购物
Spongelle官网:美国的创意护肤洗护品牌
2019/05/15 全球购物
Currentbody澳大利亚:美容仪专家
2019/11/11 全球购物
英国自行车商店:AW Cycles
2021/02/24 全球购物
C语言开发工程师测试题
2016/12/20 面试题
承认错误的检讨书
2014/01/30 职场文书
读书活动总结范文
2014/04/26 职场文书
物业品质提升方案
2014/06/08 职场文书
先进基层党组织材料
2014/12/25 职场文书
大学生自荐材料范文
2014/12/30 职场文书
初中毕业生感言
2015/07/31 职场文书
朋友聚会祝酒词
2015/08/10 职场文书
团支部组织委员竞选稿
2015/11/21 职场文书
申论不会写怎么办?教您掌握这6点思维和原则
2019/07/17 职场文书
关于使用Redisson订阅数问题
2022/01/18 Redis
vue实现滑动解锁功能
2022/03/03 Vue.js