当前位置: 首页 > news >正文

嵊州门户网站/曲靖seo

嵊州门户网站,曲靖seo,著名网站设计师,网址导航该如何推广前言:近期刚入门Python,所以一段时间内发布的Python文章多以激发学习兴趣为主,不会有很高深的算法等等;我也会定期分享一些有意思的Python程序废话不多说,我们先来看一下最后的效果:这里可能有人就要问了&a…

前言:

近期刚入门Python,所以一段时间内发布的Python文章多以激发学习兴趣为主,不会有很高深的算法等等;我也会定期分享一些有意思的Python程序

废话不多说,我们先来看一下最后的效果:

04382ef0c5d658ee5dfe3eccdbd8cf0a.png
1842f4f13650730f65f36a23f5b4b860.png

这里可能有人就要问了,为什么不写GUI,当然是因为懒啦

fc54a93f5a6967295ea7ea3fa7c2265f.png

完成这个程序你需要:

Python的基础开发环境:这一点本文不赘述,网上的教程很多,本文的环境是python3.7;

pyinstall模块:使用pip下载,主要用来将你的python程序打包成Windows的可执行文件,这样在没有python环境的计算机上也可以使用;

requests模块:一般来说是自带的模块,没有的话就pip install;主要用于get对api的请求;

正文开始:

要想获取实时的天气数据,网上其实有很多的免费api可以使用,例如百度开放平台,和风,墨迹天气等等等;未来我会写一篇关于Python爬虫的文章,来教大家如何爬取网站上的实时天气;

这里因为写上一篇文章的时候已经注册了和风天气的开发者,本篇文章我们依然以和风的api为例:

如果不知道如何使用他的api,大家可以看一下我的上一篇文章,里面有详细介绍

(顺手点个关注呗≧◉◡◉≦)

首先我们导入requests模块,并get他的返回值打印出来:

import requests

place=input('请输入所在地点,可精确到区县:')

url='https://free-api.heweather.net/s6/weather/forecast?location='+place+'&key=#' #key就隐藏了,到时候大家填上自己的key就行

res=requests.get(url).json()

print(res)

然后就可以看到如下内容:

51df2f19f1a89b0f86b8126679327059.png

我们可以看和风的开发文档,了解一下这些字段都是代表什么意思

6cd69814bc05d71db1fb4ba21202843b.png
081be1241e2cf901b5d54a26fc3bbccd.png
0c623fe66f5b207b36c1115e76625db0.png

所以我们就可以提取我们想要的字段了:

首先我们要考虑到的一个状况是:如果我们一不小心输入了错误的地理位置信息怎么办,例如不存在的地方,打错了字等等,那么我们这里就要用到一个status的返回值,我们叫做接口状态,只有当请求的数据正确时,它才会返回一个值叫做‘ok’,所以我们可以在程序的开始加一个判断条件:

while status!='ok':

place = input('输入地点无法找到,请重新输入:')

url = 'https://free-api.heweather.net/s6/weather/forecast?location=' + place + '&key=#'

res = requests.get(url).json()

status = res['HeWeather6'][0]['status']

它的意思是,当状态返回不等于‘ok’时,开始循环,重新对place进行赋值,重新发送请求,重新定义接口状态

到这个时候我们就可以来慢慢提取我们想要的元素了:

#地区相关

admin_area=res['HeWeather6'][0]['basic']['admin_area'] #获取到的省级

city=res['HeWeather6'][0]['basic']['parent_city'] #获取到的市级

stay=res['HeWeather6'][0]['basic']['location'] #获取到的区县级

update=res['HeWeather6'][0]['update']['loc'] #获取数据的当日时间,精确到分钟

tz=res['HeWeather6'][0]['basic']['tz'] #当地的时区

#温度相关

tmp_max=res['HeWeather6'][0]['daily_forecast'][0]['tmp_max'] #当天最高气温

tmp_max_2=res['HeWeather6'][0]['daily_forecast'][1]['tmp_max'] #第二天最高气温

tmp_max_3=res['HeWeather6'][0]['daily_forecast'][2]['tmp_max'] #第三天最高气温

tmp_min=res['HeWeather6'][0]['daily_forecast'][0]['tmp_min'] #当天最低气温

tmp_m_2=res['HeWeather6'][0]['daily_forecast'][1]['tmp_min'] #第二天最低气温

tmp_min_3=res['HeWeather6'][0]['daily_forecast'][2]['tmp_min'] #第三天最低气温

#天气状况描述

cond_txt_d=res['HeWeather6'][0]['daily_forecast'][0]['cond_txt_d'] #当天日间天气状况描述

#降水概率

pop=res['HeWeather6'][0]['daily_forecast'][0]['pop'] #当天降水概率

最后就是我们要开始输出我们想要的信息了:

print('最近一次获取数据时间为:'+update+'您所在的地区为:'+admin_area+'省'+city+'市'+stay+'区(县)')

print('今天最高气温为:'+tmp_max+'度'+'最低气温为:'+tmp_min+'度')

print('天气状况为:'+cond_txt_d+'降水概率为'+pop+'%')

最后一个重点:

就是在程序的结尾一定要加上:

