粵高教版信息技術八年級下冊2-5 查詢天氣教案_第1頁
粵高教版信息技術八年級下冊2-5 查詢天氣教案_第2頁
粵高教版信息技術八年級下冊2-5 查詢天氣教案_第3頁
粵高教版信息技術八年級下冊2-5 查詢天氣教案_第4頁
粵高教版信息技術八年級下冊2-5 查詢天氣教案_第5頁
已閱讀5頁,還剩2頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

廣東高等教育版信息技術八年級下冊第二單元第4課教學設計

課題第5課查詢天氣單元第二單元學科信息技術年級八年級

1、了解requests庫的功能。

2、理解利用get()函數發送請求后返回對象的各種屬性。

學習

3、掌握利用requests庫獲取網絡數據的方法。

目標

4、掌握利用json模塊轉換數據格式的方法。

5、初步應用requests庫和json模塊程序進行網絡數據查詢。

重占

八、、掌握利用requests庫獲取網絡數據的方法。

難點初步應用requests庫和json模塊程序進行網絡數據查詢。

教學過程

教學環節教師活動學生活動設計意圖

導入新課見看圖形。

\tJ**,

頁報

\>y

觀看、欣賞、激發學生的學習

3思考興趣,了解曰常

M7J

■UjM生活中的查詢天

山國行蠲氣數據。

wnth?-、迄.1

t

圖2-5-1天氣預報

互聯網上有大量的天氣數據,如何編寫從中查詢所

i寤的數據呢?

7史流:

貨們可以通過哪些渠道查詢天氣?查詢天氣時,你

主要關注哪些指標?

q戈們可以通過電視、手機、報紙、上網查詢等途徑

萱詢天氣;關注溫度、濕度、風力、風向太陽照射

弓星度等

講授新課一、分析問題

本課的任務是編寫程序查詢制定城市的天氣情況。

程序要解決的關鍵問題:進行探究,初

一是如何到指定的天氣網站獲取數據;步了解程序解自主探究,學生

二是如何篩選出需要的天氣數據,并按日常習慣表決的關鍵問理解和掌握。

達出來。題。

要解決以上問題,在程序中需要利用以下兩個庫

(模塊)

(1)利用requests庫向氣象網站發送請求,

獲取天氣數據

(2)利用json模塊將獲取的天氣數據轉

換成便于Python處理的數據格式

課我們利用中華萬年歷網站提供的天氣預報API接了解requests

口獲取數據。例如,通過該接口獲取北京的天氣數庫、json模塊

據如下:

/weather_min?city=T匕京

實踐:

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

百度百科:

/api/openapi/BaikeLemmaCard

Api?scope=103&format=json&appid=379020&bk_ke

y=關鍵字&bk」ength=600

氣象局:上網搜索

htlp://m./data/101010100.html了解API數據

愛奇藝:接口

/jp/avlist/202861101/l/?ca

llback=jsonp9

二、學習新知

(一)requests庫

、聽講、了解。

利用requests庫能向網頁發送請求從而擷擻

據,requests庫屬于擴展庫等頹裝;推使甩在

DSO方式中安裝,queps庫的命令為:了解requests

pipinstallrequests

庫的用法。

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

.importrequests

requests檢取的數據對象包含多個Itt,

分別表示網頁不同的信息

蒯,向Pyth。唱峨楠求,用K哆

廁通髓的代碼蝦:

#getpython.py

importrequests

#使用requests庫的get函數向指定網址發送請求,返回數據resp

resp=requests.get('/')

Print(resp.text)#打印網頁的頁面內容

#打印請求的返回狀態,20陵示連接成功,404表示失敗

.print(resp.status.code)

?實踐:

找一個你想查詢的網址,然后在IDLE交互模式下

進行操作,觀察輸出結果,理解各項屬性的含義。

1.導入requests庫

操作、實踐

2.用get()函數發送請求,返回數據存放到resp

3.再用print()函數輸出表2-5-1所列的各種屬性

?2-5-1反性犧

屬性實例描述

HTTP請求的返回狀態,20昧示連接

resp.status.code

成功,404表示失敗

前小toyt反饋內容的文本形式,即訪問網址的

Resptext頁面內容

Resp.encoding反饋內容的編碼格式

