Python爬蟲項(xiàng)目教程(第2版)(微課版)-教案_第1頁
Python爬蟲項(xiàng)目教程(第2版)(微課版)-教案_第2頁
Python爬蟲項(xiàng)目教程(第2版)(微課版)-教案_第3頁
Python爬蟲項(xiàng)目教程(第2版)(微課版)-教案_第4頁
Python爬蟲項(xiàng)目教程(第2版)(微課版)-教案_第5頁
已閱讀5頁,還剩122頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

深圳信息職業(yè)技術(shù)大學(xué)教 案2025年/2026年第1學(xué)期專業(yè)大類 電信息 課程名稱 Python網(wǎng)絡(luò)爬蟲程序技術(shù)課程類別 專課 教學(xué)模式(課教混合教) 混式教學(xué)任課班級(jí)24件技術(shù)選課班 任課教師 銳軍 所屬院部 件學(xué)院 2025年8 月26 日教學(xué)單元1.1Python爬蟲基礎(chǔ)周次1時(shí)數(shù)4授課班級(jí)教學(xué)目標(biāo)知識(shí)目標(biāo)理解爬蟲程序的基本概念、工作原理和應(yīng)用場(chǎng)景。Python(requestsBeautifulSoup。HTMLCSS技能目標(biāo)Python學(xué)會(huì)使用瀏覽器開發(fā)者工具分析網(wǎng)頁結(jié)構(gòu),定位數(shù)據(jù)的存儲(chǔ)位置。掌握基本的反爬蟲機(jī)制及應(yīng)對(duì)方法。情感目標(biāo)培養(yǎng)學(xué)生對(duì)爬蟲技術(shù)的興趣和探索精神。引導(dǎo)學(xué)生遵守網(wǎng)絡(luò)爬蟲的法律法規(guī)和道德規(guī)范,合理使用爬蟲技術(shù)。教學(xué)重點(diǎn):爬蟲程序的基本實(shí)現(xiàn)流程。requestsBeautifulSoupHTML教學(xué)難點(diǎn)網(wǎng)頁結(jié)構(gòu)的分析與數(shù)據(jù)提取。應(yīng)對(duì)簡(jiǎn)單的反爬蟲機(jī)制。實(shí)驗(yàn)儀器及教具:計(jì)算機(jī)、因特網(wǎng)教學(xué)過程備注教學(xué)過程第一部分:爬蟲程序概述(30分鐘)導(dǎo)入新課(5)問題引入:展示一些常見的數(shù)據(jù)來源(如新聞網(wǎng)站、社交媒體、電商平臺(tái),討論如何獲取這些數(shù)據(jù)。引出主題:介紹爬蟲程序的定義——一種自動(dòng)從互聯(lián)網(wǎng)上抓取數(shù)據(jù)的程序。展示案例:通過一些簡(jiǎn)單的爬蟲案例(如抓取新聞標(biāo)題、天氣數(shù)據(jù)等,讓學(xué)生初步了解爬蟲的功能。理論講解(20)爬蟲程序的分類介紹爬蟲的分類:通用爬蟲(如搜索引擎爬蟲)和聚焦爬蟲(針對(duì)特定網(wǎng)站或數(shù)據(jù)。討論不同類型的爬蟲應(yīng)用場(chǎng)景。爬蟲的工作原理HTTP(GET、POST、狀態(tài)碼等。網(wǎng)頁結(jié)構(gòu)基礎(chǔ)HTMLHTMLCSS(如標(biāo)簽選擇器、類選擇器、ID擇器等,并演示如何使用CSS選擇器定位元素。課堂討論(5)提問學(xué)生關(guān)于爬蟲的應(yīng)用場(chǎng)景和可能的法律問題。引導(dǎo)學(xué)生思考爬蟲的合理使用范圍。requests(40)復(fù)習(xí)導(dǎo)入(5)回顧爬蟲的基本工作原理和網(wǎng)頁結(jié)構(gòu)分析。HTMLCSS理論講解(15)requestsrequestsHTTPrequestsget()、post()等。講解如何獲取響應(yīng)內(nèi)容(response.text、response.json()。請(qǐng)求頭的作用講解請(qǐng)求頭的概念及其在爬蟲中的重要性。介紹常見的請(qǐng)求頭字段(User-Agent、Referer。講解如何設(shè)置請(qǐng)求頭以模擬瀏覽器行為。實(shí)踐操作(15)GETrequests.get(GETHTMLGETHTML任務(wù):設(shè)置請(qǐng)求頭教師演示如何設(shè)置請(qǐng)求頭,模擬瀏覽器訪問。學(xué)生練習(xí)設(shè)置請(qǐng)求頭,嘗試訪問一些有反爬機(jī)制的網(wǎng)頁。課堂小結(jié)(5)requests強(qiáng)調(diào)設(shè)置請(qǐng)求頭在爬蟲中的重要性。第三部分:使用BeautifulSoup庫解析HTML(40分鐘)復(fù)習(xí)導(dǎo)入(5)requestsGET理論講解(15)BeautifulSoupBeautifulSoupHTMLBeautifulSoupBeautifulSoup對(duì)象、解析HTML文檔。BeautifulSoupHTML(如find()、find_all()、select()等。數(shù)據(jù)提取HTML(如文本內(nèi)容、屬性值等。通過示例代碼演示數(shù)據(jù)提取的過程。實(shí)踐操作(15)HTMLBeautifulSoupHTMLBeautifulSoupHTML任務(wù):數(shù)據(jù)提取與保存教師演示如何將提取的數(shù)據(jù)保存到本地文件(TXT、CSV格式。學(xué)生練習(xí)將提取的數(shù)據(jù)保存到本地文件。課堂小結(jié)(5)BeautifulSoupHTML)復(fù)習(xí)導(dǎo)入(5)requestsBeautifulSoupHTML理論講解(10)常見反爬蟲機(jī)制IP數(shù)據(jù)等。IP、設(shè)置延時(shí)、模擬登錄等。爬蟲的法律與道德規(guī)范強(qiáng)調(diào)爬蟲的法律風(fēng)險(xiǎn)和道德規(guī)范,引導(dǎo)學(xué)生合理使用爬蟲技術(shù)。綜合實(shí)踐(20)任務(wù):完成一個(gè)簡(jiǎn)單的爬蟲項(xiàng)目教師布置一個(gè)綜合實(shí)踐任務(wù),要求學(xué)生使用所學(xué)知識(shí)編寫一個(gè)簡(jiǎn)單的爬蟲程序,抓取指定網(wǎng)站的數(shù)據(jù)。學(xué)生分組完成任務(wù),教師巡視指導(dǎo)。任務(wù):展示與分享每個(gè)小組展示自己的爬蟲程序,分享實(shí)現(xiàn)過程和遇到的問題。教師對(duì)學(xué)生的程序進(jìn)行點(diǎn)評(píng),指出優(yōu)點(diǎn)和不足。課堂小結(jié)(5)總結(jié)本節(jié)課的主要內(nèi)容:常見反爬蟲機(jī)制及應(yīng)對(duì)方法、爬蟲的法律與道德規(guī)范。強(qiáng)調(diào)綜合實(shí)踐的重要性,鼓勵(lì)學(xué)生繼續(xù)探索和學(xué)習(xí)爬蟲技術(shù)。教學(xué)資源Python(PyCharm、JupyterNotebook。HTMLrequestsBeautifulSoup爬蟲案例代碼示例。1.課后作業(yè):完成一個(gè)簡(jiǎn)單的爬蟲項(xiàng)目,抓取一個(gè)指定網(wǎng)站的數(shù)據(jù)(如新聞標(biāo)題、圖片等,并保存到本地文件。500(以下內(nèi)容為選填,供線上課程及線上線下混合式課程填報(bào))教學(xué)資源列表與訪問路徑備注中國(guó)大學(xué)MOOC網(wǎng)站:https:///course/ZIIT-1002925008https:///course/ZIIT-1002924007在線教學(xué)過程(學(xué)生自主學(xué)習(xí)指引)學(xué)生在討論區(qū)提問教師在討論區(qū)回答學(xué)生提交作業(yè),講師講評(píng)在線輔導(dǎo)與答疑安排學(xué)生觀看網(wǎng)絡(luò)視頻教師在線回答問題線上作業(yè):復(fù)習(xí)本次課程內(nèi)容預(yù)習(xí)下次課程內(nèi)容教學(xué)單元1.2Flask創(chuàng)建Web網(wǎng)站周次2時(shí)數(shù)4授課班級(jí)教學(xué)目標(biāo)知識(shí)目標(biāo)FlaskFlaskWeb理解路由、視圖函數(shù)、模板渲染和表單處理的基本原理。技能目標(biāo)FlaskWeb掌握如何配置路由、處理請(qǐng)求和響應(yīng)。Jinja2HTML掌握基本的表單處理和數(shù)據(jù)交互。情感目標(biāo)WebWeb教學(xué)重點(diǎn):Flask路由和視圖函數(shù)的配置。Jinja2表單處理和數(shù)據(jù)交互。教學(xué)難點(diǎn)模板渲染和數(shù)據(jù)傳遞。表單處理和數(shù)據(jù)驗(yàn)證。實(shí)驗(yàn)儀器及教具:計(jì)算機(jī)、因特網(wǎng)教學(xué)過程備注教學(xué)過程第一部分:Flask框架概述(30分鐘)導(dǎo)入新課(5)WebWebFlaskPythonWebFlaskFlask理論講解(20)Flask輕量級(jí)框架,易于上手。靈活的路由系統(tǒng)。內(nèi)置開發(fā)服務(wù)器和調(diào)試工具。FlaskFlaskFlaskFlaskbashpipinstallFlask檢查安裝是否成功:PythonfromflaskimportFlaskapp=Flask(__name__)課堂討論(5)WebFlaskFlaskFlask(40)復(fù)習(xí)導(dǎo)入(5)FlaskFlask理論講解(10)FlaskFlaskFlask(name)的作用。配置路由URL介紹@app.route()裝飾器的使用方法。視圖函數(shù)講解視圖函數(shù)的作用:處理請(qǐng)求并返回響應(yīng)。HTML實(shí)踐操作(20)FlaskFlaskPythonfromflaskimportFlaskapp=Flask(__name__)@app.route('/')defhome():return'Hello,Flask!'ifname=='main__':app.run(debug=True)o Flask:5000/。任務(wù):添加更多路由教師演示如何添加多個(gè)路由:Python@app.route('/about')defabout():return'Thisistheaboutpage.'學(xué)生練習(xí)添加更多路由,如/contact課堂小結(jié)(5)Flask強(qiáng)調(diào)視圖函數(shù)的作用。第三部分:模板渲染與Jinja2(40分鐘)復(fù)習(xí)導(dǎo)入(5)Flask提問學(xué)生關(guān)于視圖函數(shù)的作用。理論講解(10)模板渲染HTMLFlaskJinja2。render_template()render_template()函數(shù)渲染模板。介紹如何傳遞變量到模板中。模板文件的結(jié)構(gòu)講解模板文件的存放位置(templates。介紹模板文件的基本結(jié)構(gòu)。實(shí)踐操作(20)HTMLHTMLindex.html:HTML<!DOCTYPEhtml><html><head><title>Home</title></head><body><h1>{{title}}</h1><p>{{content}}</p></body></html>Python

o HTML任務(wù):渲染模板render_template()渲染模板:fromflaskimportrender_template@app.route('/')defhome():returnrender_template('index.html',title='Welcome',content='Thisisthehomepage.')o 學(xué)生練習(xí)渲染模板,傳遞變量到模板中。課堂小結(jié)(5)Jinja2強(qiáng)調(diào)模板文件的存放位置和基本結(jié)構(gòu)。第四部分:表單處理與數(shù)據(jù)交互(40)復(fù)習(xí)導(dǎo)入(5)Jinja2提問學(xué)生關(guān)于模板文件的存放位置和基本結(jié)構(gòu)。理論講解(10)表單處理講解表單的基本概念:用于收集用戶輸入。HTML數(shù)據(jù)交互Flaskrequest數(shù)據(jù)驗(yàn)證講解如何對(duì)用戶輸入的數(shù)據(jù)進(jìn)行驗(yàn)證。實(shí)踐操作(20)任務(wù):創(chuàng)建表單HTMLHTML<formmethod="POST"action="/submit"><labelfor="name">Name:</label><inputtype="text"id="name"name="name"><buttontype="submit">Submit</button></form>Python

o 學(xué)生練習(xí)創(chuàng)建自己的表單。任務(wù):處理表單提交Flaskfromflaskimportrequest@app.route('/submit',methods=['POST'])defsubmit():name=request.form['name']returnf'Hello,{name}!'o 學(xué)生練習(xí)處理表單提交的數(shù)據(jù)。課堂小結(jié)(5)總結(jié)表單處理和數(shù)據(jù)交互的方法。request課后作業(yè):Flask一個(gè)首頁路由/,顯示歡迎信息。一個(gè)關(guān)于頁面路由/about,顯示關(guān)于信息。一個(gè)表單頁面路由/contact一個(gè)處理表單提交的路由/submit,接收用戶輸入的名字并返回歡迎信息。HTML(以下內(nèi)容為選填,供線上課程及線上線下混合式課程填報(bào))教學(xué)資源列表與訪問路徑備注中國(guó)大學(xué)MOOC網(wǎng)站:https:///course/ZIIT-1002925008https:///course/ZIIT-1002924007在線教學(xué)過程(學(xué)生自主學(xué)習(xí)指引)學(xué)生在討論區(qū)提問教師在討論區(qū)回答學(xué)生提交作業(yè),講師講評(píng)在線輔導(dǎo)與答疑安排學(xué)生觀看網(wǎng)絡(luò)視頻教師在線回答問題線上作業(yè):復(fù)習(xí)本次課程內(nèi)容預(yù)習(xí)下次課程內(nèi)容教學(xué)單元1.3GetPost訪問網(wǎng)站周次3時(shí)數(shù)4授課班級(jí)教學(xué)目標(biāo)知識(shí)目標(biāo)HTTPGETPOSTPythonrequestsGETPOST理解請(qǐng)求頭、請(qǐng)求參數(shù)和請(qǐng)求體的作用。技能目標(biāo)requestsGETrequestsPOST學(xué)會(huì)處理響應(yīng)內(nèi)容,包括文本、JSON情感目標(biāo)培養(yǎng)學(xué)生對(duì)網(wǎng)絡(luò)編程的興趣和探索精神。引導(dǎo)學(xué)生理解網(wǎng)絡(luò)請(qǐng)求的基本流程和規(guī)范。教學(xué)重點(diǎn):GETPOSTrequestsGETPOST處理響應(yīng)內(nèi)容。教學(xué)難點(diǎn)理解請(qǐng)求頭、請(qǐng)求參數(shù)和請(qǐng)求體的作用。處理復(fù)雜的響應(yīng)內(nèi)容(JSON。實(shí)驗(yàn)儀器及教具:計(jì)算機(jī)、因特網(wǎng)教學(xué)過程備注教學(xué)過程第一部分:HTTP協(xié)議與GET/POST請(qǐng)求概述(30分鐘)導(dǎo)入新課(5)HTTPHTTPGETPOST。GETPOST請(qǐng)求的示例。理論講解(20)HTTPHTTPHTTPGETGETURLGETPOSTPOSTPOSTGETPOSTGETPOST課堂討論(5)GETPOST引導(dǎo)學(xué)生思考在實(shí)際開發(fā)中如何選擇合適的請(qǐng)求方式。requestsGET(40)復(fù)習(xí)導(dǎo)入(5)HTTPGET/POSTGET理論講解(10)requestsrequestsHTTPrequestsbashpipinstallrequestsrequests.get()方法的基本用法。請(qǐng)求頭的作用講解請(qǐng)求頭的概念及其在請(qǐng)求中的重要性。介紹常見的請(qǐng)求頭字段(User-Agent、Referer。o 講解如何設(shè)置請(qǐng)求頭以模擬瀏覽器行為。處理響應(yīng)內(nèi)容講解如何獲取響應(yīng)內(nèi)容(response.text、response.json()。介紹響應(yīng)狀態(tài)碼的作用。實(shí)踐操作(20)GETrequests.get(GETHTMLPythonimportrequestsurl=''response=requests.get(url)print(response.text)GETHTML任務(wù):設(shè)置請(qǐng)求頭教師演示如何設(shè)置請(qǐng)求頭,模擬瀏覽器訪問:Pythonheaders={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/58.0.3029.110Safari/537.3'}response=requests.get(url,headers=headers)print(response.text)學(xué)生練習(xí)設(shè)置請(qǐng)求頭,嘗試訪問一些有反爬機(jī)制的網(wǎng)頁。課堂小結(jié)(5)requests強(qiáng)調(diào)設(shè)置請(qǐng)求頭在請(qǐng)求中的重要性。第三部分:使用requests庫發(fā)送POST請(qǐng)求(40分鐘)復(fù)習(xí)導(dǎo)入(5)requestsGET提問學(xué)生關(guān)于請(qǐng)求頭的作用。理論講解(10)POSTPOSTrequests.post()方法的基本用法。請(qǐng)求體的作用POST介紹如何在請(qǐng)求體中傳遞數(shù)據(jù)(如表單數(shù)據(jù)、JSON。處理響應(yīng)內(nèi)容POSTJSON實(shí)踐操作(20)POSTrequests.postPOSTPythonimportrequestsurl='https://www.ex/login'data={'username':'your_username','password':'your_password'}response=requests.post(url,data=data)print(response.text)POSTJSONJSONPythonresponse=requests.post(url,data=data)ifresponse.status_code==200:result=response.json()print(result)JSON課堂小結(jié)(5)POST強(qiáng)調(diào)處理響應(yīng)內(nèi)容的重要性。第四部分:綜合實(shí)踐與案例分析(40)復(fù)習(xí)導(dǎo)入(5)GETPOST提問學(xué)生關(guān)于請(qǐng)求頭、請(qǐng)求體的作用。理論講解(10)綜合案例分析介紹一個(gè)實(shí)際的網(wǎng)絡(luò)請(qǐng)求案例,如登錄網(wǎng)站、獲取用戶信息等。GETPOST常見問題及解決方案講解在發(fā)送網(wǎng)絡(luò)請(qǐng)求時(shí)可能遇到的問題,如請(qǐng)求超時(shí)、數(shù)據(jù)編碼問題等。提供解決方案,如設(shè)置超時(shí)時(shí)間、處理編碼問題。綜合實(shí)踐(20)任務(wù):完成一個(gè)綜合實(shí)踐項(xiàng)目requests登錄一個(gè)網(wǎng)站并獲取用戶信息。提交表單并處理返回的數(shù)據(jù)。學(xué)生分組完成任務(wù),教師巡視指導(dǎo)。任務(wù):展示與分享每個(gè)小組展示自己的實(shí)踐項(xiàng)目,分享實(shí)現(xiàn)過程和遇到的問題。教師對(duì)學(xué)生的項(xiàng)目進(jìn)行點(diǎn)評(píng),指出優(yōu)點(diǎn)和不足。課堂小結(jié)(5)總結(jié)本節(jié)課的主要內(nèi)容:GETPOST強(qiáng)調(diào)綜合實(shí)踐的重要性,鼓勵(lì)學(xué)生繼續(xù)探索和學(xué)習(xí)網(wǎng)絡(luò)請(qǐng)求技術(shù)。課后作業(yè):創(chuàng)建一個(gè)簡(jiǎn)單的Flask應(yīng)用,包含以下功能:一個(gè)首頁路由/,顯示歡迎信息。一個(gè)關(guān)于頁面路由/about,顯示關(guān)于信息。一個(gè)表單頁面路由/contact一個(gè)處理表單提交的路由/submit,接收用戶輸入的名字并返回歡迎信息。(以下內(nèi)容為選填,供線上課程及線上線下混合式課程填報(bào))教學(xué)資源列表與訪問路徑備注中國(guó)大學(xué)MOOC網(wǎng)站:https:///course/ZIIT-1002925008https:///course/ZIIT-1002924007在線教學(xué)過程(學(xué)生自主學(xué)習(xí)指引)學(xué)生在討論區(qū)提問教師在討論區(qū)回答學(xué)生提交作業(yè),講師講評(píng)在線輔導(dǎo)與答疑安排學(xué)生觀看網(wǎng)絡(luò)視頻教師在線回答問題線上作業(yè):復(fù)習(xí)本次課程內(nèi)容預(yù)習(xí)下次課程內(nèi)容教學(xué)單元1.4Python正則表達(dá)式周次4時(shí)數(shù)4授課班級(jí)教學(xué)目標(biāo)知識(shí)目標(biāo)了解正則表達(dá)式的基本概念和作用。掌握正則表達(dá)式的常見元字符和語法。理解正則表達(dá)式在字符串處理中的應(yīng)用。技能目標(biāo)Pythonre學(xué)會(huì)編寫簡(jiǎn)單的正則表達(dá)式來匹配特定的字符串模式。掌握如何使用正則表達(dá)式解決實(shí)際問題。情感目標(biāo)培養(yǎng)學(xué)生對(duì)正則表達(dá)式的興趣和探索精神。引導(dǎo)學(xué)生理解正則表達(dá)式在文本處理中的重要性。教學(xué)重點(diǎn):正則表達(dá)式的常見元字符和語法。Pythonre正則表達(dá)式的匹配、搜索、替換和分割操作。教學(xué)難點(diǎn)編寫復(fù)雜的正則表達(dá)式。理解正則表達(dá)式中的貪婪模式和非貪婪模式。實(shí)驗(yàn)儀器及教具:計(jì)算機(jī)、因特網(wǎng)教學(xué)過程備注教學(xué)過程第一部分:正則表達(dá)式概述(30分鐘)導(dǎo)入新課(5)問題引入:討論如何在字符串中查找特定的模式,例如查找電話號(hào)碼、電子郵件地址等。引出主題:介紹正則表達(dá)式——一種用于字符串模式匹配的強(qiáng)大工具。展示案例:通過一些簡(jiǎn)單的正則表達(dá)式示例展示其功能。理論講解(20)正則表達(dá)式的基本概念講解正則表達(dá)式的作用:用于字符串的搜索、匹配、替換等操作。介紹正則表達(dá)式的應(yīng)用場(chǎng)景,如數(shù)據(jù)驗(yàn)證、文本解析等。正則表達(dá)式的元字符講解常見的元字符(如.、*、+、?、^、$、[]、()等)及其含義。通過示例展示元字符的使用方法。正則表達(dá)式的語法講解如何組合元字符來構(gòu)建復(fù)雜的模式。介紹如何使用字符集、量詞、分組等語法。課堂討論(5)提問學(xué)生關(guān)于正則表達(dá)式的基本概念和元字符。引導(dǎo)學(xué)生思考正則表達(dá)式在實(shí)際應(yīng)用中的作用。第二部分:Pythonre(40)復(fù)習(xí)導(dǎo)入(5)回顧正則表達(dá)式的基本概念和元字符。提問學(xué)生關(guān)于正則表達(dá)式的應(yīng)用場(chǎng)景。理論講解(10)rePythonrerePythonimportrerere.match()、re.search()、re.findall()、re.sub()等。正則表達(dá)式的編譯pile()編譯正則表達(dá)式,提高性能。介紹如何使用編譯后的正則表達(dá)式對(duì)象進(jìn)行匹配操作。實(shí)踐操作(20)re.matchre.search()re.matchre.search()進(jìn)行模式匹配:Pythonimportretext="Hello,myemailisexample@"pattern=r'\w+@\w+\.\w+'match=re.search(pattern,text)ifmatch:print("Found:",match.group())re.matchre.search()查找字符串中的模式。re.findall()re.findall()查找所有匹配的子串:Pythonmatches=re.findall(pattern,text)print("Found:",matches)re.findall()查找所有匹配的子串。課堂小結(jié)(5)re強(qiáng)調(diào)正則表達(dá)式編譯的重要性。第三部分:正則表達(dá)式的高級(jí)特性(40)復(fù)習(xí)導(dǎo)入(5)rere.match()、re.searchre.findall()的使用。理論講解(10)分組和捕獲講解如何使用圓括號(hào)()進(jìn)行分組和捕獲。group()方法獲取捕獲的子組。貪婪模式與非貪婪模式講解貪婪模式(默認(rèn))和非貪婪模式的區(qū)別。通過示例展示如何使用*?、+?等非貪婪量詞。特殊字符和轉(zhuǎn)義講解如何處理正則表達(dá)式中的特殊字符。介紹如何使用\進(jìn)行轉(zhuǎn)義。實(shí)踐操作(20)任務(wù):使用分組和捕獲教師演示如何使用分組和捕獲提取特定部分的字符串:Pythonpattern=r'(\w+)@(\w+)\.(\w+)'match=re.search(pattern,text)ifmatch:print("Username:",match.group(1))print("Domain:",match.group(2))print("Suffix:",match.group(3))學(xué)生練習(xí)使用分組和捕獲提取特定部分的字符串。任務(wù):使用非貪婪模式教師演示如何使用非貪婪模式匹配字符串:Pythontext="<tag>Somecontent</tag>"pattern=r'<.*?>'matches=re.findall(pattern,text)print("Found:",matches)學(xué)生練習(xí)使用非貪婪模式匹配字符串。課堂小結(jié)(5)總結(jié)正則表達(dá)式的高級(jí)特性,包括分組、捕獲、貪婪模式和非貪婪模式。強(qiáng)調(diào)特殊字符和轉(zhuǎn)義的重要性。第四部分:綜合實(shí)踐與案例分析(40)復(fù)習(xí)導(dǎo)入(5)回顧正則表達(dá)式的高級(jí)特性。提問學(xué)生關(guān)于分組、捕獲和貪婪模式的使用。理論講解(10)綜合案例分析介紹一個(gè)實(shí)際的正則表達(dá)式案例,如解析日志文件、提取HTML標(biāo)簽等。分析案例中涉及的正則表達(dá)式模式。常見問題及解決方案講解在使用正則表達(dá)式時(shí)可能遇到的問題,如性能問題、復(fù)雜模式的編寫等。提供解決方案,如優(yōu)化正則表達(dá)式、使用調(diào)試工具等。綜合實(shí)踐(20)任務(wù):完成一個(gè)綜合實(shí)踐項(xiàng)目教師布置一個(gè)綜合實(shí)踐任務(wù),要求學(xué)生使用正則表達(dá)式完成一個(gè)實(shí)際的文本處理項(xiàng)目,如:提取日志文件中的錯(cuò)誤信息。HTML學(xué)生分組完成任務(wù),教師巡視指導(dǎo)。任務(wù):展示與分享每個(gè)小組展示自己的實(shí)踐項(xiàng)目,分享實(shí)現(xiàn)過程和遇到的問題。教師對(duì)學(xué)生的項(xiàng)目進(jìn)行點(diǎn)評(píng),指出優(yōu)點(diǎn)和不足。課堂小結(jié)(5)總結(jié)本節(jié)課的主要內(nèi)容:正則表達(dá)式的基本概念、re用、高級(jí)特性、綜合實(shí)踐。強(qiáng)調(diào)正則表達(dá)式在文本處理中的重要性,鼓勵(lì)學(xué)生繼續(xù)探索和學(xué)習(xí)正則表達(dá)式。課后作業(yè):正則表達(dá)式爬取外匯網(wǎng)站數(shù)據(jù)(以下內(nèi)容為選填,供線上課程及線上線下混合式課程填報(bào))教學(xué)資源列表與訪問路徑備注中國(guó)大學(xué)MOOC網(wǎng)站:https:///course/ZIIT-1002925008https:///course/ZIIT-1002924007在線教學(xué)過程(學(xué)生自主學(xué)習(xí)指引)學(xué)生在討論區(qū)提問教師在討論區(qū)回答學(xué)生提交作業(yè),講師講評(píng)在線輔導(dǎo)與答疑安排學(xué)生觀看網(wǎng)絡(luò)視頻教師在線回答問題線上作業(yè):復(fù)習(xí)本次課程內(nèi)容預(yù)習(xí)下次課程內(nèi)容教學(xué)單元2.1BeautifulSoup的find函數(shù)查找周次5時(shí)數(shù)4授課班級(jí)教學(xué)目標(biāo)知識(shí)目標(biāo)BeautifulSoupHTMLfind技能目標(biāo)BeautifulSoupHTMLfindHTML學(xué)會(huì)提取元素的文本內(nèi)容和屬性值。情感目標(biāo)Web引導(dǎo)學(xué)生理解數(shù)據(jù)提取在實(shí)際應(yīng)用中的重要性。教學(xué)重點(diǎn):BeautifulSoupfindHTML教學(xué)難點(diǎn)HTMLfindHTML實(shí)驗(yàn)儀器及教具:計(jì)算機(jī)、因特網(wǎng)教學(xué)過程備注教學(xué)過程第一部分:BeautifulSoup概述(30分鐘)導(dǎo)入新課(5)HTMLBeautifulSoupHTMLXML文檔的Python庫。HTMLBeautifulSoup理論講解(20)BeautifulSoupBeautifulSoupHTMLXMLBeautifulSoupbashpipinstallbeautifulsoup4HTMLHTMLHTMLHTML<html><head><title>ExamplePage</title></head><body><h1>Welcome</h1><p>Thisisanexampleparagraph.</p><ahref="https://www.">Link</a></body></html>BeautifulSoupBeautifulSoupPythonfrombs4importBeautifulSouphtml_doc="""<html><head><title>ExamplePage</title></head><body><h1>Welcome</h1><p>Thisisanexampleparagraph.</p><ahref="https://www.">Link</a></body></html>"""soup=BeautifulSoup(html_doc,'html.parser')課堂討論(5)HTMLHTML(40)復(fù)習(xí)導(dǎo)入(5)BeautifulSoupHTMLBeautifulSoup理論講解(10)findfindHTMLfindPythonsoup.find(name,attrs,recursive,text,**kwargs)參數(shù)說明:name:標(biāo)簽名稱。attrs:屬性字典。recursive:是否遞歸查找。text:查找文本內(nèi)容。示例:查找特定標(biāo)簽findHTMLPythontitle=soup.find('title')print(title.text)實(shí)踐操作(20)任務(wù):查找標(biāo)題findPythontitle=soup.find('title')print("Title:",title.text)學(xué)生練習(xí)查找標(biāo)題標(biāo)簽。任務(wù):查找鏈接findPythonlink=soup.find('a')print("Link:",link['href'])href課堂小結(jié)(5)findfindHTML(40)復(fù)習(xí)導(dǎo)入(5)findfind理論講解(10)使用屬性查找HTMLPythonelement=soup.find('a',attrs={'href':''})o attrs使用文本內(nèi)容查找HTMLPythonelement=soup.find(text='Link')text組合查找講解如何結(jié)合標(biāo)簽名、屬性和文本內(nèi)容進(jìn)行組合查找:Pythonelement=soup.find('a',text='Link',attrs={'href':''})實(shí)踐操作(20)任務(wù):查找特定屬性的元素findPythonelement=soup.find('a',attrs={'href':''})print("Element:",element)學(xué)生練習(xí)查找具有特定屬性的元素。任務(wù):查找特定文本的元素findPythonelement=soup.find(text='Link')print("Element:",element)學(xué)生練習(xí)查找包含特定文本的元素。任務(wù):組合查找教師演示如何結(jié)合標(biāo)簽名、屬性和文本內(nèi)容進(jìn)行組合查找:Pythonelement=soup.find('a',text='Link',attrs={'href':''})print("Element:",element)學(xué)生練習(xí)組合查找。課堂小結(jié)(5)findfind)復(fù)習(xí)導(dǎo)入(5)findfind理論講解(10)綜合案例分析HTMLfind常見問題及解決方案findHTMLfind_all綜合實(shí)踐(20)任務(wù):完成一個(gè)綜合實(shí)踐項(xiàng)目教師布置一個(gè)綜合實(shí)踐任務(wù),要求學(xué)生使用BeautifulSoupfindHTML提取新聞標(biāo)題和鏈接。提取表格中的數(shù)據(jù)。學(xué)生分組完成任務(wù),教師巡視指導(dǎo)。任務(wù):展示與分享每個(gè)小組展示自己的實(shí)踐項(xiàng)目,分享實(shí)現(xiàn)過程和遇到的問題。教師對(duì)學(xué)生的項(xiàng)目進(jìn)行點(diǎn)評(píng),指出優(yōu)點(diǎn)課后作業(yè)課后作業(yè):正則表達(dá)式爬取外匯網(wǎng)站數(shù)據(jù)(以下內(nèi)容為選填,供線上課程及線上線下混合式課程填報(bào))教學(xué)資源列表與訪問路徑備注中國(guó)大學(xué)MOOC網(wǎng)站:https:///course/ZIIT-1002925008https:///course/ZIIT-1002924007在線教學(xué)過程(學(xué)生自主學(xué)習(xí)指引)學(xué)生在討論區(qū)提問教師在討論區(qū)回答學(xué)生提交作業(yè),講師講評(píng)在線輔導(dǎo)與答疑安排學(xué)生觀看網(wǎng)絡(luò)視頻教師在線回答問題線上作業(yè):復(fù)習(xí)本次課程內(nèi)容預(yù)習(xí)下次課程內(nèi)容教學(xué)單元2.2BeautifulSoup的select函數(shù)查找周次6時(shí)數(shù)4授課班級(jí)教學(xué)目標(biāo)知識(shí)目標(biāo)BeautifulSoupCSSselect技能目標(biāo)BeautifulSoupHTMLselectCSSHTML學(xué)會(huì)提取元素的文本內(nèi)容和屬性值。情感目標(biāo)Web引導(dǎo)學(xué)生理解數(shù)據(jù)提取在實(shí)際應(yīng)用中的重要性。教學(xué)重點(diǎn):BeautifulSoupCSSselect教學(xué)難點(diǎn)CSSHTMLCSS實(shí)驗(yàn)儀器及教具:計(jì)算機(jī)、因特網(wǎng)教學(xué)過程備注教學(xué)過程第一部分:BeautifulSoup與CSS選擇器概述(30分鐘)導(dǎo)入新課(5)HTMLBeautifulSoupHTMLXML文檔的Python庫。HTMLBeautifulSoup理論講解(20)BeautifulSoupBeautifulSoupHTMLXMLBeautifulSoupbashpipinstallbeautifulsoup4HTMLHTMLHTMLHTML<html><head><title>ExamplePage</title></head><body><h1>Welcome</h1><p>Thisisanexampleparagraph.</p><ahref="https://www."class="link">Link</a><divclass="container"><p>Anotherparagraph.</p></div></body></html>CSSCSS標(biāo)簽選擇器:tag類選擇器:.classIDid屬性選擇器:[attribute="value"]組合選擇器:tag.class#id偽類選擇器:tag:nth-child(n)HTMLCSS課堂討論(5)HTMLCSSHTML(40)復(fù)習(xí)導(dǎo)入(5)BeautifulSoupHTMLCSS理論講解(10)selectselectCSSHTMLselectPythonsoup.select(selector)參數(shù)說明:selector:CSS示例:查找特定標(biāo)簽selectHTMLPythontitles=soup.select('title')print(titles[0].text)實(shí)踐操作(20)任務(wù):查找標(biāo)題selectPythontitles=soup.select('title')print("Title:",titles[0].text)學(xué)生練習(xí)查找標(biāo)題標(biāo)簽。任務(wù):查找鏈接selectPythonlinks=soup.select('a')forlinkinlinks:print("Link:",link['href'])href課堂小結(jié)(5)selectselectCSSHTML第三部分:select函數(shù)的高級(jí)用法(40分鐘)復(fù)習(xí)導(dǎo)入(5)selectselect理論講解(10)使用類選擇器o HTMLPythonelements=soup.select('.link')o 介紹如何使用類選擇器查找具有特定類的元素。IDo IDHTMLPythonelement=soup.select('#unique-id')o IDID使用屬性選擇器o HTMLPythonelements=soup.select('a[href="https://"]')o 介紹如何使用屬性選擇器查找具有特定屬性的元素。組合選擇器o HTMLPythonelements=soup.select('div.containerp')o 介紹如何使用組合選擇器查找嵌套的元素。實(shí)踐操作(20)任務(wù):查找特定類的元素o selectPythonelements=soup.select('.link')forelementinelements:print("Element:",element)o 學(xué)生練習(xí)查找具有特定類的元素。IDo selectIDPythonelement=soup.select('#unique-id')print("Element:",element[0])o ID任務(wù):查找特定屬性的元素selectPythonelements=soup.select('a[href="https://"]')forelementinelements:print("Element:",element['href'])學(xué)生練習(xí)查找具有特定屬性的元素。任務(wù):組合選擇器教師演示如何使用組合選擇器查找嵌套的元素:Pythonelements=soup.select('div.containerp')forelementinelements:print("Element:",element.text)學(xué)生練習(xí)使用組合選擇器查找嵌套的元素。課堂小結(jié)(5)selectIDselect)復(fù)習(xí)導(dǎo)入(5)selectselect理論講解(10)綜合案例分析HTMLselect常見問題及解決方案selectHTMLfind課后作業(yè):正則表達(dá)式爬取外匯網(wǎng)站數(shù)據(jù)(以下內(nèi)容為選填,供線上課程及線上線下混合式課程填報(bào))教學(xué)資源列表與訪問路徑備注中國(guó)大學(xué)MOOC網(wǎng)站:https:///course/ZIIT-1002925008https:///course/ZIIT-1002924007在線教學(xué)過程(學(xué)生自主學(xué)習(xí)指引)學(xué)生在討論區(qū)提問教師在討論區(qū)回答學(xué)生提交作業(yè),講師講評(píng)在線輔導(dǎo)與答疑安排學(xué)生觀看網(wǎng)絡(luò)視頻教師在線回答問題線上作業(yè):復(fù)習(xí)本次課程內(nèi)容預(yù)習(xí)下次課程內(nèi)容教學(xué)單元2.3BeautifulSoup高級(jí)查找周次7時(shí)數(shù)4授課班級(jí)教學(xué)目標(biāo)知識(shí)目標(biāo)BeautifulSoupfind_all、select、find_next、find_previous等。CSSBeautifulSoup技能目標(biāo)BeautifulSoupHTML掌握如何提取元素的文本內(nèi)容、屬性值以及子元素。HTML情感目標(biāo)Web引導(dǎo)學(xué)生理解數(shù)據(jù)提取在實(shí)際應(yīng)用中的重要性和復(fù)雜性。教學(xué)重點(diǎn):BeautifulSoupCSSselect教學(xué)難點(diǎn)CSSHTMLCSS實(shí)驗(yàn)儀器及教具:計(jì)算機(jī)、因特網(wǎng)教學(xué)過程備注教學(xué)過程第一部分:BeautifulSoup高級(jí)查找方法概述(30分鐘)導(dǎo)入新課(5)HTMLBeautifulSoupfind_all、select、find_next、find_previous等。HTML理論講解(20)find_allfind_allfind_allPythonsoup.find_all(name,attrs,recursive,text,limit,**kwargs)參數(shù)說明:name:標(biāo)簽名稱。attrs:屬性字典。recursive:是否遞歸查找。text:查找文本內(nèi)容。limit:限制返回的元素?cái)?shù)量。selectselectCSSselectPythonsoup.select(selector)參數(shù)說明:selector:CSS樹形結(jié)構(gòu)導(dǎo)航BeautifulSoup如.contents、.children、.descendants、.parent、.parents等。動(dòng)態(tài)內(nèi)容處理HTMLJavaScript課堂討論(5)find_allselect引導(dǎo)學(xué)生思考如何選擇合適的查找方法。第二部分:find_all(40)復(fù)習(xí)導(dǎo)入(5)find_allfind_all理論講解(10)使用屬性查找HTMLPythonelements=soup.find_all('a',attrs={'class':'link'})o attrs使用文本內(nèi)容查找HTMLPythonelements=soup.find_all(text='Link')text組合查找講解如何結(jié)合標(biāo)簽名、屬性和文本內(nèi)容進(jìn)行組合查找:Pythonelements=soup.find_all('a',text='Link',attrs={'class':'link'})實(shí)踐操作(20)任務(wù):查找特定屬性的元素find_allPythonelements=soup.find_all('a',attrs={'class':'link'})forelementinelements:print("Element:",element)學(xué)生練習(xí)查找具有特定屬性的元素。任務(wù):查找特定文本的元素find_allPythonelements=soup.find_all(text='Link')forelementinelements:print("Element:",element)學(xué)生練習(xí)查找包含特定文本的元素。任務(wù):組合查找教師演示如何結(jié)合標(biāo)簽名、屬性和文本內(nèi)容進(jìn)行組合查找:Pythonelements=soup.find_all('a',text='Link',attrs={'class':'link'})forelementinelements:print("Element:",element)學(xué)生練習(xí)組合查找。課堂小結(jié)(5)find_allfind_all(40)復(fù)習(xí)導(dǎo)入(5)selectselect理論講解(10)CSSCSSHTMLPythonelements=soup.select('a.link')o 介紹如何使用類選擇器、ID嵌套選擇器HTMLPythonelements=soup.select('div.containerp')介紹如何使用嵌套選擇器查找嵌套的元素。偽類選擇器HTMLPythonelements=soup.select('p:nth-child(2)')介紹如何使用偽類選擇器查找特定位置的元素。實(shí)踐操作(20)任務(wù):查找特定類的元素selectPythonelements=soup.select('a.link')forelementinelements:print("Element:",element)學(xué)生練習(xí)查找具有特定類的元素。任務(wù):查找嵌套的元素selectPythonelements=soup.select('div.containerp')forelementinelements:print("Element:",element.text)學(xué)生練習(xí)查找嵌套的元素。Python

任務(wù):使用偽類選擇器教師演示如何使用偽類選擇器查找特定位置的元素:elements=soup.select('p:nth-child(2)')forelementinelements:print("Element:",element.text)o 學(xué)生練習(xí)使用偽類選擇器查找特定位置的元素。課堂小結(jié)(5)selectCSSselect)復(fù)習(xí)導(dǎo)入(5)find_allselectfind_allselect理論講解(10)綜合案例分析HTMLfind_allselect課后作業(yè):正則表達(dá)式爬取外匯網(wǎng)站數(shù)據(jù)(以下內(nèi)容為選填,供線上課程及線上線下混合式課程填報(bào))教學(xué)資源列表與訪問路徑備注中國(guó)大學(xué)MOOC網(wǎng)站:https:///course/ZIIT-1002925008https:///course/ZIIT-1002924007在線教學(xué)過程(學(xué)生自主學(xué)習(xí)指引)學(xué)生在討論區(qū)提問教師在討論區(qū)回答學(xué)生提交作業(yè),講師講評(píng)在線輔導(dǎo)與答疑安排學(xué)生觀看網(wǎng)絡(luò)視頻教師在線回答問題線上作業(yè):復(fù)習(xí)本次課程內(nèi)容預(yù)習(xí)下次課程內(nèi)容教學(xué)單元2.4BeautifulSoup爬取名人名言數(shù)據(jù)周次8時(shí)數(shù)4授課班級(jí)教學(xué)目標(biāo)知識(shí)目標(biāo)了解網(wǎng)絡(luò)爬蟲的基本概念和用途。requestsHTTPBeautifulSoupHTMLHTML技能目標(biāo)requestsBeautifulSoupHTMLCSSBeautifulSoup能夠?qū)⑴廊〉臄?shù)據(jù)保存到本地文件。情感目標(biāo)Web引導(dǎo)學(xué)生理解爬蟲的合法性和道德規(guī)范。教學(xué)重點(diǎn):requestsBeautifulSoupHTMLCSSBeautifulSoup教學(xué)難點(diǎn)CSSHTMLCSS實(shí)驗(yàn)儀器及教具:計(jì)算機(jī)、因特網(wǎng)教學(xué)過程備注教學(xué)過程第一部分:網(wǎng)絡(luò)爬蟲概述(30分鐘)導(dǎo)入新課(5)問題引入:討論如何從網(wǎng)頁中提取數(shù)據(jù),引出網(wǎng)絡(luò)爬蟲的概念。引出主題:介紹網(wǎng)絡(luò)爬蟲的作用和應(yīng)用場(chǎng)景。/網(wǎng)站展示爬蟲的功能。理論講解(20)網(wǎng)絡(luò)爬蟲的基本概念講解網(wǎng)絡(luò)爬蟲的定義:自動(dòng)從互聯(lián)網(wǎng)上抓取數(shù)據(jù)的程序。介紹爬蟲的應(yīng)用場(chǎng)景,如數(shù)據(jù)挖掘、搜索引擎、信息監(jiān)測(cè)等。HTTPHTTPHTTPGET、POSTHTMLHTMLHTML課堂討論(5)提問學(xué)生關(guān)于網(wǎng)絡(luò)爬蟲的基本概念和應(yīng)用場(chǎng)景。引導(dǎo)學(xué)生思考爬蟲的合法性和道德規(guī)范。requests(40)復(fù)習(xí)導(dǎo)入(5)HTTPHTTP理論講解(10)requestsrequestsHTTPrequestsbashpipinstallrequestsrequests.get()方法的基本用法:Pythonimportrequestsresponse=requests.get('http:///')print(response.text)實(shí)踐操作(20)任務(wù):獲取網(wǎng)頁內(nèi)容requests.get()方法獲取/網(wǎng)站的內(nèi)容:Pythonimportrequestsurl='/'response=requests.get(url)print(response.text)o 學(xué)生練習(xí)獲取網(wǎng)頁內(nèi)容。任務(wù):檢查響應(yīng)狀態(tài)碼教師演示如何檢查響應(yīng)狀態(tài)碼:Pythonprint(response.status_code)學(xué)生練習(xí)檢查響應(yīng)狀態(tài)碼。課堂小結(jié)(5)requests強(qiáng)調(diào)檢查響應(yīng)狀態(tài)碼的重要性。第三部分:使用BeautifulSoup解析HTML文檔(40分鐘)復(fù)習(xí)導(dǎo)入(5)requests提問學(xué)生關(guān)于獲取網(wǎng)頁內(nèi)容的方法。理論講解(10)BeautifulSoupBeautifulSoupHTMLBeautifulSoupbashpipinstallbeautifulsoup4BeautifulSoupPythonfrombs4importBeautifulSoupsoup=BeautifulSoup(response.text,'html.parser')findfind_allfindfind_allPythontitle=soup.find('title')print(title.text)quotes=soup.find_all('span',class_='text')forquoteinquotes:print(quote.text)實(shí)踐操作(20)任務(wù):提取標(biāo)題教師演示如何提取網(wǎng)頁標(biāo)題:Pythontitle=soup.find('title')print("Title:",title.text)學(xué)生練習(xí)提取標(biāo)題。任務(wù):提取所有引用教師演示如何提取所有引用:Pythonquotes=soup.find_all('span',class_='text')forquoteinquotes:print("Quote:",quote.text)學(xué)生練習(xí)提取所有引用。課堂小結(jié)(5)BeautifulSoupfindfind_all)復(fù)習(xí)導(dǎo)入(5)requestsBeautifulSoup提問學(xué)生關(guān)于提取網(wǎng)頁標(biāo)題和引用的方法。理論講解(10)綜合案例分析介紹一個(gè)實(shí)際的爬蟲案例,如爬取/網(wǎng)站的所有引用和作者。requestsBeautifulSoup數(shù)據(jù)保存講解如何將爬取的數(shù)據(jù)保存到本地文件:Pythonwithopen('quotes.txt','w',encoding='utf-8')asfile:forquoteinquotes:file.write(quote.text+'\n')綜合實(shí)踐(20)任務(wù):完成爬蟲項(xiàng)目requestsBeautifulSoup/網(wǎng)站的所有引用和作者,并將數(shù)據(jù)保存到本地文件。學(xué)生分組完成任務(wù),教師巡視指導(dǎo)。任務(wù):展示與分享每個(gè)小組展示自己的爬蟲項(xiàng)目,分享實(shí)現(xiàn)過程和遇到的問題。教師對(duì)學(xué)生的項(xiàng)目進(jìn)行點(diǎn)評(píng),指出優(yōu)點(diǎn)和不足。課堂小結(jié)(5)總結(jié)本節(jié)課的主要內(nèi)容:網(wǎng)絡(luò)爬蟲的基本概念、requestsBeautifulSoup庫的使用方法、數(shù)據(jù)保存。強(qiáng)調(diào)爬蟲的合法性和道德規(guī)范,引導(dǎo)學(xué)生合理使用爬蟲技術(shù)。課后作業(yè):/網(wǎng)站的所有引用和作者,并將數(shù)據(jù)保存到本地文件。500(以下內(nèi)容為選填,供線上課程及線上線下混合式課程填報(bào))教學(xué)資源列表與訪問路徑備注中國(guó)大學(xué)MOOC網(wǎng)站:https:///course/ZIIT-1002925008https:///course/ZIIT-1002924007在線教學(xué)過程(學(xué)生自主學(xué)習(xí)指引)學(xué)生在討論區(qū)提問教師在討論區(qū)回答學(xué)生提交作業(yè),講師講評(píng)在線輔導(dǎo)與答疑安排學(xué)生觀看網(wǎng)絡(luò)視頻教師在線回答問題線上作業(yè):復(fù)習(xí)本次課程內(nèi)容預(yù)習(xí)下次課程內(nèi)容教學(xué)單元3.1xpath周次9時(shí)數(shù)4授課班級(jí)教學(xué)目標(biāo)知識(shí)目標(biāo)XPathlxmlHTMLXPathHTML技能目標(biāo)requestslxmlHTMLXPathHTML能夠?qū)⑴廊〉臄?shù)據(jù)保存到本地文件。情感目標(biāo)Web引導(dǎo)學(xué)生理解爬蟲的合法性和道德規(guī)范。教學(xué)重點(diǎn):XPathlxmlXPathHTML教學(xué)難點(diǎn)XPathXPathHTML實(shí)驗(yàn)儀器及教具:計(jì)算機(jī)、因特網(wǎng)教學(xué)過程備注教學(xué)過程第一部分:XPath概述(30分鐘)導(dǎo)入新課(5)XPathXPathHTMLXMLHTMLXPath理論講解(20)XPathXPathHTMLXMLXPath/、//、.、..、@等。XPathXPath/:根節(jié)點(diǎn)。//:當(dāng)前節(jié)點(diǎn)選擇文檔中的節(jié)點(diǎn),而不考慮它們的位置。.:當(dāng)前節(jié)點(diǎn)。..:父節(jié)點(diǎn)。@:選取屬性。HTMLXPathHTML<html><head><title>ExamplePage</title></head><body><h1>Welcome</h1><p>Thisisanexampleparagraph.</p><ahref="https://www."class="link">Link</a></body></html>XPath//title:選擇<title>標(biāo)簽。//a[@class='linkclass="link"屬性的<a>標(biāo)簽。//p/text():選擇<p>標(biāo)簽的文本內(nèi)容。課堂討論(5)XPathXPath第二部分:使用lxml庫解析HTML文檔(40分鐘)復(fù)習(xí)導(dǎo)入(5)XPathXPath理論講解(10)lxmllxmlHTMLXMLXPath。lxmlbashpipinstalllxmllxmlPythonfromlxmlimportetreehtml_doc="""<html><head><title>ExamplePage</title></head><body><h1>Welcome</h1><p>Thisisanexampleparagraph.</p><ahref="https://www."class="link">Link</a></body></html>"""tree=etree.HTML(html_doc)實(shí)踐操作(20)HTMLlxmlHTMLPythonfromlxmlimportetreehtml_doc="""<html><head><title>ExamplePage</title></head><body><h1>Welcome</h1><p>Thisisanexampleparagraph.</p><ahref="https://www."class="link">Link</a></body></html>"""tree=etree.HTML(html_doc)HTMLXPathXPathPythontitle=tree.xpath('//title/text()')print("Title:",title[0])links=tree.xpath('//a[@class="link"]/@href')print("Link:",links[0])XPath課堂小結(jié)(5)lxmlXPathHTML(40)復(fù)習(xí)導(dǎo)入(5)lxmlXPath理論講解(10)XPathXPathcontains(@attributevalue'):選擇包含特定屬性值的元素。starts-with(@attributevalue'):選擇屬性值以特定值開頭的元素。following-sibling:::選擇當(dāng)前節(jié)點(diǎn)之后的所有同級(jí)節(jié)點(diǎn)。preceding-sibling:::選擇當(dāng)前節(jié)點(diǎn)之前的所有同級(jí)節(jié)點(diǎn)。HTMLXPathHTML<html><head><title>ExamplePage</title></head><body><h1>Welcome</h1><p>Thisisanexampleparagraph.</p><ahref="https://www."class="link">Link</a><divclass="container"><p>Anotherparagraph.</p></div></body></html>XPath//a[contains(@class,'link')]:選擇包含class="link"的<a>標(biāo)簽。//p[starts-with(textThis')]:選擇文本內(nèi)容以"This"開頭的<p>標(biāo)簽。//h1/following-sibling::p:選擇<h1>標(biāo)簽之后的所有<p>標(biāo)簽。實(shí)踐操作(20)XPathXPathPythonlinks=tree.xpath('//a[contains(@class,"link")]/@href')print("Link:",links[0])paragraphs=tree.xpath('//p[starts-with(text(),"This")]/text()')print("Paragraph:",paragraphs[0])XPath任務(wù):查找同級(jí)節(jié)點(diǎn)教師演示如何查找同級(jí)節(jié)點(diǎn):Pythonfollowing_paragraphs=tree.xpath('//h1/following-sibling::p/text()')print("FollowingParagraphs:",following_paragraphs)學(xué)生練習(xí)查找同級(jí)節(jié)點(diǎn)。課堂小結(jié)(5)XPathcontains、starts-with、following-siblingXPathHTML)復(fù)習(xí)導(dǎo)入(5)XPathXPath理論講解(10)綜合案例分析HTML/網(wǎng)站的引用和作者。XPath常見問題及解決方案XPathHTMLXPath表達(dá)式等。綜合實(shí)踐(20)任務(wù):完成爬蟲項(xiàng)目requestslxml/網(wǎng)站的所有引用和作者,并將數(shù)據(jù)保存到本地文件。學(xué)生分組完成任務(wù),教師巡視指導(dǎo)。任務(wù):展示與分享每個(gè)小組展示自己的爬蟲項(xiàng)目,分享實(shí)現(xiàn)過程和遇到的問題。教師對(duì)學(xué)生的項(xiàng)目進(jìn)行點(diǎn)評(píng),指出優(yōu)點(diǎn)和不足。課堂小結(jié)(5)總結(jié)本節(jié)課的主要內(nèi)容:XPathlxml強(qiáng)調(diào)爬蟲的合法性和道德規(guī)范,引導(dǎo)學(xué)生合理使用爬蟲技術(shù)。課后作業(yè):/網(wǎng)站的所有引用和作者,并將數(shù)據(jù)保存到本地文件。XPath500(以下內(nèi)容為選填,供線上課程及線上線下混合式課程填報(bào))教學(xué)資源列表與訪問路徑備注中國(guó)大學(xué)MOOC網(wǎng)站:https:///course/ZIIT-1002925008https:///course/ZIIT-1002924007在線教學(xué)過程(學(xué)生自主學(xué)習(xí)指引)學(xué)生在討論區(qū)提問教師在討論區(qū)回答學(xué)生提交作業(yè),講師講評(píng)在線輔導(dǎo)與答疑安排學(xué)生觀看網(wǎng)絡(luò)視頻教師在線回答問題線上作業(yè):復(fù)習(xí)本次課程內(nèi)容預(yù)習(xí)下次課程內(nèi)容教學(xué)單元3.2xpath周次10時(shí)數(shù)4授課班級(jí)教學(xué)目標(biāo)知識(shí)目標(biāo)XPathXPathHTMLXPathHTML技能目標(biāo)lxmlHTMLXPathHTML學(xué)會(huì)將提取的數(shù)據(jù)保存到本地文件。情感目標(biāo)Web引導(dǎo)學(xué)生理解數(shù)據(jù)提取在實(shí)際應(yīng)用中的重要性。教學(xué)重點(diǎn):XPathlxmlXPathHTML教學(xué)難點(diǎn)XPathXPathHTML實(shí)驗(yàn)儀器及教具:計(jì)算機(jī)、因特網(wǎng)教學(xué)過程備注教學(xué)過程第一部分:XPath概述(30分鐘)導(dǎo)入新課(5)XPathXPathHTMLXMLHTMLXPath理論講解(20)XPathXPathHTMLXMLXPath/、//、.、..、@等。XPathXPath/:根節(jié)點(diǎn)。//:當(dāng)前節(jié)點(diǎn)選擇文檔中的節(jié)點(diǎn),而不考慮它們的位置。.:當(dāng)前節(jié)點(diǎn)。..:父節(jié)點(diǎn)。@:選取屬性。HTMLXPathHTML<html><head><title>ExamplePage</title></head><body><h1>Welcome</h1><p>Thisisanexampleparagraph.</p><ahref="https://www."class="link">Link</a></body></html>XPath//title:選擇<title>標(biāo)簽。//a[@class='linkclass="link"屬性的<a>標(biāo)簽。//p/text():選擇<p>標(biāo)簽的文本內(nèi)容。課堂討論(5)XPathXPath第二部分:使用lxml庫解析HTML文檔(40分鐘)復(fù)習(xí)導(dǎo)入(5)XPathXPath理論講解(10)lxmllxmlHTMLXMLXPath。lxmlbashpipinstalllxmllxmlPythonfromlxmlimportetreehtml_doc="""<html><head><title>ExamplePage</title></head><body><h1>Welcome</h1><p>Thisisanexampleparagraph.</p><ahref="https://www."class="link">Link</a></body></html>"""tree=etree.HTML(html_doc)實(shí)踐操作(20)HTMLlxmlHTMLPythonfromlxmlimportetreehtml_doc="""<html><head><title>ExamplePage</title></head><body><h1>Welcome</h1><p>Thisisanexampleparagraph.</p><ahref="https://www."class="link">Link</a></body></html>"""tree=etree.HTML(html_doc)o HTMLXPatho XPathPythontitle=tree.xpath('//title/text()')print("Title:",title[0])links=tree.xpath('//a[@class="link"]/@href')print("Link:",links[0])o XPath課堂小結(jié)(5)lxmlXPathHTML(40)復(fù)習(xí)導(dǎo)入(5)lxmlXPath理論講解(10)查找元素屬性XPathPythonlinks=tree.xpath('//a[@class="link"]/@href')o 介紹如何使用@符號(hào)訪問元素的屬性。查找元素的文本值XPathPythonparagraphs=tree.xpath('//p/text()')text()函數(shù)提取元素的文本內(nèi)容。組合使用講解如何結(jié)合屬性和文本值進(jìn)行查找:Pythonelements=tree.xpath('//a[@class="link"]/text()')實(shí)踐操作(20)任務(wù):查找元素屬性教師演示如何查找元素的屬性:Pythonlinks=tree.xpath('//a[@class="link"]/@href')print("Link:",links[0])學(xué)生練習(xí)查找元素的屬性。任務(wù):查找元素的文本值教師演示如何查找元素的文本值:Pythonparagraphs=tree.xpath('//p/text()')print("Paragraph:",paragraphs[0])學(xué)生練習(xí)查找元素的文本值。任務(wù):組合使用教師演示如何結(jié)合屬性和文本值進(jìn)行查找:Pythonelements=tree.xpath('//a[@class="link"]/text()')print("Element:",elements[0])學(xué)生練習(xí)組合使用屬性和文本值。課堂小結(jié)(5)XPathXPathHTML)復(fù)習(xí)導(dǎo)入(5)XPathXPath理論講解(10)綜合案例分析HTML/網(wǎng)站的引用和作者。XPath常見問題及解決方案XPathHTMLXPath表達(dá)式等。綜合實(shí)踐(20)任務(wù):完成爬蟲項(xiàng)目requestslxml/網(wǎng)站的所有引用和作者,并將數(shù)據(jù)保存到本地文件。學(xué)生分組完成任務(wù),教師巡視指導(dǎo)。任務(wù):展示與分享每個(gè)小組展示自己的爬蟲項(xiàng)目,分享實(shí)現(xiàn)過程和遇到的問每個(gè)小組展示自己的爬蟲項(xiàng)目,分享實(shí)現(xiàn)過程和遇到的問題。教師對(duì)學(xué)生的項(xiàng)目進(jìn)行點(diǎn)評(píng),指出優(yōu)點(diǎn)和不足。課堂小結(jié)(5)總結(jié)本節(jié)課的主要內(nèi)容:XPathlxml強(qiáng)調(diào)爬蟲的合法性和道德規(guī)范,引導(dǎo)學(xué)生合理使用爬蟲技術(shù)。課后作業(yè):/網(wǎng)站的所有引用和作者,并將數(shù)據(jù)保存到本地文件。XPath500(以下內(nèi)容為選填,供線上課程及線上線下混合式課程填報(bào))教學(xué)資源列表與訪問路徑備注中國(guó)大學(xué)MOOC網(wǎng)站:https:///course/ZIIT-1002925008https:///course/ZIIT-1002924007在線教學(xué)過程(學(xué)生自主學(xué)習(xí)指引)學(xué)生在討論區(qū)提問教師在討論區(qū)回答學(xué)生提交作業(yè),講師講評(píng)在線輔導(dǎo)與答疑安排學(xué)生觀看網(wǎng)絡(luò)視頻教師在線回答問題線上作業(yè):復(fù)習(xí)本次課程內(nèi)容預(yù)習(xí)下次課程內(nèi)容教學(xué)單元3.3xpath周次11時(shí)數(shù)4授課班級(jí)教學(xué)目標(biāo)知識(shí)目標(biāo)XPathXPathHTMLHTML技能目標(biāo)requestslxmlHTML學(xué)會(huì)將爬取的數(shù)據(jù)保存到本地文件(CSVExcel。情感目標(biāo)Web引導(dǎo)學(xué)生理解爬蟲的合法性和道德規(guī)范。教學(xué)重點(diǎn):XPathrequestslxmlHTML提取天氣預(yù)報(bào)數(shù)據(jù)并保存到本地文件。教學(xué)難點(diǎn)XPathXPathHTMLHTML實(shí)驗(yàn)儀器及教具:計(jì)算機(jī)、因特網(wǎng)教學(xué)過程備注第一部分:XPath與lxml庫概述(30分鐘)導(dǎo)入新課(5)XPathXPathHTMLXMLHTMLXPath理論講解(20)XPathXPathHTMLXMLXPath/、//、.、..、@等。XPathXPath/:根節(jié)點(diǎn)。.:當(dāng)前節(jié)點(diǎn)。..:父節(jié)點(diǎn)。@:選取屬性。HTMLXPathHTML<html>

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論