python通过调用百度天气API接口获取天气信息
python调用百度接口,获取天气信息
需要到百度注册开发者账号,通过账号获取到每个账号私有的应用访问(AK)
使用此脚本还需要district_id.csv文档,在我资源中可以免费下载,也可在百度天气API接口文档处下载进行下载。
# -*- coding: utf-8 -*-
# author: herman_tang
import requests
import re
import json
import csv
import sys
import osAPIkey = 'eiaOYEz8eO9MpU3wKaz0WDA64xaGu2FU'
city = input("请输入要查询的城市名: ")
file1 = r'E:\python文件\tang01\district_id.csv'def is_chinese():count1 = len(city)count =0while count < count1:if '\u4e00' <= city[count] <= '\u9fff':number = 'True'else:number = 'False'breakcount += 1return numberdef distr_id(): with open(file1, 'r', encoding='utf-8') as filea:lines = csv.reader(filea)for i in lines:if i[5] == city:district_id = i[1]return district_iddef get_info(data_type: str ='all'):"""这里传递的产生来data_type一共以下几种类型:1、all 所有信息2、now 实时数据3、alert 气象预警4、index 生活指数5、fc 预报数据6、fc_hour 未来24小时小时预报(高级字段)默认为all,返回所有的信息"""try: district_id = distr_id()except:return "您输入的城市名{}不正确,请重新输入..........".format(city)url = "http://api.map.baidu.com/weather/v1/?district_id={}&data_type={}&output=json&ak={}".format(district_id, data_type, APIkey)payload = {}headers = {'Cookie': 'BAIDUID=F47B1A43BB52CB5876036267ABD4EEC7:FG=1',"Content-Type": "application/json"}response = requests.request("GET", url, headers=headers, data = payload)info = json.dumps(json.loads(response.text), ensure_ascii=False)weather_info = eval(info)return weather_infodef P_info():'''这里是调用get_info函数,解析获取到的信息,将信息进行转换'''weather_info = get_info()['result']now = weather_info['now']futrue = weather_info['forecasts']country = weather_info['location']['country']province = weather_info['location']['province']city = weather_info['location']['city']county = weather_info['location']['name']text = now['text']temp = now['temp'] feels_like = now['feels_like']rh = now['rh']wind_class = now['wind_class']wind_dir = now['wind_dir']#now = '实时数据:''''这里是获取当天天气信息'''if county == city[:-1]: print ('您要查询天气的位置为: {}{}{}市'.format(country, province, county))else:print ('您要查询天气的位置为: {}{}{}{}市'.format(country, province, city, county))text_info = ['当前天气为:{}'.format(text),'当前为气温: {}摄氏度'.format(temp), '当前湿度为: {}'.format(rh), '当前体感温度为: {}'.format(feels_like), '当前风向为: {}'.format(wind_dir), '当前风力为: {}级'.format(wind_class)]for i in text_info:print (i)"""下面是解析未来几天的天气信息"""for i in futrue:text_day = i['text_day']text_night = i['text_night']high = i['high']low = i['low']wc_day = i['wc_day']wd_day = i['wd_day']wc_night = i['wc_night']wd_night = i['wd_night']date = i['date']week = i['week']futrue_info = ['日期:{}'.format(date), week, '白天天气: {}'.format(text_day), '晚上天气: {}'.format(text_night), '最高气温: {}摄氏度'.format(high),'最低气温: {}摄氏度'.format(low), '白天风力: {}'.format(wc_day), '白天风向: {}'.format(wd_day), '晚上风力: {}'.format(wc_night), '晚上风向: {}'.format(wd_night)]for i in futrue_info:print (i)return "我喜欢紧紧抱住你的那一刻,就像得到了全世界!"def select():zh = is_chinese() if zh == 'True': try: return P_info()except:return "NameError: 您输入的城市名字有误......."else:return 'NaMeError: 请输入中文名.............'
if __name__ == "__main__":s1 =select()print (s1)#P_info()
python通过调用百度天气API接口获取天气信息相关推荐
- Python3调用百度地图API接口获取结构化地址
在实际应用中,我们也许会有这样的需求,输入一个地名,就能够知道这个地方的准确地址.例如输入"清华大学",我们就可以知道清华大学在北京的哪个区哪条道路.正好百度地图开放平台服务提供了 ...
- php 百度地图api获取经纬度,调用百度地图API接口获取地铁站的经纬度信息
今天我们来看一下,如何通过百地图API来获取地点的经纬度.首先百度地图提供了强大的API接口,我们可以通过调用它来实现目的.这是网址:https://lbsyun.baidu.com/.首先想要调用A ...
- 用JS通过新浪天气API接口获取天气
先上代码 从代码中可以看到js是从http://php.weather.sina.com.cn/iframe/index/w_cl.php?code=js&day=0&city=&am ...
- 和风天气API接口获取天气数据 android端
1. 在和风天气官网注册账号 , 然后申请一个key , 注意类型一定要是android sdk , 这个key只能在指定包名里面的SDK使用 , 用浏览器会返回错误 !!! 2. 下载和风天气的SD ...
- 调用百度地图API接口制作热力图
调用百度地图API接口制作热力图 Python学了很久,也做了一些机器学习的demo,利用matolotlib库做过一些可视化.今天呢想尝试做一下热力图.先PO一张我最终效果图. 因为数据原因,效果一 ...
- 【2019-07-23】]python3 把日语翻译为中文 调用百度翻译API接口及API申请使用教程
点击申请百度翻译API,得到一个你自己的API账户. 点击查看申请教程,感谢教程原作者. API官网提供了一个python2的使用接口的demo还有详细的解释文档 想用python3完成,代码几乎照搬 ...
- 百度地图AK申请注意+百度地图API生成热力图+调用百度地图API自动获取经纬度和地址
文章目录 一.百度地图AK密钥申请 二.调用百度地图API生成热力图 三.调用百度地图API自动获取经纬度和地址 一.百度地图AK密钥申请 点击百度地图API控制台,输入登录账户,即可进入,若账户未完 ...
- 前端js调用百度翻译api接口
目录 1.到百度翻译开放平台注册自己的账号 2.编辑html代码,设计一个简易的页面 3.远程调用百度翻译api 4.完整代码 5.测试 到百度翻译开放平台注册自己的账号 (1)进入网页:开放平台官网 ...
- python百度翻译api申请网页版_python3调用百度翻译api接口实现全过程
现在很都平台的翻译api接口都开始收费了,比如谷歌.微软.yandex等等,注册非常麻烦,而且要钱,目前就百度还剩下一个最基础的翻译api不需要钱,今天我要和大家分享的是怎样使用python3调用百度 ...
最新文章
- Zabbix监控网络设备日志文件及字段报警
- 利用Eclipse开发Linux驱动
- couchdb 垂直权限绕过漏洞(cve-2017-12635)
- python自学步骤-Python入门深度学习完整指南
- C语言 | C语言中的输出函数:printf()
- win10 后台运行jar包_win10系统设置双击jar文件直接运行的处理教程
- office数据集dslr_如何将照片从DSLR无线传输到智能手机
- 【经典回放】多种语言系列数据结构算法:二叉树(JavaScript版)
- pycharm运行模型时怎么设置权重?_使用AMP和Tensor Cores得到更快速,更节省内存的PyTorch模型...
- springcloud灰度发布实现方案
- python默认采用什么字符编码_Python01.2.字符编码-输入输出
- java geoprocessor_ArcGIS GeoEvent Processor for Server 安裝與配置 (僅適用於壓縮安裝包)...
- Android 性能优化——之控件的优化
- c8网络语言意思,求一些比较经典的网络用语
- 接口测试用例设计的方法
- 原创视频 | 我可以自学编程吗?解答新手学编程的疑惑!
- 微信公众号主体已注销 如何办理账号迁移和公证书?
- 美团饿了么外卖CPS联盟小程序(新增H5端)花小猪,滴滴大车,一键获取Path
- ns3 Traffic Control Layer解读
- 什么是多媒体应用开发?