码迷,mamicode.com
首页 > 其他好文 > 详细

天气信息+迭代器

时间:2017-05-30 16:21:51      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:上海   encoding   .json   int   index   min   迭代器   网站   next   

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

 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

 

天气信息+迭代器

标签:上海   encoding   .json   int   index   min   迭代器   网站   next   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!