首页 > 其他 > 详细

天气信息+迭代器

时间:2017-05-30 14:36:54      阅读:285      评论:0      收藏:0      [点我收藏+]

从网址中抓取城市的天气信息,实现可迭代对象和迭代器对象,从而方便的进行一组城市的天气信息查询

 1 # encoding=utf-8
 2 import requests
 3 # *************************************************************************************
 4 # 实现从网站中抓取天气信息
 5 # def getWeather(city):
 6 #     r = requests.get(u‘http://wthrcdn.etouch.cn/weather_mini?city=‘ + city)
 7 #     data = r.json()[‘data‘][‘forecast‘][0]
 8 #     return ‘%s:%s,%s‘ % (city,data[‘low‘],data[‘high‘])
 9 
10  # print getWeather(u‘北京‘)
11  # print getWeather(u‘沈阳‘)
12 # ***************************************************************************************
13 from collections import Iterable,Iterator
14 
15 class WeatherIterator(Iterator):
16     def __init__(self,cities):
17         self.cities = cities
18         self.index = 0
19     
20     def getWeather(self,city):
21         r = requests.get(uhttp://wthrcdn.etouch.cn/weather_mini?city= + city)
22         data = r.json()[data][forecast][0]
23         return %s:%s,%s % (city,data[low],data[high])
24     
25     def next(self):
26         if self.index == len(self.cities):
27             raise StopIteration
28         city = self.cities[self.index]
29         self.index += 1
30         return self.getWeather(city)
31         
32 class WeatherIterable(Iterable):
33     def __init__(self,cities):
34         self.cities = cities
35     
36     def __iter__(self):
37         return WeatherIterator(self.cities)
38         
39         
40         
41 for x in WeatherIterable([u北京,u上海,u沈阳,u郑州]):
42         print x

 

天气信息+迭代器

原文:http://www.cnblogs.com/banshaohuan/p/6919885.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!