• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      項(xiàng)目式學(xué)習(xí)在高中信息技術(shù)教學(xué)中的應(yīng)用

      2022-05-15 15:16:01陳文劍
      關(guān)鍵詞:項(xiàng)目式學(xué)習(xí)高中信息技術(shù)

      陳文劍

      【摘要】項(xiàng)目式學(xué)習(xí)是一種以學(xué)生為中心的教學(xué)方式。在項(xiàng)目式學(xué)習(xí)過(guò)程中,學(xué)習(xí)者會(huì)積極地收集信息、獲取知識(shí)、探討方案,以此來(lái)解決具有現(xiàn)實(shí)意義的問(wèn)題。本文以Python語(yǔ)言為基礎(chǔ),把項(xiàng)目式學(xué)習(xí)融入到高中信息技術(shù)教學(xué)中,通過(guò)網(wǎng)絡(luò)數(shù)據(jù)采集培養(yǎng)學(xué)生分析問(wèn)題和解決問(wèn)題的能力,提升學(xué)生的信息素養(yǎng)。

      【關(guān)鍵詞】高中信息技術(shù);項(xiàng)目式學(xué)習(xí);Python爬蟲(chóng);網(wǎng)絡(luò)數(shù)據(jù)采集

      《普通高中信息技術(shù)課程標(biāo)準(zhǔn)(2017年版2020年修訂)》提倡使用項(xiàng)目式學(xué)習(xí)。項(xiàng)目式學(xué)習(xí)是一種以學(xué)生為中心的教學(xué)方式,在項(xiàng)目式學(xué)習(xí)過(guò)程中,學(xué)習(xí)者會(huì)積極地收集信息、獲取知識(shí)、探討方案,以此來(lái)解決具有現(xiàn)實(shí)意義的問(wèn)題。因此,在項(xiàng)目式學(xué)習(xí)過(guò)程中,學(xué)生不僅要學(xué)習(xí)《課程標(biāo)準(zhǔn)》的相關(guān)內(nèi)容,還要懂得如何在現(xiàn)實(shí)生活中將這些知識(shí)學(xué)以致用。結(jié)合高一開(kāi)設(shè)的Python編程教學(xué)和必修一第五章第二節(jié)《數(shù)據(jù)的采集》,引導(dǎo)學(xué)生學(xué)以致用,設(shè)計(jì)了這個(gè)教學(xué)項(xiàng)目。

      一、項(xiàng)目情境背景

      隨著信息技術(shù)的發(fā)展,網(wǎng)絡(luò)購(gòu)物已是一種時(shí)尚和趨勢(shì),大家購(gòu)物時(shí)總希望能買到物美價(jià)廉的商品,許多消費(fèi)者在網(wǎng)購(gòu)時(shí)都會(huì)留意商品的價(jià)格和銷量。為了幫助大家更好更快地在購(gòu)物網(wǎng)站上獲取搜索商品的名稱、價(jià)格和銷量,通過(guò)網(wǎng)絡(luò)數(shù)據(jù)采集實(shí)現(xiàn)商品信息定向爬取,我們使用所學(xué)的Python知識(shí)編寫(xiě)一個(gè)爬蟲(chóng)程序來(lái)獲取網(wǎng)頁(yè)中的數(shù)據(jù)。所謂“網(wǎng)絡(luò)爬蟲(chóng)”,是一種按照一定的規(guī)則,自動(dòng)地抓取萬(wàn)維網(wǎng)信息的程序,通俗地講就是通過(guò)程序去獲取web頁(yè)面上自己想要的數(shù)據(jù)。

      這個(gè)項(xiàng)目以映射真實(shí)世界問(wèn)題為學(xué)生提供學(xué)習(xí)情境,對(duì)高中生富有挑戰(zhàn)性的體驗(yàn),同時(shí)也能更加驅(qū)動(dòng)他們探究的積極性。

      二、項(xiàng)目教學(xué)目標(biāo)及任務(wù)

      學(xué)生已經(jīng)具備Python語(yǔ)言的基本知識(shí)和初步技能,能編寫(xiě)簡(jiǎn)單的Python程序,但沒(méi)嘗試過(guò)使用Python進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)采集,缺少相關(guān)的認(rèn)知和體驗(yàn),從現(xiàn)實(shí)抽象出來(lái)問(wèn)題并解決有一定難度。本項(xiàng)目的教學(xué)目標(biāo)如下:

      (1)了解requests.get()的方法去獲取網(wǎng)頁(yè)的數(shù)據(jù);

      (2)理解re模塊中findall()函數(shù)匹配商品信息的方法;

      (3)理解str.split()函數(shù)對(duì)字符串進(jìn)行切片的方法,利用xlsxwriter模塊創(chuàng)建xlsx文件并添加數(shù)據(jù)到文件中;

      (4)掌握列表的基本操作方法;

      (5)通過(guò)小組協(xié)作,學(xué)會(huì)查找和合理利用數(shù)據(jù)解決生活中的實(shí)際問(wèn)題。

      本項(xiàng)目教學(xué)任務(wù):通過(guò)Python爬蟲(chóng)程序獲取淘寶搜索商品頁(yè)面的信息,提取商品名稱、價(jià)格和銷量,并把爬取到的商品數(shù)據(jù)以Excel文件的格式存儲(chǔ)。

      三、項(xiàng)目學(xué)習(xí)的流程

      根據(jù)項(xiàng)目的主題,首先明確要爬取的網(wǎng)站和數(shù)據(jù),通過(guò)合適的方法獲得頁(yè)面信息,再把解析出來(lái)的頁(yè)面數(shù)據(jù)輸出,以問(wèn)題為驅(qū)動(dòng)和導(dǎo)向,學(xué)生積極、主動(dòng)地獲取知識(shí),進(jìn)行有針對(duì)性的學(xué)習(xí)和研究,將學(xué)習(xí)到的知識(shí)轉(zhuǎn)化為能力,應(yīng)用到實(shí)際問(wèn)題的解決中。本項(xiàng)目學(xué)習(xí)流程如下圖:

      四、項(xiàng)目教學(xué)的過(guò)程

      (一)項(xiàng)目引入

      問(wèn)題:如何在購(gòu)物網(wǎng)站上獲取搜索商品的名稱、價(jià)格和銷量?

      活動(dòng):教師提出問(wèn)題,學(xué)生分組討論和思考

      設(shè)計(jì)意圖:項(xiàng)目主題聯(lián)系實(shí)際生活,引起學(xué)生共鳴。很多學(xué)生獲取搜索商品的名稱、價(jià)格和銷量都是通過(guò)購(gòu)物網(wǎng)站上的搜索引擎進(jìn)行查找的,但商品數(shù)量繁多令人眼花繚亂,手動(dòng)收集方式不太適用。本項(xiàng)目以學(xué)習(xí)如何使用python程序快速、自動(dòng)地定向爬取商品信息,實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)采集。

      (二)項(xiàng)目分析

      活動(dòng):學(xué)生分組討論選擇一個(gè)廣為人知、商品的種類比較豐富,數(shù)據(jù)具有一定的開(kāi)放性等特點(diǎn)的網(wǎng)絡(luò)商城。

      設(shè)計(jì)意圖:挑選能夠?qū)崿F(xiàn)商品信息定向爬取的購(gòu)物網(wǎng)站,結(jié)合獲取數(shù)據(jù)的難易程度,決定把淘寶網(wǎng)作為獲取商品信息的來(lái)源。

      (三)項(xiàng)目實(shí)施

      環(huán)節(jié)一:獲取網(wǎng)頁(yè)數(shù)據(jù)

      活動(dòng)1:查看網(wǎng)頁(yè)的cookie和user-agent信息

      問(wèn)題:為何使用cookie和user-agent?

      知識(shí)技能:了解網(wǎng)頁(yè)的cookie(儲(chǔ)存在用戶本地終端上的數(shù)據(jù))和user-agent(HTTP請(qǐng)求頭)的作用。

      設(shè)計(jì)意圖:因?yàn)樵S多網(wǎng)站都實(shí)施反爬蟲(chóng)機(jī)制,當(dāng)我們用requests get( )直接訪問(wèn)淘寶網(wǎng)站,除了網(wǎng)址不提供其它的信息,那么網(wǎng)站收到的cookie和user-agent是空時(shí),會(huì)被直接識(shí)別是一個(gè)機(jī)器人,不讓訪問(wèn)及爬取它的網(wǎng)站信息。借助cookie和user-agent把我們的python爬蟲(chóng)程序偽裝成一個(gè)正常的訪客,從而達(dá)到接入網(wǎng)站的目的。

      活動(dòng)2:商品翻頁(yè)時(shí)地址處理

      設(shè)計(jì)意圖:因?yàn)槲覀円廊〉纳唐沸畔㈨?yè)面往往不止一個(gè),當(dāng)數(shù)據(jù)進(jìn)行翻頁(yè)時(shí),我們需要找出網(wǎng)址變化規(guī)律。在淘寶網(wǎng)可發(fā)現(xiàn),查詢商品的第二頁(yè)開(kāi)始,每一頁(yè)最后是s=xx,xx是44的倍數(shù),因?yàn)樗阉黜?yè)每頁(yè)有44個(gè)商品。找到規(guī)律后,構(gòu)造查詢商品網(wǎng)址url的語(yǔ)句如下:

      url='https://s.taobao.com/search?q=+goods+'&s='+ str(44*i) '

      活動(dòng)3:利用requests.get()獲取網(wǎng)頁(yè)信息

      知識(shí)技能:理解python第三方庫(kù)requests.get( )獲取網(wǎng)頁(yè)信息

      設(shè)計(jì)意圖:requests庫(kù)是網(wǎng)絡(luò)請(qǐng)求庫(kù),requests.get( )方法的作用是發(fā)出標(biāo)準(zhǔn)的HTTP請(qǐng)求的動(dòng)作,把cookie和user-agent添加到requests.get()的請(qǐng)求頭中,模擬用瀏覽器打開(kāi)一個(gè)網(wǎng)頁(yè)獲取數(shù)據(jù),再使用text屬性取得網(wǎng)站返回的網(wǎng)頁(yè)源代碼。獲取網(wǎng)頁(yè)數(shù)據(jù)的關(guān)鍵過(guò)程及語(yǔ)句如下:

      import? requests

      header = {'cookie': 'miid=42...

      'user-agent': "Mozilla/5.0... }

      #登錄淘寶賬號(hào),按F12打開(kāi)開(kāi)發(fā)者模式獲取cookie和'user-agent

      result= requests.get(url, headers= header)

      result.encoding = result.apparent_encoding

      html=result.text

      環(huán)節(jié)二:解析頁(yè)面數(shù)據(jù)

      知識(shí)技能:掌握re模塊中findall()函數(shù)匹配商品信息的方法;掌握split()函數(shù)對(duì)字符串切片的方法;掌握列表的操作方法,使用循環(huán)結(jié)構(gòu)在列表中保存商品的信息。

      活動(dòng)4:使用正則表達(dá)式匹配商品的相關(guān)信息

      設(shè)計(jì)意圖:獲得搜索商品的網(wǎng)頁(yè)后,如何在紛繁的數(shù)據(jù)中提取商品的名稱、價(jià)格和銷量?re正則表達(dá)式能動(dòng)態(tài)地、模糊地匹配字符串。通過(guò)查看源代碼可以找到如下信息:商品名稱、價(jià)格和銷量分別對(duì)應(yīng)于“raw_title”“view_price“和“view_sales“。因?yàn)槊恳豁?yè)面有多個(gè)商品名稱、價(jià)格和銷量,需要使用re模塊中的findall()函數(shù)來(lái)匹配頁(yè)面所有滿足條件的字符串。

      演示講解findall()函數(shù)的使用方法,引導(dǎo)學(xué)生使用findall()函數(shù)對(duì)商品的名稱、價(jià)格和銷量分別進(jìn)行匹配。關(guān)鍵過(guò)程及語(yǔ)句如下:

      import? re

      r_title =? re.findall(r'\"raw_title\"\:\".*?\"',html)# 商品名稱

      v_price = re.findall(r'\"view_price\"\:\"[\d\.]*\"',html) #商品價(jià)格

      v_sales =re.findall(r'\"view_sales\"\:\".*?\"', html)# 商品銷量

      提出問(wèn)題:使用findall()函數(shù)匹配商品網(wǎng)頁(yè)數(shù)據(jù)后,能夠直接輸出商品的名稱、價(jià)格和銷量嗎?

      學(xué)生經(jīng)過(guò)分析發(fā)現(xiàn)不能,因?yàn)檫@三個(gè)列表中的數(shù)據(jù)都是以鍵值對(duì)的形式進(jìn)行存儲(chǔ):

      r_title = ["raw_title":"商品名稱1" , "raw_title":"商品名稱2" ...]

      v_price = ["view_price":"商品價(jià)格1" , "view_price":"商品價(jià)格2" ...]

      v_sales=[" view_sales ":"商品銷量1" , " view_sales ":"商品銷量2" ...]

      思考問(wèn)題:如何對(duì)列表中的數(shù)據(jù)去掉其中的鍵,只留下值?

      引導(dǎo)學(xué)生可以發(fā)現(xiàn),鍵值對(duì)的形式中間有個(gè)冒號(hào),只要把鍵和值通過(guò)冒號(hào)進(jìn)行切片,然后提取冒號(hào)后面的值,就能分別獲取商品的名稱、價(jià)格和銷量。

      活動(dòng)5:通過(guò)for…in結(jié)構(gòu),遍歷列表元素,使用split()函數(shù)通過(guò)冒號(hào)對(duì)字符串進(jìn)行切片處理

      通過(guò)for…in結(jié)構(gòu),遍歷列表元素,先用split()函數(shù)將字符串以冒號(hào)進(jìn)行切片,將商品的鍵和值分開(kāi),然后再通過(guò)索引取出所得數(shù)組中的第二個(gè)元素的值,從而分別獲取商品的名稱、價(jià)格和銷量,然后把這3個(gè)值組成一個(gè)小列表,再把這個(gè)小列表通過(guò)append()函數(shù)存儲(chǔ)到一個(gè)新列表中。關(guān)鍵過(guò)程及語(yǔ)句如下:

      for i in range(len(r_title)):

      title = eval(r_title[i].split(':')[1])

      price = eval(v_price [i].split(':')[1])

      view = eval(v_sales [i].split(':')[1])

      infolist.append([title, price,view])

      至此,每個(gè)商品的名稱、價(jià)格和銷量被提取出來(lái),商品信息的列表格式如下:infolist = [["商品名稱1","價(jià)格1","銷量1"] , ["商品名稱2","價(jià)格2","銷量2"] ...]

      環(huán)節(jié)三:輸出商品信息

      知識(shí)技能:利用xlsxwriter模塊創(chuàng)建 xlsx 文件并添加數(shù)據(jù)

      活動(dòng)9:通過(guò)for…in結(jié)構(gòu),遍歷商品信息的列表元素,把數(shù)據(jù)添加到excel中

      利用xlsxwriter模塊創(chuàng)建xlsx文件,通過(guò)for…in結(jié)構(gòu),遍歷列表infolist的元素,分別提取商品的名稱、價(jià)格和銷量,通過(guò)worksheet.write_string的方法寫(xiě)入到excel中的B列、C列和D列,注意列表中每個(gè)元素的第一個(gè)索引值是0,第二個(gè)索引是1,依此類推。

      關(guān)鍵遍歷語(yǔ)句代碼如下:

      import? xlsxwriter

      for x in infolist:

      count += 1

      worksheet.write("A"+str(count), count)

      worksheet.write("B"+str(count), x[0])

      worksheet.write("C"+str(count), x[1])

      worksheet.write("D"+str(count), x[2])

      但學(xué)生運(yùn)行程序后,卻發(fā)現(xiàn)excle里面沒(méi)有數(shù)據(jù),多次檢查后發(fā)現(xiàn)爬蟲(chóng)程序中沒(méi)有把excel表關(guān)閉,導(dǎo)致寫(xiě)入的內(nèi)容會(huì)存在緩沖區(qū)中,并沒(méi)有真正的寫(xiě)入文件里,所以還要對(duì)excle文件調(diào)用close( )函數(shù)進(jìn)行關(guān)閉。

      設(shè)計(jì)意圖:使用python對(duì)excle寫(xiě)入數(shù)據(jù)操作,培養(yǎng)學(xué)生使用python程序?qū)ξ募M(jìn)行讀寫(xiě)時(shí)良好的信息意識(shí)操作習(xí)慣。

      (四)項(xiàng)目展示及評(píng)價(jià)

      活動(dòng):采用小組自評(píng)和互評(píng)相結(jié)合的方法,請(qǐng)幾個(gè)小組的代表展示通過(guò)爬蟲(chóng)程序獲取網(wǎng)絡(luò)數(shù)據(jù)的簡(jiǎn)要過(guò)程,還有學(xué)習(xí)過(guò)程中遇到的困難,小組如何克服這些困難。其他小組對(duì)展示小組的成果進(jìn)行項(xiàng)目評(píng)價(jià)。最后,教師進(jìn)行總結(jié)和結(jié)合每個(gè)小組的成果予以評(píng)分和建議。

      設(shè)計(jì)意圖:根據(jù)學(xué)習(xí)金字塔理論,當(dāng)學(xué)習(xí)者把自己習(xí)得的知識(shí)或技能講授給他人時(shí),學(xué)習(xí)效率最高,讓學(xué)生在分享和交流中共同進(jìn)步。同時(shí),學(xué)生在項(xiàng)目交流中會(huì)遇到很多問(wèn)題,例如,有學(xué)生發(fā)現(xiàn)爬蟲(chóng)程序反復(fù)運(yùn)行時(shí)需要間歇性更換cookie或者過(guò)段時(shí)間再運(yùn)行,否則會(huì)出現(xiàn)爬幾次后爬不到數(shù)據(jù)的情況。教師應(yīng)及時(shí)指出因?yàn)樘詫氁灿蟹磁老x(chóng)機(jī)制,從而引導(dǎo)學(xué)生不能使用爬蟲(chóng)程序去爬取任意的網(wǎng)站,進(jìn)而培養(yǎng)學(xué)生信息社會(huì)責(zé)任的意識(shí)。

      本課以項(xiàng)目為主線,學(xué)生為主體,教師為引導(dǎo),通過(guò)“選擇網(wǎng)站”——“獲取網(wǎng)頁(yè)數(shù)據(jù)”——“解析頁(yè)面數(shù)據(jù)”——“輸出商品信息”四個(gè)環(huán)節(jié)完成利用python進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)采集,實(shí)現(xiàn)淘寶商品信息定向爬蟲(chóng),解決生活中的實(shí)際問(wèn)題,培養(yǎng)學(xué)生分析問(wèn)題和解決問(wèn)題的能力。項(xiàng)目式學(xué)習(xí)比傳統(tǒng)的教學(xué)模式更能激發(fā)學(xué)生學(xué)習(xí)的主動(dòng)性,讓學(xué)生由被動(dòng)學(xué)習(xí)轉(zhuǎn)變?yōu)橹鲃?dòng)學(xué)習(xí),把信息技術(shù)的知識(shí)融會(huì)貫通,提升學(xué)生的信息素養(yǎng),促進(jìn)學(xué)生的全面發(fā)展。

      參考文獻(xiàn):

      [1]中國(guó)大學(xué)MOOC(慕課).Python網(wǎng)絡(luò)爬蟲(chóng)與信息提取[OL].https://www.icourse163.org/course/0809BIT021A-1001870001.

      [2]于雁.python模擬程序的編寫(xiě)及應(yīng)用[J].電腦知識(shí)與技術(shù),2019(30).

      [3]夏雪梅.項(xiàng)目化學(xué)習(xí)設(shè)計(jì):學(xué)習(xí)素養(yǎng)視角下的國(guó)際與本土實(shí)踐[J].教育科學(xué)出版,2018.

      責(zé)任編輯? 陳? 洋

      猜你喜歡
      項(xiàng)目式學(xué)習(xí)高中信息技術(shù)
      “全過(guò)程控制”工程項(xiàng)目式教學(xué)法在鋼結(jié)構(gòu)基本原理課程教學(xué)中的應(yīng)用
      PLC項(xiàng)目式學(xué)習(xí)與自主學(xué)習(xí)能力提高淺談
      教師·下(2017年3期)2017-05-13 22:27:46
      項(xiàng)目式學(xué)習(xí)在應(yīng)用型本科院校人才培養(yǎng)中的探究
      在初中物理中實(shí)施項(xiàng)目式學(xué)習(xí)
      網(wǎng)絡(luò)信息平臺(tái)支持下的PBL英語(yǔ)教學(xué)實(shí)踐與研究
      基于項(xiàng)目式學(xué)習(xí)的大學(xué)英語(yǔ)翻轉(zhuǎn)課堂教學(xué)研究與實(shí)踐
      高中信息技術(shù)教學(xué)改革研究
      考試周刊(2016年94期)2016-12-12 12:01:36
      高中信息技術(shù)教學(xué)中的問(wèn)題與對(duì)策
      微課在高中信息技術(shù)課程分層教學(xué)中的應(yīng)用效果研究
      高中信息技術(shù)探究式教學(xué)的實(shí)踐與思考
      新绛县| 宜都市| 华容县| 民丰县| 讷河市| 贵南县| 垣曲县| 大化| 新营市| 土默特左旗| 临湘市| 平果县| 宜城市| 临武县| 广东省| 漳平市| 荆州市| 邵武市| 土默特左旗| 安塞县| 忻州市| 咸阳市| 平南县| 建宁县| 邯郸县| 永登县| 钦州市| 佛教| 永川市| 崇明县| 定西市| 德阳市| 长岭县| 聂荣县| 汶上县| 白银市| 庆安县| 宝坻区| 大埔县| 台北县| 天台县|