【Python 第43课】查天气(1)


给大家看一个程序:

 

 

你输入一个城市的名称,就会告诉你这个城市现在的天气情况。接下来的几节课,我就说一下怎么实现这样一个小程序。

 

之所以能知道一个城市的天气,是因为用了这样一个天气查询接口:

http://wthrcdn.etouch.cn/weather_mini?city=北京

此接口可以返回 city 对应城市昨日天气及5天内的天气预报,包括气温、指数、空气质量、风力等。

试着在浏览器里访问一下该网址,你会看到一组文字,这就是我们要的数据。(根据各人浏览器设置的不同,这里通常会看到中文是乱码,有的还会自动下载成文件。这些都没关系,不影响我们后面的代码操作,这里只是在写代码之前对我们要抓取的数据进行观察)

这组看上去有点像python中字典类型的文字,是一种称作json格式的数据,它也确实很容易被程序转化成字典类型。

而我们要做的事情,就是按照用户输入的城市名称,去这个接口请求对应的天气信息,再把结果展示给用户。

 

于是,在这个程序中,我们要用到一个新模块:

requests

用来发送网络请求,获取数据

 

听上去似乎还挺不算太复杂?这是因为 requests 库帮我们做了很多原本需要我们完成的事情,包括gzip压缩、字符编码、json的自动处理。如果用Python自带的urllib.request库,工作量就会增加很多。

 

今天先卖个关子,不说具体的写法。想挑战的同学可以试试在我说之前就把这个程序搞定。

来源:Crossin的编程教室