中文字幕精品无码一区二区,成全视频在线播放观看方法,大伊人青草狠狠久久,亚洲一区影音先锋色资源

第2單元第5課 查詢天氣——requests庫和json模塊的應用 課件40張PPT+教案

資源下載
  1. 二一教育資源

第2單元第5課 查詢天氣——requests庫和json模塊的應用 課件40張PPT+教案

資源簡介

(共40張PPT)
第 5 課 查詢天氣
——requests 庫和 json模塊的應用
廣東高等教育出版 第八冊下
新知導入
圖 2-5-1 天氣預報
新知講解
天氣預報對人們的生活、生產和學習等各種社會活動都有著重要意義,我們出門旅行需要根據天氣預報情況提前做好穿著準備。
互聯網上有大量的天氣數據,如何編寫從中查詢所需的數據呢?



新知講解


我們可以通過哪些渠道查詢天氣?查詢天氣時,你主要關注哪些指標?
我們可以通過電視、手機、報紙、上網查詢等途徑查詢天氣;關注溫度、濕度、風力、風向太陽照射強度等
新知講解
一、分析問題

本課的任務是編寫程序查詢制定城市的天氣情況。程序要解決的關鍵問題:一是如何到指定的天氣網站獲取數據;二是如何篩選出需要的天氣數據,并按日常習慣表達出來。
新知講解

要解決以上問題,在程序中需要利用以下兩個庫(模塊)
(1)利用requests庫向氣象網站發送請求,獲取天氣數據
(2)利用json模塊將獲取的天氣數據轉換成便于Python處理的數據格式
新知講解
本課我們利用中華萬年歷網站提供的天氣預報API接口獲取數據。例如,通過該接口獲取北京的天氣數據如下:
http://wthrcdn.etouch.cn/weather_min?city=北京
新知講解

上網了解有哪些網站提供API數據接口:


百度百科:http://baike.baidu.com/api/openapi/BaikeLemmaCardApi?scope=103&format=json&appid=379020&bk_key=關鍵字&bk_length=600
氣象局:
http://m.weather.com.cn/data/101010100.html
愛奇藝:http://cache.video.iqiyi.com/jp/avlist/202861101/1/?callback=jsonp9

新知講解
二、學習新知
利用requests庫能向網頁發送請求,從而獲取數據。 requests庫屬于擴展庫需要先安裝才能使用。在DSO方式中安裝requests庫的命令為:

在Python中導入該庫的命令為:

