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中的多线程编程
Apr 09 Python
Python获取邮件地址的方法
Jul 10 Python
在Django中使用Sitemap的方法讲解
Jul 22 Python
Python出现segfault错误解决方法
Apr 16 Python
浅析Python中yield关键词的作用与用法
Nov 29 Python
对Python捕获控制台输出流的方法详解
Jan 07 Python
centos6.5安装python3.7.1之后无法使用pip的解决方案
Feb 14 Python
简单了解python反射机制的一些知识
Jul 13 Python
python 并发下载器实现方法示例
Nov 22 Python
关于Tensorflow使用CPU报错的解决方式
Feb 05 Python
python简单实现9宫格图片实例
Sep 03 Python
Python+Tkinter打造签名设计工具
Apr 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
discuz authcode 经典php加密解密函数解析
2020/07/12 PHP
详解PHP中的Traits
2015/07/29 PHP
目前流行的JavaScript库的介绍及对比
2013/09/29 Javascript
JS判断文本框内容改变事件的简单实例
2014/03/07 Javascript
JavaScript实现简单获取当前网页网址的方法
2015/11/09 Javascript
JavaScript File API文件上传预览
2016/02/02 Javascript
JS实现定时任务每隔N秒请求后台setInterval定时和ajax请求问题
2017/10/15 Javascript
React中嵌套组件与被嵌套组件的通信过程
2018/07/11 Javascript
layui 表格的属性的显示转换方法
2018/08/14 Javascript
es6基础学习之解构赋值
2018/12/10 Javascript
从0到1构建vueSSR项目之路由的构建
2019/03/07 Javascript
Vue 2.0双向绑定原理的实现方法
2019/10/23 Javascript
微信小程序学习总结(一)项目创建与目录结构分析
2020/06/04 Javascript
NodeJS和浏览器中this关键字的不同之处
2021/03/03 NodeJs
[03:17]DOTA2英雄基础教程 剧毒术士
2013/12/12 DOTA
python模拟登录百度代码分享(获取百度贴吧等级)
2013/12/27 Python
python3爬取淘宝信息代码分析
2018/02/10 Python
利用numpy和pandas处理csv文件中的时间方法
2018/04/19 Python
如何利用python查找电脑文件
2018/04/27 Python
python复制列表时[:]和[::]之间有什么区别
2018/10/16 Python
python实现顺时针打印矩阵
2019/03/02 Python
python plotly画柱状图代码实例
2019/12/13 Python
简单介绍一下pyinstaller打包以及安全性的实现
2020/06/02 Python
印尼最大的婴儿用品购物网站:Orami
2017/09/28 全球购物
函数指针的定义是什么
2016/08/14 面试题
下述程序的作用是计算机数组中的最大元素值及其下标
2012/11/26 面试题
好的自荐信包括什么内容
2013/11/07 职场文书
货物运输服务质量承诺书
2014/05/29 职场文书
考研英语复习计划
2015/01/19 职场文书
佛光寺导游词
2015/02/10 职场文书
2015年组织部工作总结
2015/04/03 职场文书
2016年社区文体活动总结
2016/04/06 职场文书
将图片保存到mysql数据库并展示在前端页面的实现代码
2021/05/02 MySQL
Python Pandas模块实现数据的统计分析的方法
2021/06/24 Python
草系十大最强宝可梦,纸片人上榜,榜首大家最熟悉
2022/03/18 日漫
讲解Python实例练习逆序输出字符串
2022/05/06 Python