Python实现从百度API获取天气的方法
admin
2023-07-31 02:17:17
0

本文实例讲述了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程序设计有所帮助。

相关内容

热门资讯

500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
python查找阿姆斯特朗数 题目解释 如果一个n位正整数等于其各位数字的n次方之和,则称该数为阿姆斯特朗数。 例如1^3 + 5...
Apache Doris 2.... 亲爱的社区小伙伴们,我们很高兴地向大家宣布,Apache Doris 2.0.0 版本已于...