python 查询天气_Python是如何查询天气的(1)

本文介绍了如何使用Python查询天气,重点讲解了利用中国天气网的接口获取城市天气信息的过程,包括城市代码的获取和使用urllib2及json模块处理数据。作者提出通过解析不同层级的XML文件获取城市代码,或者直接使用已抓取好的编码数据,并鼓励读者尝试自己实现该程序。
摘要由CSDN通过智能技术生成

今天马哥教育要跟大家分享的文章是Python是如何查询天气的(1)?我们今天也是开始一个新的内容——查天气,当然今天不是直接告诉你怎么查天气,而是跟你简单说说,天气怎么查询,

大家试着自己是否可以完成这个代码,挑战一下吧:

给大家看一个程序:

9f0e197f48ead22a65bbaa00ce09b912.png

你输入一个城市的名称,就会告诉你这个城市现在的天气情况。接下来的几节课,我就说一下怎么实现这样一个小程序。

之所以能知道一个城市的天气,是因为用了中国天气网(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相关工作的小伙伴们有所帮助,想要了解更多相关知识记得关注马哥教育官网。最后祝愿小伙伴们工作顺利!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值