本文实例为大家分享了python实现自主查询实时天气的具体代码,供大家参考,具体内容如下 用到了urllib2 json 很简单的一个应用 如下 获取城市编号 #coding=utf-8 import urllib2 url1 = 'http://m.weather.com.cn/data3/city.xml' content1 = urllib2.urlopen(url1).read() provinces = content1.split(',') print content1 # 输出content1可以查看全部省份代码 result = '' url = 'http://m.w 在Python编程语言中,实现自主查询实时天气的功能通常涉及到网络请求和数据解析。在这个实例中,作者使用了`urllib2`库来发送HTTP请求获取天气数据,以及`json`库来解析返回的JSON格式的天气信息。以下是实现这一功能的关键步骤: 1. **获取城市编号**: 程序通过访问`http://m.weather.com.cn/data3/city.xml`获取全国省份及城市的编码。这个XML文件包含了中国各个省份和城市的ID,通过`urllib2.urlopen(url1).read()`读取其内容,并使用`split(',')`分割字符串以获取各个元素。 2. **遍历省份和城市**: 通过对省份和城市ID进行循环遍历,程序逐个获取每个城市和地区的编码。在获取城市ID时,使用类似`url2 = url % p_code`的方式构建新的URL,其中`url2`用于获取某个省份下的城市列表。 3. **获取地区编码**: 类似地,对于每个城市,再次构造URL(如`url3 = url % c_code`)获取地区代码。然后,对于每个地区,将其名称和代码存储起来,以便后续使用。 4. **组装地区代码**: 在某些情况下,地区代码可能需要特殊处理。例如,原始代码可能是5位数字,但需要调整为6位并在第4位插入0。这通过`temp.insert(4,0)`和`d_code = "".join(temp)`完成。 5. **写入文件**: 将所有城市和地区的名称及其对应的编码写入到名为`city`的文件中,便于后续查询。使用`f.write(result)`将结果写入文件,并在完成时关闭文件。 6. **查询天气**: 在`findweather`函数中,程序从已保存的`city`文件中读取城市代码,根据用户输入的城市名称查找相应的代码。如果找到匹配的代码,程序会使用`http://www.weather.com.cn/data/cityinfo/%s.html`的URL发送请求,其中 `%s` 被替换为城市代码。返回的内容是JSON格式,通过`json.loads(content)`进行解析。 7. **解析天气信息**: 解析后的数据包含一个名为`weatherinfo`的键,其值是一个字典,包含了天气、最高温度、最低温度等信息。程序使用这些信息打印出当前的天气状况。 通过这种方式,Python可以实现一个简单的实时天气查询系统。值得注意的是,这种方法可能受到网站结构改变或API更新的影响,因此在实际应用中,应确保定期检查和更新代码以适应可能的变化。此外,现在有许多第三方API提供天气查询服务,比如OpenWeatherMap、Weather Underground等,它们提供了更稳定的接口,而且可能包含更多天气参数,但可能需要注册并获取API密钥才能使用。





















- 粉丝: 4
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 破解科技成果转化困局:数智平台助力园区提质增效.docx
- 破局科技转化困局 新路径在何方?.docx
- 区域科技成果转化服务:打通创新链与产业链的关键枢纽.docx
- 区域科技成果转化服务:构建高效协同创新生态.docx
- 区域科技成果转化服务:构建高效创新生态的新路径.docx
- 区域科技成果转化服务:构建高效协同创新生态_1.docx
- 区域科技成果转化服务:构建协同创新生态的新范式.docx
- 区域科技成果转化服务:构建协同创新生态的新路径.docx
- 区域科技成果转化服务创新模式解析.docx
- 区域科技成果转化服务现状分析与模式创新路径研究.docx
- 区域科技成果转化服务新模式.docx
- 区域科技成果转化服务新模式:构建高效创新生态.docx
- 区域科技成果转化服务新模式探索.docx
- 区域科技成果转化服务新模式探索_1.docx
- 区域科技成果转化服务新模式探索与实践.docx
- 区域科技成果转化新路径.docx



评论0