Python是如何查询天气的(1)
今天马哥教育要跟大家分享的文章是Python是如何查询天气的(1)?我们今天也是开始一个新的内容——查天气,当然今天不是直接告诉你怎么查天气,而是跟你简单说说,天气怎么查询,Python入门新手和正在Python学习的小伙伴快来看一看吧,希望能够对大家有所帮助 !
大家试着自己是否可以完成这个代码,挑战一下吧:
给大家看一个程序:
你输入一个城市的名称,就会告诉你这个城市现在的天气情况。接下来的几节课,我就说一下怎么实现这样一个小程序。
之所以能知道一个城市的天气,是因为用了中国天气网(www.weather.com.cn)提供的天气查询接口。在浏览器里试着访问一下:
http://www.weather.com.cn/data/cityinfo/101010100.html
你就能看到北京现在的天气。这段看上去有点像Python中字典类的文字是一种称作json格式的数据。
而我们的程序要做的事情,就是按照用户输入的城市名称,去天气网的接口请求对应的天气信息,再把结果展示给用户。
于是,在这个程序中,我们要用到两个新模块:
1. urllib2
用来发送网络请求,获取数据
2. json
用来解析获得的数据
听上去似乎还挺不算太复杂?但是注意刚才那个例子,我们请求北京天气时,用了“101010100”这样的数字。这是天气网设定的城市代码。然而令人蛋疼的是,天气网并没有直接给出所有城市代码的对应关系,而是给了3个接口:
1. http://m.weather.com.cn/data5/city.xml
获取所有省/直辖市的编号,如“01|北京,02|上海,03|天津”
2. http://m.weather.com.cn/data5/city省编号.xml
获取二级地区编号,如江苏是:city19.xml
3. http://m.weather.com.cn/data5/city二级编号.xml
获取三级编号,如南京是:city1901.xml
得到最终的三级编号之后,再加上中国101的前缀,就得到了城市代码,如南京市区就是“101190101”
所以,你可以选择,再写一个Python程序,事先把这些复杂的编码全部抓取下来,整理成你要的格式;或者,偷懒一下,跳过这个过程,直接拿我抓好的编码。我放在了网盘里:
http://pan.baidu.com/share/link?shareid=1471212773&uk=204484850
今天先卖个关子,不说具体的写法。想挑战的同学可以试试再我说之前就把这个程序搞定。
恭喜您在Python的道路上又坚持了一天,大家想想我们之前讲过的循环、文件存取、修改等,是不是可以试着写写呢?试着挑战一下自己,我在这里期待着大家的好成绩。
以上就是马哥教育今天为大家分享的关于Python是如何查询天气的(1)的文章,希望本篇文章能够对正在 Python学习 和从事Python相关工作的小伙伴们有所帮助,想要了解更多相关知识记得关注马哥教育官网。最后祝愿小伙伴们工作顺利!
声明:文章来源于网络,侵删!