设为首页 收藏本站
查看: 1137|回复: 0

Linux-shell获取天气

[复制链接]

尚未签到

发表于 2018-8-29 13:46:41 | 显示全部楼层 |阅读模式
  用Linux中的shell获取天气,本来觉的比较难,原来,真简单,个位数的代码就搞定。
  1获取对应城市天气
  所有天气信息都从中国天气网获取。每一个城市多会对应一个id(比如,北京为101010100,因为本人在银川,所以例子中就用银川的id:101170101),通过id就可以获取对应城市实时天气或者全天天气,还可以获取七天天气。
  1.1shell脚本
  shell脚本代码如下:
#!/bin/sh   weatherDateRoot=http://www.weather.com.cn/data/sk/101170101.html  weatherweatherDataFile=weather.html  wget $weatherDateRoot -O $weatherDataFile > /dev/null 2>&1   sed 's/.*temp":"\([0-9]\{1,2\}\).*/\1/g' $weatherDataFile  此脚本通过将天气信息获取,然后通过正则匹配到当前温度。
  如果你只用这个脚本,不再进行二次处理,那也太麻烦。我获取天气信息后是显示到终端命令提示符中的,所以需要还要在做处理。
  2终端命令提示符中显示天气
  首先获取对应城市天气,如银川对应的实时天气信息在:
  http://www.weather.com.cn/data/sk/101170101.html
  你先在中国天气网搜索到你想要的城市的天气,网址中会包含城市天气id,将上面的网址中的id替换成你城市的id就可以获取。
  还有全天天气信息:
  http://www.weather.com.cn/data/cityinfo/101170101.html
  不知道中国天气网提供七天天气信息没有?如果有,那么我们也可以通过此方法获取七天天气信息。
  2.1获取天气信息
  对应shell脚本:
#!/bin/sh  allDataUrl=http://www.weather.com.cn/data/cityinfo/101170101.html  allDataFile=/home/snowsolf/shell/weather/allDay.html  dataUrl=http://www.weather.com.cn/data/sk/101170101.html  dataFile=/home/snowsolf/shell/weather/weather.html  wget $dataUrl -O $dataFile > /dev/null 2>&1  wget $allDataUrl -O $allDataFile > /dev/null 2>&1  2.2定时获取
  通过crontab命令设置定时任务,执行crontab -e命令(如果第一次需要设置默认编辑器),然后在文件末尾添加:
*/30 * * * * /home/snowsolf/shell/weather/weather.sh >> /dev/null  此行代码设置每30分钟执行一次获取天气的脚本,具体crontab命令其它语法可以google或baidu。
  2.3提取天气
sed 's/.*temp":"\([0-9]\{1,2\}\).*/\1/g'  此命令可以从获取的实时天气文件中获取实时天气。
  2.4终端命令提示符中显示
  你可以参考http://www.cnblogs.com/snowsolf/p/3192224.html。这里可以让你的命令提示符更绚丽。
  最后上一幅我的命令提示符图:
DSC0000.jpg

  简直酷毙了!!!做一个爱折腾的程序员真好!
  原文链接:http://www.cnblogs.com/snowsolf/p/shell_get_weather.html



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-558237-1-1.html 上篇帖子: sort --去重记录--shell笔记 下篇帖子: SHELL中的IF判断 ​
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表