(一)requests庫
pip install requests
import requests
新知講解
requests 庫獲取的數據對象包含多個屬性,分別表示網頁不同的信息。
例如,向Python官網發送請求,并打印多項頁面信息的代碼如下:
新知講解
#getpython.py
import requests
#使用requests庫的get函數向指定網址發送請求,返回數據resp
resp= requests.get(‘http://www.python.org/’)
Print(resp.text) #打印網頁的頁面內容
#打印請求的返回狀態,200表示連接成功,404表示失敗
print(resp.status_code)
新知講解
找一個你想查詢的網址,然后在IDLE交互模式下進行操作,觀察輸出結果,理解各項屬性的含義。
1.導入requests庫
2.用get()函數發送請求,返回數據存放到resp中
3.再用print()函數輸出表2-5-1所列的各種屬性


新知講解
屬性實例 描述
resp.status_code HTTP請求的返回狀態,200表示連接成功,404表示失敗
Resp.text 反饋內容的文本形式,即訪問網址的頁面內容
Resp.encoding 反饋內容的編碼格式
resp.content 反饋內容的二進制形式
resp.headers 反饋內容的頭信息
表2-5-1 反饋數據的部分屬性說明
新知講解
由于從中華萬年網獲取的是字符串形式的天氣數據(JSON格式),因此要用json模塊將JSON格式的數據準換為Python的專屬數據格式,才能更方便進行處理。
(二)json模塊
新知講解
import json
json莫快遞包含在標準庫中,導入該模塊的命令如下:
新知講解

json模塊包含多個函數,其中:
(1)json.dumps(),表示將Python對象轉換成JSON格式的數據
(2)json.loads(),表示將JSON格式字符串形式數據轉換成Python對象
例如,將JSON格式的數據a轉換成Python對象存到b中的代碼如下:
b=json.loads(a)
新知講解
三、設計算法
根據前面分析,查詢天氣的算法思路如下:
1、導入requests庫以及json模塊
2、輸入查詢城市名city
3、發送網絡請求,獲取天氣數據response
4、將response.txet轉換成Python對象,并保存到weather中
5、判斷天氣數據是否獲取成功,成功則輸出天氣數據。否則輸出“沒有該城市的天氣數據”
新知講解
四、編寫程序

(一)獲取天氣數據
根據前面的算法,獲取天氣數據的代碼如下:
#weather.py
import rsquests,json
city=input('請輸入要查詢的城市')
#將加上城市名的API接口網址存到url中\
url='http://wthrcdn.etouch.cn/weather_mini?city='+city
#發送網絡請求,獲取天氣數據存到response中
response=requests.get(url)
#將JSON格式的數據轉換成Python對象存到weather中
weather=json.loads(response.text)
新知講解
新知講解



在程序weather.py最后加上一行代碼‘print(weather)’。運行程序,輸入你所在的城市(如圖2-5-2所示),觀察輸出的天氣數據提供了哪些信息?

新知講解
圖 2-5-2
新知講解
(二)輸出天氣數據
分析圖2-5-2可知,從網絡中獲取的天氣數據包含了多項內容,但這些數據難于直觀看出天氣的各項指標。我們可以逐項提取數據,再按整齊的格式顯示出來,方便閱讀。
新知講解
weather[‘數據項名稱’]
表示weather中的某項數據,書寫格式如下:
1、weather[‘desc’]是查詢結果標志,如果查詢城市存在,則weather[‘desc’]的值為“OK”,否則為“invilad-citykey”。
新知講解
2、 weather[‘data’]是詳細的天氣數據,里面包含4項數據依次為:
(1)weather[‘data’][‘yesterday’]:昨日天氣
(2) weather[‘data’][‘forecast’][0]:今日的天氣; weather[‘data’][‘forecast’][1]:明日的天氣,如此類推
(3) weather[‘data’][‘ganmao’]:感冒概率
(4) weather[‘data’][‘wendu’]:當前溫度
新知講解
weather[‘data’][‘forecast’][0]包含有五個子項內容,它們分別表示哪些氣象指標?
‘data’:_________ ;’high’:___________ ;
‘fengli’:________ ;’low’:_________ ;
‘fengxiang’:____________


日期
高溫
風力
低溫
風向
新知講解
if weather [‘desc’]==‘OK’: #判斷輸入的城市是否存在
today=weather[‘data’][‘forecast’][0] #將當天的天氣數據存到today中
在程序weather.py基礎上,刪除最后一行代碼‘print(weather)’,然后補充以下代碼,觀察輸出了哪些天氣數據。要輸出更多天氣數據,該如何修改程序?


新知講解
print(city+’今日’+today[‘high’],today[‘low’],today[‘fengxiang’],today[‘type’])
print(‘當前溫度:’+weather[‘data’][‘wendu’]+℃’) #輸出當天的感冒概率
else:
print(‘沒有該城市的天氣數據’)
新知講解
實踐與創作
利用百度提供的查詢手機號碼歸屬地的API接口,編寫程序查詢手機號碼的歸屬地,按如圖2-5-3所示輸出查詢結果。API接口網址為:http://mobsec-dianhua.baidu,com/dianhua_api/open/location?tel=手機號碼
新知講解
檢測與評估
1、用于發送網絡請求的庫是( )
A.random B.matplotlib
C.json D.requests
拓展新知
D
2、將JSON格式的數據a轉換成Python對象的語句是( )
A、b=json.load(a) B、b=json.loads(a)
C、b=json.dump(a) D、b=json.dumps(a)
拓展新知
B
3、以下說法錯誤的是( )
A、requests庫屬于擴展庫,需要先安裝才能使用
B、json模塊屬于擴展庫,需要先安裝才能使用
C、表達式“4+5”的結果是“45”
D、json模塊能將Python對象與JSON格式的數據進行相互轉換
拓展新知
B
4、請完善下列程序,使程序能夠輸出所獲取的頁面內容
拓展新知
#getbaidu.py
__________________
resp=requests.get('http://www.baidu.com/')
resp.encoding='utf-8' #將反饋內容的編碼格式轉換為utf-8
_________________________
拓展新知
import requests
print(resp.encoding)
5、完成表2-5-2的學習評估,并將評估等級填寫到“我的成長記錄袋”中。
拓展新知
拓展新知
評估項目 掌握程度 我在本課學習中的最大收獲和不足
較好 一般 較差
了解requests庫的功能
理解利用get()函數發送請求后返回對象的各種屬性
掌握利用requests庫獲取網絡數據的方法
掌握利用json模塊轉換數據格式的方法
會表達天氣數據的各項指標
初步應用requests庫和json模塊程序進行網絡數據查詢
我的學習效果達到了______等級
表2-5-2 學習評估表
課堂總結
一、requests庫和json模塊的運用

二、提取weather中的某項數據

weather['數據項名稱']
板書設計
一、分析問題
二、學習新知
(一)requests庫
(二) json庫
三、設計算法
四、編寫程序
(一)獲取天氣數據
(二)輸出天氣數據


謝謝
21世紀教育網(www.21cnjy.com) 中小學教育資源網站
有大把高質量資料?一線教師?一線教研員?
歡迎加入21世紀教育網教師合作團隊!!月薪過萬不是夢!!
詳情請看:
https://www.21cnjy.com/help/help_extract.php








中小學教育資源及組卷應用平臺


廣東高等教育版信息技術八年級下冊第二單元第4課教學設計
課題 第5課 查詢天氣 單元 第二單元 學科 信息技術 年級 八年級
學習 目標 了解requests庫的功能。 理解利用get()函數發送請求后返回對象的各種屬性。 掌握利用requests庫獲取網絡數據的方法。 掌握利用json模塊轉換數據格式的方法。 初步應用requests庫和json模塊程序進行網絡數據查詢。
重點 掌握利用requests庫獲取網絡數據的方法。
難點 初步應用requests庫和json模塊程序進行網絡數據查詢。

教學過程
教學環節 教師活動 學生活動 設計意圖
導入新課 觀看圖形。互聯網上有大量的天氣數據,如何編寫從中查詢所需的數據呢?交流:我們可以通過哪些渠道查詢天氣?查詢天氣時,你主要關注哪些指標?我們可以通過電視、手機、報紙、上網查詢等途徑查詢天氣;關注溫度、濕度、風力、風向太陽照射強度等 觀看、欣賞、思考 激發學生的學習興趣,了解日常生活中的查詢天氣數據 。
講授新課 分析問題 本課的任務是編寫程序查詢制定城市的天氣情況。程序要解決的關鍵問題: 一是如何到指定的天氣網站獲取數據; 二是如何篩選出需要的天氣數據,并按日常習慣表達出來。 要解決以上問題,在程序中需要利用以下兩個庫(模塊) (1)利用requests庫向氣象網站發送請求,獲取天氣數據 (2)利用json模塊將獲取的天氣數據轉換成便于Python處理的數據格式 課我們利用中華萬年歷網站提供的天氣預報API接口獲取數據。例如,通過該接口獲取北京的天氣數據如下:http://wthrcdn.etouch.cn/weather_min?city=北京 (?http:?/??/?wthrcdn.etouch.cn?/?weather_min?city=北京?) 實踐: 上網了解有哪些網站提供API數據接口: 百度百科: http://baike.baidu.com/api/openapi/BaikeLemmaCardApi?scope=103&format=json&appid=379020&bk_key=關鍵字&bk_length=600 氣象局: http://m.weather.com.cn/data/101010100.html 愛奇藝: http://cache.video.iqiyi.com/jp/avlist/202861101/1/?callback=jsonp9 二、學習新知(一)requests庫 實踐:找一個你想查詢的網址,然后在IDLE交互模式下進行操作,觀察輸出結果,理解各項屬性的含義。 1.導入requests庫 2.用get()函數發送請求,返回數據存放到resp中 3.再用print()函數輸出表2-5-1所列的各種屬性(二)json模塊 由于從中華萬年網獲取的是字符串形式的天氣數據(JSON格式),因此要用json模塊將JSON格式的數據準換為Python的專屬數據格式,才能更方便進行處理。 三、設計算法 根據前面分析,查詢天氣的算法思路如下: 1、導入requests庫以及json模塊 2、輸入查詢城市名city 3、發送網絡請求,獲取天氣數據response 4、將response.txet轉換成Python對象,并保存到weather中 5、判斷天氣數據是否獲取成功,成功則輸出天氣數據。否則輸出“沒有該城市的天氣數據” 四、編寫程序 (一)獲取天氣數據探究: 在程序weather.py最后加上一行代碼‘print(weather)’。運行程序,輸入你所在的城市(如圖2-5-2所示),觀察輸出的天氣數據提供了哪些信息? 輸出天氣數據 分析圖2-5-2可知,從網絡中獲取的天氣數據包含了多項內容,但這些數據難于直觀看出天氣的各項指標。我們可以逐項提取數據,再按整齊的格式顯示出來,方便閱讀。觀察: weather[‘data’][‘forecast’][0]包含有五個子項內容,它們分別表示哪些氣象指標?實踐:在程序weather.py基礎上,刪除最后一行代碼‘print(weather)’,然后補充以下代碼,觀察輸出了哪些天氣數據。要輸出更多天氣數據,該如何修改程序?實踐與創作: 利用百度提供的查詢手機號碼歸屬地的API接口,編寫程序查詢手機號碼的歸屬地,按如圖2-5-3所示輸出查詢結果。API接口網址為:http://mobsec-dianhua.baidu,com/dianhua_api/open/location?tel=手機號碼 (?http:?/??/?mobsec-dianhua.baidu,com?/?dianhua_api?/?open?/?location?tel=手機號碼?)實踐與評估1、用于發送網絡請求的庫是( D ) A.random B.matplotlib C.json D.requests 2、將JSON格式的數據a轉換成Python對象的語句是( B ) A、b=json.load(a) B、b=json.loads(a) C、b=json.dump(a) D、b=json.dumps(a) 3、以下說法錯誤的是( B ) A、requests庫屬于擴展庫,需要先安裝才能使用 B、json模塊屬于擴展庫,需要先安裝才能使用 C、表達式“4+5”的結果是“45” D、json模塊能將Python對象與JSON格式的數據進行相互轉換 4、請完善下列程序,使程序能夠輸出所獲取的頁面內容 進行探究,初步了解程序解決的關鍵問題。 了解requests庫、json模塊 了解API數據接口 了解requests庫的用法。 操作、實踐 了解json模塊的用法。 教師講解,學生聽講,設計查詢天氣的算法。 輸出天氣數據的格式用法。 自主探究,學生理解和掌握。 上網搜索 聽講、了解。 學生聽老師講解,了解json模塊。
課堂小結 一、requests庫和json模塊的運用 二、提取weather中的某項數據 學生回答 利用問題形式進行總結
板書 一、分析問題 二、學習新知 (一)requests庫 (二) json庫 三、設計算法 四、編寫程序 (一)獲取天氣數據 (二)輸出天氣數據










21世紀教育網 www.21cnjy.com 精品試卷·第 2 頁 (共 2 頁)



HYPERLINK "http://www.21cnjy.com/" 21世紀教育網(www.21cnjy.com)



展開更多......

收起↑

資源列表

<pre id="tfb94"><li id="tfb94"></li></pre>

<bdo id="tfb94"><rt id="tfb94"></rt></bdo>
  • <menu id="tfb94"><dl id="tfb94"></dl></menu><i id="tfb94"><acronym id="tfb94"><sub id="tfb94"></sub></acronym></i>

    1. 主站蜘蛛池模板: 盐源县| 鸡西市| 陆良县| 伊吾县| 屏南县| 黎平县| 丹凤县| 拉孜县| 长治市| 贵南县| 南溪县| 西乌珠穆沁旗| 陕西省| 惠安县| 卓尼县| 锦州市| 宜兰市| 右玉县| 闽清县| 周宁县| 夏津县| 余干县| 四川省| 衡东县| 钟山县| 黑水县| 福清市| 大同市| 综艺| 乐山市| 嘉鱼县| 阳朔县| 乐亭县| 孝感市| 交城县| 上高县| 上蔡县| 宁国市| 德兴市| 桦甸市| 额尔古纳市|