input('输入任意键退出')

这其实是一个小知识点;如果你在ide环境里面运行当然没问题,但是当编译成可执行程序后,计算机执行完所有语句之后就会闪退,这时候我们加入一个输入语句,使计算机能够停下来等待我们的输入,不会造成闪退的现象;

在写好程序之后,我们需要进入到该程序的目录中去,按住shift键点鼠标右键,打开Windows shell,使用pyinstaller进行编译,

fa71511a7623db584a5f59c59d0af520.png

其语法格式为:-F表示文件 -i表示程序图标,着这个例子里面我用了一个名字叫做222的ico图标

(记住,程序图标一定要是ico格式的)

然后当前目录会新增几个目录,大家在dist这个目录下就可以得到exe文件

0d2cf7a93c295f04db37ebbdd3512836.png

最后附上源码:

import requests

place=input('请输入所在地点,可精确到区县:')

url='https://free-api.heweather.net/s6/weather/forecast?location='+place+'&key=04e8effac2cf46ad9cfddd3e3330ae32'

res=requests.get(url).json()

print(res)

status=res['HeWeather6'][0]['status']

while status!='ok':

place = input('输入地点无法找到,请重新输入:')

url = 'https://free-api.heweather.net/s6/weather/forecast?location=' + place + '&key=04e8effac2cf46ad9cfddd3e3330ae32'

res = requests.get(url).json()

status = res['HeWeather6'][0]['status']

#地区相关

admin_area=res['HeWeather6'][0]['basic']['admin_area'] #获取到的省级

city=res['HeWeather6'][0]['basic']['parent_city'] #获取到的市级

stay=res['HeWeather6'][0]['basic']['location'] #获取到的区县级

update=res['HeWeather6'][0]['update']['loc'] #获取数据的当日时间,精确到分钟

tz=res['HeWeather6'][0]['basic']['tz'] #当地的时区

#温度相关

tmp_max=res['HeWeather6'][0]['daily_forecast'][0]['tmp_max'] #当天最高气温

tmp_max_2=res['HeWeather6'][0]['daily_forecast'][1]['tmp_max'] #第二天最高气温

tmp_max_3=res['HeWeather6'][0]['daily_forecast'][2]['tmp_max'] #第三天最高气温

tmp_min=res['HeWeather6'][0]['daily_forecast'][0]['tmp_min'] #当天最低气温

tmp_m_2=res['HeWeather6'][0]['daily_forecast'][1]['tmp_min'] #第二天最低气温

tmp_min_3=res['HeWeather6'][0]['daily_forecast'][2]['tmp_min'] #第三天最低气温

#天气状况描述

cond_txt_d=res['HeWeather6'][0]['daily_forecast'][0]['cond_txt_d'] #当天日间天气状况描述

pop=res['HeWeather6'][0]['daily_forecast'][0]['pop'] #当天降水概率

print('最近一次获取数据时间为:'+update+'您所在的地区为:'+admin_area+'省'+city+'市'+stay+'区(县)'+'时区是:东'+tz[1]+'区')

print('今天最高气温为:'+tmp_max+'度'+'最低气温为:'+tmp_min+'度')

print('天气状况为:'+cond_txt_d+'降水概率为'+pop+'%')

input('输入任意键退出')

http://www.jmfq.cn/news/5292217.html

相关文章:

  • 网站页面的滑动怎么做的/第一站长网
  • 独立网站做外贸/网站推广代理
  • 信息分类网站建设/宁波网站建设的公司
  • 优秀的国外设计网站/怎么制作小程序
  • 外贸网站建设公司服务/应用商店aso
  • 舟山网站建设有限公司/创新驱动发展战略
  • 做网站的专业叫什么/b2b外贸平台
  • 易语言做购物网站/数据分析软件哪个最好用
  • web网站如何做性能测试/东莞seo推广机构帖子
  • 做网站小程序源码/百度账号申诉中心
  • 如何请人做网站/链友之家
  • 网站后台更新后前台没有同步更新/沈阳百度快照优化公司
  • 中国建设银行国际互联网网站/百度搜索seo优化技巧
  • 怎么做免费网站被收录/掉发脱发严重是什么原因
  • 海珠区做网站的公司/点击器
  • 广州高端网站定制公司哪家好/建网站教学
  • info哪个网站续费便宜/注册推广赚钱一个40元
  • 可以做调查的网站/网站免费网站免费优化优化
  • 泊头哪里有做网站的/抖音关键词推广怎么做
  • 网站模板样式修改/网络营销有什么特点
  • 湖北做网站找谁/网址大全是ie浏览器吗
  • 不错的免费网站建设/竞价推广返点开户
  • 做企业云网站的企业邮箱/上海网站建设
  • 怎么查看网站外链/小程序如何推广运营
  • 网站界面可以做版权吗/百度关键词推广怎么收费
  • 深圳 旅游 网站建设/百度竞价广告收费标准
  • wordpress怎么恢复默然设置/网络优化基础知识
  • 信阳做网站公司汉狮价格/惠州seo关键字排名
  • 不用框架做网站/seo广告投放
  • 大连模板网站制作公司/最近的新闻热点时事