下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

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

作者:在线学习平台     来源: www.kokojia.com点击数:966发布时间: 2014-09-29 09:45:41

标签: 在线学习技能培训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
 
文章来源于Crossin,由课课家在线学习平台整理,转载请注明。
赞(13)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程