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 相关文章推荐
使用grappelli为django admin后台添加模板
Nov 18 Python
python3将视频流保存为本地视频文件
Jun 20 Python
python实现坦克大战游戏 附详细注释
Mar 27 Python
Python学习笔记之抓取某只基金历史净值数据实战案例
Jun 03 Python
python格式化输出保留2位小数的实现方法
Jul 02 Python
Python 使用list和tuple+条件判断详解
Jul 30 Python
Django文件存储 自己定制存储系统解析
Aug 02 Python
在OpenCV里使用特征匹配和单映射变换的代码详解
Oct 23 Python
python操作yaml说明
Apr 08 Python
Python中内建模块collections如何使用
May 27 Python
python爬取代理IP并进行有效的IP测试实现
Oct 09 Python
Python实现Matplotlib,Seaborn动态数据图
May 06 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版 汉字转码的实现详解
2013/06/09 PHP
destoon实现商铺管理主页设置增加新菜单的方法
2014/06/26 PHP
php中FTP函数ftp_connect、ftp_login与ftp_chmod用法
2014/11/18 PHP
详解PHP安装mysql.so扩展的方法
2016/12/31 PHP
php解析mht文件转换成html的实例
2017/03/13 PHP
PHP递归实现汉诺塔问题的方法示例
2017/11/25 PHP
Jquery知识点二 jquery下对数组的操作
2011/01/15 Javascript
jQuery Ajax 实例全解析
2011/04/20 Javascript
js Array对象的扩展函数代码
2013/04/24 Javascript
jquery动态增加text元素以及删除文本内容实例代码
2013/07/01 Javascript
jQuery中wrapAll()方法用法实例
2015/01/16 Javascript
javascript中offset、client、scroll的属性总结
2015/08/13 Javascript
js实现获取两个日期之间所有日期的方法
2016/06/17 Javascript
AngularJS入门教程之REST和定制服务详解
2016/08/19 Javascript
ionic组件ion-tabs选项卡切换效果实例
2016/08/27 Javascript
js仿微博动态栏功能
2017/02/22 Javascript
解决OneThink中无法异步提交kindeditor文本框中修改后的内容方法
2017/05/05 Javascript
jQuery动态移除与增加onclick属性的方法详解
2018/06/07 jQuery
详解vue移动端项目代码拆分记录
2019/03/15 Javascript
关于vue状态过渡transition不起作用的原因解决
2019/04/09 Javascript
Vue开发Html5微信公众号的步骤
2019/04/11 Javascript
JS实现指定区域的全屏显示功能示例
2019/04/25 Javascript
[49:35]KG vs SECRET 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
一文秒懂python读写csv xml json文件各种骚操作
2019/07/04 Python
python requests包的request()函数中的参数-params和data的区别介绍
2020/05/05 Python
浅谈tensorflow中dataset.shuffle和dataset.batch dataset.repeat注意点
2020/06/08 Python
Python 通过爬虫实现GitHub网页的模拟登录的示例代码
2020/08/17 Python
html5构建触屏网站之touch事件介绍
2013/01/07 HTML / CSS
应届生骨科医生求职信
2013/10/31 职场文书
精彩广告词大全
2014/03/19 职场文书
服务标语大全
2014/06/18 职场文书
三八妇女节趣味活动方案
2014/08/23 职场文书
2014年预备党员端正入党动机思想汇报
2014/09/13 职场文书
实习工作表现评语
2014/12/31 职场文书
2016国庆节67周年寄语
2015/12/07 职场文书
如何书写先进事迹材料?
2019/07/02 职场文书