5 Get the city weather
The development of preparation
- 1. First, ensure the integrity of the current firmware dependency package
help(“modules”)
- The effect is shown below. If you do not have two dependency packages on the diagram, please burn the latest firmware.
- Make sure you're connected to the Internet. if not , please see 2 WiFI wireless connection
Prepare the weather API
- 1 I'm using the national weather service API here, http://www.weather.com.cn/data/cityinfo/101200801.html # 101200801 (In jingzhou city),See details of city ids:http://mobile.weather.com.cn/js/citylist.xml
- 2. Request to return Json data sample
{ "weatherinfo": { "city": "荆州", "cityid": "101200801", "img1": "n7.gif", "img2": "d2.gif", "ptime": "18:00", "temp1": "16℃", "temp2": "23℃", "weather": "小雨转阴" } }
We can analyze these json files and write an example like this
example analyse
import urequests from microbit import * def get_weather(): url = "http://www.weather.com.cn/data/cityinfo/101200801.html" rsp = urequests.get(url) data = eval(rsp.text) # eval函数用于把字符串类型的json数据->转为python的字典类型 weather = data["weatherinfo"] L = weather["temp1"] #最低温 H = weather["temp2"] #最高温 return "L:" + L[:-1] + " H:" + H[:-1] # 数据样例-> L:16 H:23 display.scroll(get_weather()) # L[:-1] H[:-1]去掉℃和℉两个特殊符号,否则会出现编码错误