前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Python 第43课】 查天气(1)

【Python 第43课】 查天气(1)

作者头像
Crossin先生
发布2018-04-16 13:26:11
7160
发布2018-04-16 13:26:11
举报

给大家看一个程序:

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

之所以能知道一个城市的天气,是因为用了中国天气网(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

今天先卖个关子,不说具体的写法。想挑战的同学可以试试再我说之前就把这个程序搞定。

面向零基础初学者的编程课

每天5分钟,轻松学编程

回复『 p 』查看课程目录

回复『 t 』查看习题列表

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2013-07-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Crossin的编程教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档