版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
廣東高等教育版信息技術(shù)八年級(jí)下冊(cè)第二單元第4課教學(xué)設(shè)計(jì)
課題第5課查詢(xún)天氣單元第二單元學(xué)科信息技術(shù)年級(jí)八年級(jí)
1、了解requests庫(kù)的功能。
2、理解利用get()函數(shù)發(fā)送請(qǐng)求后返回對(duì)象的各種屬性。
學(xué)習(xí)
3、掌握利用requests庫(kù)獲取網(wǎng)絡(luò)數(shù)據(jù)的方法。
目標(biāo)
4、掌握利用json模塊轉(zhuǎn)換數(shù)據(jù)格式的方法。
5、初步應(yīng)用requests庫(kù)和json模塊程序進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)查詢(xún)。
重占
八、、掌握利用requests庫(kù)獲取網(wǎng)絡(luò)數(shù)據(jù)的方法。
難點(diǎn)初步應(yīng)用requests庫(kù)和json模塊程序進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)查詢(xún)。
教學(xué)過(guò)程
教學(xué)環(huán)節(jié)教師活動(dòng)學(xué)生活動(dòng)設(shè)計(jì)意圖
導(dǎo)入新課見(jiàn)看圖形。
\tJ**,
頁(yè)報(bào)
\>y
觀(guān)看、欣賞、激發(fā)學(xué)生的學(xué)習(xí)
3思考興趣,了解曰常
M7J
■UjM生活中的查詢(xún)天
山國(guó)行蠲氣數(shù)據(jù)。
wnth?-、迄.1
t
圖2-5-1天氣預(yù)報(bào)
互聯(lián)網(wǎng)上有大量的天氣數(shù)據(jù),如何編寫(xiě)從中查詢(xún)所
i寤的數(shù)據(jù)呢?
7史流:
貨們可以通過(guò)哪些渠道查詢(xún)天氣?查詢(xún)天氣時(shí),你
主要關(guān)注哪些指標(biāo)?
q戈們可以通過(guò)電視、手機(jī)、報(bào)紙、上網(wǎng)查詢(xún)等途徑
萱詢(xún)天氣;關(guān)注溫度、濕度、風(fēng)力、風(fēng)向太陽(yáng)照射
弓星度等
講授新課一、分析問(wèn)題
本課的任務(wù)是編寫(xiě)程序查詢(xún)制定城市的天氣情況。
程序要解決的關(guān)鍵問(wèn)題:進(jìn)行探究,初
一是如何到指定的天氣網(wǎng)站獲取數(shù)據(jù);步了解程序解自主探究,學(xué)生
二是如何篩選出需要的天氣數(shù)據(jù),并按日常習(xí)慣表決的關(guān)鍵問(wèn)理解和掌握。
達(dá)出來(lái)。題。
要解決以上問(wèn)題,在程序中需要利用以下兩個(gè)庫(kù)
(模塊)
(1)利用requests庫(kù)向氣象網(wǎng)站發(fā)送請(qǐng)求,
獲取天氣數(shù)據(jù)
(2)利用json模塊將獲取的天氣數(shù)據(jù)轉(zhuǎn)
換成便于Python處理的數(shù)據(jù)格式
課我們利用中華萬(wàn)年歷網(wǎng)站提供的天氣預(yù)報(bào)API接了解requests
口獲取數(shù)據(jù)。例如,通過(guò)該接口獲取北京的天氣數(shù)庫(kù)、json模塊
據(jù)如下:
/weather_min?city=T匕京
實(shí)踐:
上網(wǎng)了解有哪些網(wǎng)站提供API數(shù)據(jù)接口:
百度百科:
/api/openapi/BaikeLemmaCard
Api?scope=103&format=json&appid=379020&bk_ke
y=關(guān)鍵字&bk」ength=600
氣象局:上網(wǎng)搜索
htlp://m./data/101010100.html了解API數(shù)據(jù)
愛(ài)奇藝:接口
/jp/avlist/202861101/l/?ca
llback=jsonp9
二、學(xué)習(xí)新知
(一)requests庫(kù)
、聽(tīng)講、了解。
利用requests庫(kù)能向網(wǎng)頁(yè)發(fā)送請(qǐng)求從而擷擻
據(jù),requests庫(kù)屬于擴(kuò)展庫(kù)等頹裝;推使甩在
DSO方式中安裝,queps庫(kù)的命令為:了解requests
pipinstallrequests
庫(kù)的用法。
在Python中導(dǎo)入該庫(kù)的命令為:
.importrequests
requests檢取的數(shù)據(jù)對(duì)象包含多個(gè)Itt,
分別表示網(wǎng)頁(yè)不同的信息
蒯,向Pyth。唱峨楠求,用K哆
廁通髓的代碼蝦:
#getpython.py
importrequests
#使用requests庫(kù)的get函數(shù)向指定網(wǎng)址發(fā)送請(qǐng)求,返回?cái)?shù)據(jù)resp
resp=requests.get('/')
Print(resp.text)#打印網(wǎng)頁(yè)的頁(yè)面內(nèi)容
#打印請(qǐng)求的返回狀態(tài),20陵示連接成功,404表示失敗
.print(resp.status.code)
?實(shí)踐:
找一個(gè)你想查詢(xún)的網(wǎng)址,然后在IDLE交互模式下
進(jìn)行操作,觀(guān)察輸出結(jié)果,理解各項(xiàng)屬性的含義。
1.導(dǎo)入requests庫(kù)
操作、實(shí)踐
2.用get()函數(shù)發(fā)送請(qǐng)求,返回?cái)?shù)據(jù)存放到resp
中
3.再用print()函數(shù)輸出表2-5-1所列的各種屬性
?2-5-1反性犧
屬性實(shí)例描述
HTTP請(qǐng)求的返回狀態(tài),20昧示連接
resp.status.code
成功,404表示失敗
前小toyt反饋內(nèi)容的文本形式,即訪(fǎng)問(wèn)網(wǎng)址的
Resptext頁(yè)面內(nèi)容
Resp.encoding反饋內(nèi)容的編碼格式
resp.content反饋內(nèi)容的二進(jìn)制形式
resp.headers反饋內(nèi)容的頭信息
(二)json模塊
由于從中華萬(wàn)年網(wǎng)獲取的是字符串形式的天氣數(shù)
據(jù)(JSON格式),因此要用json模塊將JSON格
式的數(shù)據(jù)準(zhǔn)換學(xué)1Python的專(zhuān)屬4發(fā)據(jù)格式,才能更方了解json模塊
便進(jìn)行處理。的用法。
jsong^1快遞包含在標(biāo)準(zhǔn)庫(kù)中導(dǎo)入該模塊
的命令如下
學(xué)生聽(tīng)老師講
importjson解,了解json模
模塊包含多個(gè)函數(shù),其中:
json塊。
(1)json.dumps(),表示將Python又域轉(zhuǎn)換施SON格
式的數(shù)據(jù)
(2)json.loads(),表示將JSON格式字符串形式數(shù)據(jù)轉(zhuǎn)
換成Python對(duì)象
例如,將JSON格式的數(shù)據(jù)a轉(zhuǎn)換成Python對(duì)象存到
b中的代碼如下:
b=ison.ldads(a)!
三、設(shè)計(jì)算法
根據(jù)前面分析,查詢(xún)天氣的算法思路如下:
1、導(dǎo)入requests庫(kù)以及json模塊
教師講解,學(xué)
2、輸入查詢(xún)城市名city
生聽(tīng)講,設(shè)計(jì)
3、發(fā)送網(wǎng)絡(luò)請(qǐng)求,獲取天氣數(shù)據(jù)response
查詢(xún)天氣的算
4、將response.txet轉(zhuǎn)換成Python對(duì)象,并保存
法。
至weather中
5、判斷天氣數(shù)據(jù)是否獲取成功,成功則輸出天
氣數(shù)據(jù)。否則輸出“沒(méi)有該城市的天氣數(shù)據(jù)"
四、編寫(xiě)程序
(-)獲取天氣數(shù)據(jù)
#weather.py
importrsquestsjson
(:電引邛以請(qǐng)輸入要查詢(xún)的城市,)
#將加上城市名的API接口網(wǎng)址存到uH中'
url=,/weather_mini?city='+city
#發(fā)送網(wǎng)絡(luò)請(qǐng)求,獲取天啜據(jù)存到response中
response=requests.get(url)
#將心01\!格式的數(shù)據(jù)轉(zhuǎn)換成Python對(duì)象存到weather^
weather=json.loads(response.text)
探究:
在程序weather.py最后加上一行代碼
'print(weather)'。運(yùn)行程序,輸入你所在的城市
(如圖2-5-2所示),觀(guān)察輸出的天氣數(shù)據(jù)提供了
哪些信息?
(-)輸出天氣數(shù)據(jù)
分析圖2-5-2可知,從網(wǎng)絡(luò)中獲取的天氣數(shù)據(jù)包含
了多項(xiàng)內(nèi)容,但這些數(shù)據(jù)難于直觀(guān)看出天氣的各項(xiàng)
指標(biāo)。我們可以逐項(xiàng)提取數(shù)據(jù),再按整齊的格式顯
示出來(lái),方便閱讀。
/X
表示weather中的某項(xiàng)數(shù)據(jù),書(shū)寫(xiě)格式如下:
輸出天氣數(shù)據(jù)
weather['數(shù)據(jù)項(xiàng)名稱(chēng)’]
的格式用法。
1、weather['desc']是查詢(xún)結(jié)果標(biāo)志,如果杳詢(xún)城市存
在,則weather]'desc']的值為"0K",否則為"invilad-
citykey".
2、weather!'data']是詳細(xì)的天氣數(shù)據(jù),里面包含4項(xiàng)
數(shù)據(jù)依次為:
(1)weather['data']['yesterday']:昨日天氣
(2)weather]'data'[「forecast,][0]:今日的天氣;
weather!'data']['forecast'][1]:明日的天氣,如此類(lèi)推
(3)weather]'data']['ganmao']:感冒概率
(4)weather]'data']['wendu']:當(dāng)前溫度
觀(guān)察:
weatherf?data']['forecast'][0]包含有五個(gè)子項(xiàng)
內(nèi)容,它們分別表示哪些氣象指標(biāo)?
'data':日期:,high':一曷:
'fengli':風(fēng)力:'low':低溫:
,fengxiang,:—風(fēng)向
實(shí)踐:
在程序weather.py基礎(chǔ)上,刪除最后一行代碼
,print(weather)1,然后補(bǔ)充以下代碼,觀(guān)察輸出
了哪些天氣數(shù)據(jù)。要輸出更多天氣數(shù)據(jù),該如何修
改程序?
ifweather!'desc']=='OK':#判斷輸入的城市是否存在
today=weather(*data']['forecast'][0]#將當(dāng)天的天氣數(shù)據(jù)存
到today中
print(city+,今
日‘+today[*high'],today[low*],today[*fengxiang*],toda
y[,type,])
print('當(dāng)前溫度:'+weather['data1]['wendu']+℃,)#輸
出當(dāng)天的感冒概率
else:
print('沒(méi)有該城市的天氣數(shù)據(jù)’)
實(shí)踐與創(chuàng)作:
利用百度提供的查詢(xún)手機(jī)號(hào)碼歸屬地的API接
□,編寫(xiě)程序查詢(xún)手機(jī)號(hào)碼的歸屬地,按如圖2-5-3
所示輸出查詢(xún)結(jié)果。API接口網(wǎng)址為:
http://mobsec-dianhua.baidu,com/dianhua_api/open/lo
cation?tel二手機(jī)號(hào)碼
Python-37:?(皿?K7.4?O93591loier20M:20)[itS
Cv.191664*OMD64?]on?in32.
Type-h^ip*,cr?dit?*orfornor?info
?HMtivn.
,:=RESTARTD:\IS序====*===
充毒?京褊機(jī)號(hào)(■入N?出青?)t189?0
廣扁I?電信
清■人夏杳*的手機(jī)號(hào)(“入N退出青t138MBP
廣不廣州&動(dòng)
;清■人要杳中的手機(jī)號(hào)(■入Nii出,12s
看不到或號(hào)碼侑息
清沾入昊奇南的手機(jī)號(hào)(■入N退出青,N
--------圖2-5-3二詢(xún)羊機(jī)鼻碼歸?微—
實(shí)踐與評(píng)估
1、用于發(fā)送網(wǎng)絡(luò)請(qǐng)求的庫(kù)是(D)
A.randomB.matplotlib
C.jsonD.requests
2、將JSON格式的數(shù)據(jù)a轉(zhuǎn)換成Python對(duì)象的語(yǔ)
句是(B)
A、b=json.load(a)B、b=json.loads(a)
C、b=json.dump(a)D、b=json.dumps(a)
3、
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 濱州科技職業(yè)學(xué)院《遙感原理與應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年度生態(tài)環(huán)保工程施工合同要點(diǎn)與特點(diǎn)3篇
- 貨車(chē)租用合同范本
- 石頭供貨合同
- 二零二五年出租汽車(chē)駕駛員勞動(dòng)合同書(shū)(含安全行車(chē)責(zé)任)3篇
- 學(xué)校食堂蔬菜采購(gòu)合同
- 農(nóng)村天然氣承包合同
- 年月日沈陽(yáng)市和平區(qū)合同制教師公開(kāi)招聘考試教育理論綜合知識(shí)真題試卷
- 倡導(dǎo)低碳生活演講稿15篇
- 二零二五年度個(gè)人土地儲(chǔ)備與開(kāi)發(fā)管理合同2篇
- 普外科醫(yī)療組長(zhǎng)競(jìng)聘演講
- 北京市朝陽(yáng)區(qū)2022-2023學(xué)年三年級(jí)上學(xué)期英語(yǔ)期末試卷
- GB/T 9755-2024合成樹(shù)脂乳液墻面涂料
- 嗶哩嗶哩MATES人群資產(chǎn)經(jīng)營(yíng)白皮書(shū)【嗶哩嗶哩】
- 【歷史】第一、二單元測(cè)試題2024~2025學(xué)年統(tǒng)編版七年級(jí)歷史上冊(cè)
- 婚姻家庭規(guī)劃
- 認(rèn)識(shí)實(shí)習(xí)報(bào)告(10篇)
- 【MOOC】?jī)?nèi)科護(hù)理學(xué)-中山大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 2024年商業(yè)地產(chǎn)買(mǎi)賣(mài)合同樣本
- 2023-2024學(xué)年廣東省深圳市福田區(qū)七年級(jí)(上)期末英語(yǔ)試卷
- 雙碳全景系列培訓(xùn)第一章碳達(dá)峰、碳中和
評(píng)論
0/150
提交評(píng)論