博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【02】天气查询应用(第二课)
阅读量:6799 次
发布时间:2019-06-26

本文共 1320 字,大约阅读时间需要 4 分钟。

根据第一课学习我们可以编写脚本获取城市代码了

(获得的编码格式未转换,要做具体的应用必须转化得到的字符串,或者直接抓取各个省市的代号储存到文件中,这样不需要每次都抓取网页,提高效率)

第一步:

获取省及直辖市代码:

1 import urllib22 3 url1='http://m.weather.com.cn/data5/city.xml'4 content1 = urllib2.urlopen(url1).read()5 provinces = content1.spilt(',')

我们可以用print输出content1中的内容:

01|北京,02|上海,03|天津,04|重庆,05|黑龙江,06|吉林,07|辽宁,08|内蒙古,09|河北,10|山西,11|陕西,12|山东,13|新疆,14|西藏,15|青海,16|甘肃,17|宁夏,18|河南,19|江苏,20|湖北,21|浙江,22|安徽,23|福建,24|江西,25|湖南,26|贵州,27|四川,28|广东,29|云南,30|广西,31|海南,32|香港,33|澳门,34|台湾

 

第二步:根据用户输入的省或者直辖市获取各个城市编号:

  若用户输入山西查得编号10

1 import urllib2 province = 103 url = "http://m.weather.com.cn/data3/city%s.xml" % province4 content = urllib2.urlopen(url).read()

print content可以看到content的内容:

1001|太原,1002|大同,1003|阳泉,1004|晋中,1005|长治,1006|晋城,1007|临汾,1008|运城,1009|朔州,1010|忻州,1011|吕梁

第三步:获得城市二级代码,例如大同为1002;

import urllib2city = 1002url = "http://m.weather.com.cn/data3/city%s.xml" % citycontent = urllib2.urlopen(url).read()

print content看看他的内容吧(这个就是三级编码):

100201|大同,100202|阳高,100203|大同县,100204|天镇,100205|广灵,100206|灵邱,100207|浑源,100208|左云

第四步:获取完整编号;

例如阳高:100202

1 import urllib22 city = 1002023 url = "http://m.weather.com.cn/data3/city%s.xml" % city4 content = urllib2.urlopen(url).read()

print content:

输出:100202|101100202,101100202就是这个地区的具体代码了。

其实在获得的三级编码前面加上101就是具体代码了,第四步可以省略。

 

转载于:https://www.cnblogs.com/premier/p/3648903.html

你可能感兴趣的文章
IDE下的MapReduce开发
查看>>
JAVA IO源码学习系列一(InputStream)
查看>>
Mysql 配置的工作原理
查看>>
JS PopUnder 原理研究:初探
查看>>
前端面试回顾(3)---事件绑定及相关兼容性问题
查看>>
深入认识vue-cli:能做的不仅仅是初始化vue工程
查看>>
在 APICloud 项目中使用 Webpack
查看>>
CSS 中的行
查看>>
调试Go语言的核心转储(Core Dumps)
查看>>
[译]HTML&CSS Lesson4: 盒子模型
查看>>
手机移动端 用 rem 作单位时要注意的问题
查看>>
安卓新建项目 - 收藏集 - 掘金
查看>>
js基础 数组与字符串
查看>>
node异常总结
查看>>
Google Maglev 牛逼的网络负载均衡器
查看>>
商品区域goods.vue
查看>>
手把手教你封装网络层
查看>>
软件架构模式
查看>>
20170605-函数的arguments
查看>>
Angular 4.x FAQ
查看>>