天气信息+迭代器

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

 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(u‘http://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
时间: 2024-11-13 08:05:14

天气信息+迭代器的相关文章

raspberry pi 自动发布天气信息到QQ空间/微博

raspberry pi 自动发布天气信息到QQ空间/微博 参考链接: https://aoaoao.me/951.html/comment-page-1 http://www.ipip5.com/today/api.php?type=json 说明: 天气信息来自于百度地图API,历史上的今天来自于网络API(见上). 准备工作: 安装python(没有的,自行下载安装) 安装requests: git clone git://github.com/kennethreitz/requests.

C#调用WebService获取天气信息

概述 本文使用C#开发Winform应用程序,通过调用<WebXml/>(URL:http://www.webxml.com.cn)的WebService服务WeatherWS来获取天气预报数据.本程序所使用的Web服务的URL为:http://ws.webxml.com.cn/WebServices/WeatherWS.asmx,此服务为“2400多个城市天气预报Web服务”. 开发环境说明: 系统平台:Windows 7(32bit): 开发工具:VS2010: 实现过程 本程序通过“添加

利用json获取天气信息

天气预报信息获取是利用json获取的,网上有非常多资源,源码.因为上面涉及到非常多天气信息,包含湿度,出行建议等,以及加入了全部城市代码的资源包.为了练手了解json的原理.我仅获取诚笃城市的最高温,最低温,城市名字. 我的布局是通过一个button获取城市名字,最高温,最低温.main.xnl代码例如以下 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo

android应用开发-从设计到实现 3-7 静态原型的更多天气信息

静态原型的更多天气信息 天气的更多信息,是通过列表的形式展现的. 参数设计 列表项的高度在Material Design中,被定义成了48dp:并且整个list的顶部还有8dp的边距. 列表项由3部分组成, 图标: 项目 数值 大小 24dp 左边距 16dp 位置 垂直居中 颜色 000000 透明度 54% * 项目名称: 项目 数值 字体 Noto 字形 Regular 大小 16sp 颜色 000000 透明度 87% 左边距 72dp 位置 垂直居中 * 项目取值(参考): 项目 数值

Android——使用Volley+fastJson在新线程中读取网络接口获取天气信息

一,关于Volley 其实最初对于网络数据的访问,我是没想到要用框架的,使用HttpURLConnection或者HttpGet or HttpPost都可以实现.但是why? why I have to use Volley?   Before Volley: class HttpURLConnection_post extends Thread{ @Override public void run() { //设置请求的路径 String strUrl="http://api.qingyun

Python实战-天气预报项目-获取天气信息

天气预报首先需要的就是天气信息,可以从中国天气网的Wap网站上获取,因为Wap网站页面简单,便于抓取内容.网址是:http://wap.weather.com.cn/wap/,默认是北京的天气预报,可以更换城市.某城市的天气预报对应的网址是http://wap.weather.com.cn/wap/weather/city_code.shtml,其中city_code是城市代码.以南京市为例,南京的城市代码是101190101,所以对应的天气预报网址就是http://wap.weather.co

php定位并且获取天气信息

1 header("Content-type: text/html; charset=utf-8"); 2 class getWeather{ 3 private $ak; 4 5 public function __construct($ak){ 6 if($ak){ 7 $this->ak=$ak; 8 } else { 9 die('参数错误');exit; 10 } 11 12 } 13 14 /** 15 * 获取城市名称 16 * @param string $ip

用百度SDK获取地理位置和天气信息

下面实现通过百度SDK获取地理位置和天气信息,请参考百度开发文档 1. 在相关下载最新的库文件.将so文件的压缩文件解压出来,把对应架构下的so文件放入开发者自己APP的对应架构下的文件夹中,建议全部放入, 程序兼容性会大大提升,将locSDK_5.X.jar文件拷贝到工程的libs目录下,这样您就可以在程序中使用百度定位SDK了. 2. 设置AndroidManifest.xml 在application标签中声明service组件,每个app拥有自己单独的定位service <service

python 学习笔记 12 -- 写一个脚本获取城市天气信息

最近在玩树莓派,前面写过一篇在树莓派上使用1602液晶显示屏,那么能够显示后最重要的就是显示什么的问题了.最容易想到的就是显示时间啊,CPU利用率啊,IP地址之类的.那么我觉得呢,如果能够显示当前时间.温度也是甚好的,作为一个桌面小时钟还是很精致的. 1. 目前有哪些工具 目前比较好用的应该是 weather-util, 之前我获取天气信息一般都是通过它. 使用起来也很简单: (1) Debian/Ubuntu 用户使用 sudo apt-get install weather-util 安装