resp.content反饋內容的二進制形式

resp.headers反饋內容的頭信息

(二)json模塊

由于從中華萬年網獲取的是字符串形式的天氣數

據(JSON格式),因此要用json模塊將JSON格

式的數據準換學1Python的專屬4發據格式,才能更方了解json模塊

便進行處理。的用法。

jsong^1快遞包含在標準庫中導入該模塊

的命令如下

學生聽老師講

importjson解,了解json模

模塊包含多個函數,其中:

json塊。

(1)json.dumps(),表示將Python又域轉換施SON格

式的數據

(2)json.loads(),表示將JSON格式字符串形式數據轉

換成Python對象

例如,將JSON格式的數據a轉換成Python對象存到

b中的代碼如下:

b=ison.ldads(a)!

三、設計算法

根據前面分析,查詢天氣的算法思路如下:

1、導入requests庫以及json模塊

教師講解,學

2、輸入查詢城市名city

生聽講,設計

3、發送網絡請求,獲取天氣數據response

查詢天氣的算

4、將response.txet轉換成Python對象,并保存

法。

至weather中

5、判斷天氣數據是否獲取成功,成功則輸出天

氣數據。否則輸出“沒有該城市的天氣數據"

四、編寫程序

(-)獲取天氣數據

#weather.py

importrsquestsjson

(:電引邛以請輸入要查詢的城市,)

#將加上城市名的API接口網址存到uH中'

url=,/weather_mini?city='+city

#發送網絡請求,獲取天啜據存到response中

response=requests.get(url)

#將心01\!格式的數據轉換成Python對象存到weather^

weather=json.loads(response.text)

探究:

在程序weather.py最后加上一行代碼

'print(weather)'。運行程序,輸入你所在的城市

(如圖2-5-2所示),觀察輸出的天氣數據提供了

哪些信息?

(-)輸出天氣數據

分析圖2-5-2可知,從網絡中獲取的天氣數據包含

了多項內容,但這些數據難于直觀看出天氣的各項

指標。我們可以逐項提取數據,再按整齊的格式顯

示出來,方便閱讀。

/X

表示weather中的某項數據,書寫格式如下:

輸出天氣數據

weather['數據項名稱’]

的格式用法。

1、weather['desc']是查詢結果標志,如果杳詢城市存

在,則weather]'desc']的值為"0K",否則為"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']:當前溫度

觀察:

weatherf?data']['forecast'][0]包含有五個子項

內容,它們分別表示哪些氣象指標?

'data':日期:,high':一曷:

'fengli':風力:'low':低溫:

,fengxiang,:—風向

實踐:

在程序weather.py基礎上,刪除最后一行代碼

,print(weather)1,然后補充以下代碼,觀察輸出

了哪些天氣數據。要輸出更多天氣數據,該如何修

改程序?

ifweather!'desc']=='OK':#判斷輸入的城市是否存在

today=weather(*data']['forecast'][0]#將當天的天氣數據存

到today中

print(city+,今

日‘+today[*high'],today[low*],today[*fengxiang*],toda

y[,type,])

print('當前溫度:'+weather['data1]['wendu']+℃,)#輸

出當天的感冒概率

else:

print('沒有該城市的天氣數據’)

實踐與創作:

利用百度提供的查詢手機號碼歸屬地的API接

□,編寫程序查詢手機號碼的歸屬地,按如圖2-5-3

所示輸出查詢結果。API接口網址為:

http://mobsec-dianhua.baidu,com/dianhua_api/open/lo

cation?tel二手機號碼

Python-37:?(皿?K7.4?O93591loier20M:20)[itS

Cv.191664*OMD64?]on?in32.

Type-h^ip*,cr?dit?*orfornor?info

?HMtivn.

,:=RESTARTD:\IS序====*===

充毒?京褊機號(■入N?出青?)t189?0

廣扁I?電信

清■人夏杳*的手機號(“入N退出青t138MBP

廣不廣州&動

;清■人要杳中的手機號(■入Nii出,12s

看不到或號碼侑息

清沾入昊奇南的手機號(■入N退出青,N

--------圖2-5-3二詢羊機鼻碼歸?微—

實踐與評估

1、用于發送網絡請求的庫是(D)

A.randomB.matplotlib

C.jsonD.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、

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論