版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、樣的教育,不一樣的品質(zhì)黑馬程序員樣的教育,不一樣的品質(zhì) HYPERLINK :/ itheima itheima 傳智教育旗下 高端IT教育品牌黑馬程序員Python網(wǎng)絡(luò)爬蟲基礎(chǔ)教程教學(xué)設(shè)計(jì)課程名稱: 授課年級:授課學(xué)期:教師發(fā)名:課題名稱第3章抓取靜態(tài)網(wǎng)頁數(shù)據(jù)4課時(shí)課時(shí)教學(xué)引入靜態(tài)網(wǎng)頁是早期網(wǎng)站中經(jīng)常用到的頁面,這類網(wǎng)頁的特點(diǎn)是所有數(shù)據(jù)都直 接呈現(xiàn)在網(wǎng)頁源代碼中,對于網(wǎng)絡(luò)爬蟲來說,只要獲取了靜態(tài)網(wǎng)頁的源代碼, 就相當(dāng)于抓取了靜態(tài)網(wǎng)頁的數(shù)據(jù),操作比擬簡單。本章將針對抓取靜態(tài)網(wǎng)頁數(shù) 據(jù)的相關(guān)內(nèi)容進(jìn)行詳細(xì)地講解。教學(xué)目標(biāo)使學(xué)生了解抓取靜態(tài)網(wǎng)頁的實(shí)現(xiàn)技術(shù),能夠說出每種實(shí)現(xiàn)技術(shù)的特點(diǎn)使學(xué)生掌握Requ
2、ests中基本請求的發(fā)送方式,能夠向服務(wù)器發(fā)送GET請求 和POST請求使學(xué)生掌握Requests中響應(yīng)內(nèi)容的處理方式,能夠使用多種形式獲取響應(yīng) 內(nèi)容使學(xué)生掌握Requests中請求頭的定制方式,能夠?yàn)镚ET請求和POST請求 定制請求頭使學(xué)生掌握Requests中代理服務(wù)器的設(shè)置方式,能夠?yàn)檎埱笤O(shè)置代理服務(wù) 器使學(xué)生掌握Requests中異常的處理方式,能夠處理請求超時(shí)異常教學(xué)重點(diǎn)發(fā)送GET請求發(fā)送POST請求處理響應(yīng)定制請求頭驗(yàn)證 Cookie保持會話SSL證書驗(yàn)證代理服務(wù)器簡介設(shè)置代理服務(wù)器檢測代理IP的有效性處理異常教學(xué)難點(diǎn) 處理響應(yīng) 定制請求頭驗(yàn)證 Cookie 保持會話教學(xué)方式課堂
3、教學(xué)以PPT講授為主,并結(jié)合多媒體進(jìn)行教學(xué)教 學(xué) 過 程第一課時(shí)(抓取靜態(tài)網(wǎng)頁的技術(shù)、發(fā)送GET請求、發(fā)送POST請求、處理響 應(yīng))一、創(chuàng)設(shè)情景,導(dǎo)入新課教師首先向?qū)W生提問,靜態(tài)頁面數(shù)據(jù)如何抓取,引出抓取靜態(tài)網(wǎng)頁的實(shí)現(xiàn) 技術(shù);然后教師講解網(wǎng)站對于不同數(shù)據(jù),所使用的請求方式也不同,引出發(fā)送 GET請求和發(fā)送POST請求;最后教師向?qū)W生講解,當(dāng)請求發(fā)送成功后,網(wǎng)站 會將請求數(shù)據(jù)進(jìn)行響應(yīng),引出處理響應(yīng)。二、新課講解知識點(diǎn)1抓取靜態(tài)網(wǎng)頁的技術(shù)教師通過PPT的方式講解抓取靜態(tài)網(wǎng)頁的技術(shù)。(1) 了解什么是urllib。黑馬程序員 HYPERLINK :/ itheima itheima 傳智教育旗下 高
4、端IT教育品牌樣的教育,不一樣的品質(zhì)黑馬程序員 HYPERLINK :/ itheima itheima 傳智教育旗下 高端黑馬程序員 HYPERLINK :/ itheima itheima 傳智教育旗下 高端IT教育品牌樣的教育,不一樣的品質(zhì)T解什么是 Requests。教師通過PPT的方式講解什么是urllibourllib是Python最早內(nèi)置的 客戶端庫,它涵蓋了基礎(chǔ)的網(wǎng)絡(luò)請求功 能。urllib庫中主要包含了 4個(gè)用于處理URL的模塊,這些模塊分別是 urllib.request、urllib.error urllib.parse urllib.robotparser,其中 url
5、lib.request 模塊封裝了構(gòu)造和發(fā)送網(wǎng)絡(luò)請求的功能,urllib.error模塊封裝了發(fā)送請求時(shí)出 現(xiàn)的所有網(wǎng)絡(luò)異常,urllib.parse模塊封裝了解析網(wǎng)頁數(shù)據(jù)的功能, urllib.robotparser模塊封裝了解析robots.txt文件的功能。教師通過PPT的方式講解什么是urllib3ourllib3是一個(gè)強(qiáng)大的、用戶友好的Python的 客戶端庫,它主要服務(wù) 于升級的 1.1標(biāo)準(zhǔn),增加了一些urllib庫中缺少的特性,包括線程平安、 連接池、客戶端TLS/SSL驗(yàn)證、文件分部編碼上傳、壓縮編碼等。教師通過PPT的方式講解什么是RequestsoRequests是基于ur
6、llib3編寫的庫,該庫自稱 for Humans,直譯過來的意 思是專門為人類設(shè)計(jì)的 庫,對開發(fā)人員更加友好。Requests相比urllib, Requests庫會在請求完網(wǎng)頁數(shù)據(jù)后重復(fù)使用Socket套接字,并沒有與服務(wù)器斷 開連接,而urllib庫會在請求完網(wǎng)頁數(shù)據(jù)后會斷開與服務(wù)器的連接。知識點(diǎn)2-發(fā)送GET請求教師通過PPT的方式講解發(fā)送GET請求。掌握使用Requests庫發(fā)送GET請求。(2)掌握使用get()函數(shù)發(fā)送不攜帶URL參數(shù)的請求。(3)掌握使用get()函數(shù)發(fā)送攜帶URL參數(shù)的請求。教師通過PPT的方式講解使用Requests庫發(fā)送GET請求。在Requests庫中,
7、GET請求通過調(diào)用get。函數(shù)發(fā)送,該函數(shù)會根據(jù)傳入的 URL構(gòu)建一個(gè)請求(每個(gè)請求都是Request類的對象),將該請求發(fā)送給服務(wù) 器,并接收服務(wù)器成功響應(yīng)后返回的響應(yīng)信息。教師通過PPT的方式講解使用get()函數(shù)發(fā)送不攜帶URL參數(shù)的請求。假設(shè)GET請求的URL中不攜帶參數(shù),我們在調(diào)用get()函數(shù)發(fā)送GET請求時(shí) 只需要給url參數(shù)傳入指定的URL即可。教師通過PPT的方式講解使用get()函數(shù)發(fā)送攜帶URL參數(shù)的請求。假設(shè)GET請求的URL中攜帶參數(shù),我們在調(diào)用get()函數(shù)時(shí)可以采用兩種方 式發(fā)送GET請求,第1種方式為手動構(gòu)建完整的URL;第2種方式是將參數(shù) 轉(zhuǎn)換為字典,之后將該
8、字典傳入params參數(shù)。知識點(diǎn)3-發(fā)送POST請求教師通過PPT的方式講解發(fā)送POST請求。在Requests中,POST請求可以通過調(diào)用post。函數(shù)發(fā)送,post。函數(shù)會根 據(jù)傳入的URL構(gòu)建一個(gè)請求,將該請求發(fā)送給服務(wù)器,并接收服務(wù)器成功響應(yīng) 后返回的響應(yīng)信息。知識點(diǎn)4-處理響應(yīng)教師通過PPT的方式講解處理響應(yīng)。當(dāng)服務(wù)器返回的響應(yīng)狀態(tài)碼為200時(shí),說明本次 請求成功,此時(shí)可 以接收到由服務(wù)器返回的響應(yīng)信息。在Requests庫中,Response類的對象中封 裝了服務(wù)器返回的響應(yīng)信息,包括響應(yīng)頭和響應(yīng)內(nèi)容等。除了前面講解的黑馬程序員傳智教育旗下 HYPERLINK :/ itheima
9、 itheima I高端IT教育品牌一樣的教育,不一樣的品質(zhì)status_code屬性之外,Response類中還提供了一些其他屬性。Response類的常 用屬性如下表所示。屬性說明status_code獲取服務(wù)器返回的狀態(tài)碼text獲取字符串形式的響應(yīng)內(nèi)容content獲取二進(jìn)制形式的響應(yīng)內(nèi)容url獲取響應(yīng)的最終URLrequest獲取請求方式headers獲取響應(yīng)頭encoding設(shè)置或獲取響應(yīng)內(nèi)容的編碼格式,與text屬性搭配使用cookies獲取服務(wù)器返回的Cookie三、歸納總結(jié)教師回顧本節(jié)課所講的內(nèi)容,并通過測試題的方式引導(dǎo)學(xué)生解答問題并給 予指導(dǎo)。四、布置作業(yè)教師通過高校教輔平
10、臺( HYPERLINK :/tch :/tch. ityxb. com)布置本節(jié)課作業(yè)以及下 節(jié)課的預(yù)習(xí)作業(yè)。第二課時(shí)(定制請求頭、驗(yàn)證Cookie、保持會話、SSL證書驗(yàn)證) 一、復(fù)習(xí)鞏固教師通過上節(jié)課作業(yè)的完成情況,對學(xué)生吸收不好的知識點(diǎn)進(jìn)行再次鞏固 講解。一、教師通過直接導(dǎo)入的方式導(dǎo)入新課上節(jié)課主要講解了抓取靜態(tài)頁面的技術(shù)、發(fā)送GET請求、發(fā)送POST請求、 處理響應(yīng),接下來,本節(jié)課將講解定制請求頭、驗(yàn)證Cookie保持會話、SSL 證書驗(yàn)證。三、新課講解知識點(diǎn)1-定制請求頭教師通過PPT的方式講解定制請求頭。(1)掌握如何查看請求頭。(2)掌握如何設(shè)置請求頭。教師通過PPT的方式講解
11、如何查看請求頭。翻開Fiddler工具,在Chrome瀏覽器中加載知乎網(wǎng)登錄頁面,加載完成后 切換至Fiddler工具,在窗口左側(cè)選中剛剛發(fā)送的 請求,并在窗口右側(cè)查 看該請求對應(yīng)的請求頭信息,具體如下列圖所示。黑馬程序員黑馬程序員 HYPERLINK :/ itheima itheima 黑馬程序員 HYPERLINK :/ itheima itheima黑馬程序員 HYPERLINK :/ itheima itheima 傳智教育旗下 高端IT教育品牌樣的教育,不一樣的品質(zhì)QReplay X Go Stream Decode Keep: All sessions Any Process 的
12、 Find 瓜 Save 阮 Browse * Clear Cache /T Textwizard3456789111234567891112131415161718195 片ft fta國自層C語匡A攔ft.434567891112131415161718195 片ft fta國自層C語匡A攔ft.4Hos Tumd tc wwv/.douban.conTumd to I accounts.douban.con irpg3,doubanio I Tumd to I Tumei tq I fundn.dcxjbdn.con music.douban.coaTunneJ td I vww.dou
13、ban.con I34567891112131415161718195 片ft fta國自層C語匡A攔ft.4Hos Tumd tc wwv/.douban.conTumd to I accounts.douban.con irpg3,doubanio I Tumd to I Tumei tq I fundn.dcxjbdn.con music.douban.coaTunneJ td I vww.douban.con ITumd to I quri.f.36O.cr ssl.google-analytKS.Tumd U ETumd to I Tumei tq I百幕( | TextWew Sy
14、ntaxMew | WebForms HexView | Auth Cookies Raw | JSON | XMLRequest Headers Raw) (Header DefinibonsGST / /1. 1CacheCache-Control: max-age-0CbentAccept: texttni,appicatx)n/xhtnil+xnil,appScatjon/xmi;qO.9,irndge/dvifrrnaQe/AebprrndQe/apngf*/*;qO.8,dppication/sigried-cxchanQe;Accept-Encodng: gzp, deflate
15、, br4 Anni i/int*,#yh:cafl.q| Use-Agent: Mozila/S.O (V/ndoAs HT 6.1; Wn64; x64) AppleWebKrt/S37.36 (KHTM., ike Gecko) Chrome/90.0.4430.212 Safyi/537.36 | CookiesE CookeS _gadsID-58611d6fad2ac3:T-1569201790:S-ALNI_MaMk2266MPrflaXc40Nw3YMf(XIA _utma=X 149280.202621375.1534930622.1621843583.1621846801.
16、69上圖中可以看出,字段User-Agent的值為Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36o教師通過PPT的方式講解如何設(shè)置請求頭。在requests中,設(shè)置請求頭的方式非常簡單,只需要在調(diào)用請求函數(shù)時(shí)為 headers參數(shù)傳入定制好的請求頭即可,一般是將請求頭中的字段與值分別作為 字典的鍵與值,以字典的形式傳給headers參數(shù)。知識點(diǎn)2.驗(yàn)證Cookie教師通過PPT的方式講解驗(yàn)證Cookieo在Requ
17、ests庫中,發(fā)送請求時(shí)可以通過兩種方式攜帶Cookie, 一種方式直 接將包含Cookie信息的請求頭傳入請求函數(shù)的headers參數(shù);另一種方式是將 Cookie信息傳入請求函數(shù)的cookies參數(shù)。知識點(diǎn)3.保持會話教師通過PPT的方式講解保持會話。在Requests中,Session類負(fù)責(zé)管理會話,通過Session類的對象不僅可以 實(shí)現(xiàn)在同一會話內(nèi)發(fā)送屢次請求的功能,還可以在跨請求時(shí)保持Cookie信息。知識點(diǎn)4-SSL證書驗(yàn)證教師通過PPT的方式講解SSL證書驗(yàn)證。當(dāng)使用Requests調(diào)用請求函數(shù)發(fā)送請求時(shí),由于請求函數(shù)的verify參數(shù)的 默認(rèn)值為True,所以每次請求網(wǎng)站時(shí)默
18、認(rèn)都會進(jìn)行SSL證書的驗(yàn)證。不過,有 些網(wǎng)站可能沒有購買SSL證書,或者SSL證書失效,當(dāng)程序訪問這類網(wǎng)站時(shí)會 因?yàn)檎也坏絊SL證書而拋出SSLError異常。四、歸納總結(jié)教師回顧本節(jié)課所講的內(nèi)容,并通過測試題的方式引導(dǎo)學(xué)生解答問題并給 予指導(dǎo)。五、布置作業(yè)教師通過高校教輔平臺( :tch.ityxb )布置本節(jié)課作業(yè)以及下節(jié)課 的預(yù)習(xí)作業(yè)。第三課時(shí)(代理服務(wù)器簡介、設(shè)置代理服務(wù)器、檢測代理IP的有效性、處理 異常)一、復(fù)習(xí)鞏固教師通過上節(jié)課作業(yè)的完成情況,對學(xué)生吸收不好的知識點(diǎn)進(jìn)行再次鞏固 講解。二、教師通過直接導(dǎo)入的方式導(dǎo)入新課上節(jié)課主要講解了定制請求頭、驗(yàn)證Cookie、保持會話、SSL
19、證書驗(yàn)證,接下來,本節(jié)課將講解代理服務(wù)器簡介、設(shè)置代理服務(wù)器、檢測代理IP的有效 性、處理異常。四、新課講解知識點(diǎn)1-代理服務(wù)器簡介教師通過PPT的方式講解代理服務(wù)器簡介。(1)掌握什么代理服務(wù)器。(2)掌握代理服務(wù)器的分類。教師通過PPT的方式講解什么是代理服務(wù)器。為防止網(wǎng)絡(luò)爬蟲被封IP,我們可以利用某種技術(shù)偽裝IP地址,讓服務(wù)器識 別不出由哪臺設(shè)備發(fā)起的請求,這種技術(shù)就是代理服務(wù)器,代理服務(wù)器(Proxy Server)用于代理客戶端用戶去服務(wù)器端獲得網(wǎng)絡(luò)信息。教師通過PPT的方式講解代理服務(wù)器的分類。(1)高度匿名代理:會將數(shù)據(jù)包原封不動地轉(zhuǎn)發(fā)給服務(wù)器,讓服務(wù)器認(rèn)為 當(dāng)前訪問的用戶只是一
20、個(gè)普通客戶端,而不是代理服務(wù)器,并記錄代理服務(wù)器 的IP地址。(2)普通匿名代理:會對數(shù)據(jù)包進(jìn)行一些改動,這時(shí)服務(wù)器可能會發(fā)現(xiàn)當(dāng) 前訪問的用戶是代理服務(wù)器,也可能會追查到客戶端的真實(shí)IP地址。(3)透明代理:不僅會改動數(shù)據(jù)包,還會暴露當(dāng)前訪問客戶端的真實(shí)IP 地址。這類代理除了通過緩存提升訪問速度,通過內(nèi)容過濾提高平安性之外, 并沒有其他顯著的作用,常見的場景就是內(nèi)網(wǎng)中的硬件防火墻。知識點(diǎn)2.設(shè)置代理服務(wù)器教師通過PPT的方式講解設(shè)置代理服務(wù)器。(1)掌握獲取代理IP。(2)掌握設(shè)置代理IP。教師通過PPT的方式講解獲取代理IPo(1)獲取免費(fèi)代理IP免費(fèi)代理IP基本沒有本錢,我們可以從免費(fèi)代
21、理網(wǎng)站上,比方快代理、全 網(wǎng)代理IP等,找一些免費(fèi)代理IP,測試可用后便可以收集起來備用,但使用這 種方式獲取的可用代理IP相對較少。(2)獲取付費(fèi)代理IP互聯(lián)網(wǎng)上存在許多代理商,用戶付費(fèi)后便可以獲得一些高質(zhì)量的代理IPo(3) ADSL 撥號ADSL通過撥號的方式上網(wǎng),需要輸入ADSL賬號和密碼,每次撥號都會 更換一個(gè)新的IP地址,不過ADSL撥號操作起來比擬麻煩,每切換一次IP地 址就要重新?lián)芴枺負(fù)芷陂g還會處于短暫斷網(wǎng)的狀態(tài)。教師通過PPT的方式講解設(shè)置代理IPo在Requests中,設(shè)置代理IP的方式非常簡單,我們只需要在調(diào)用請求函數(shù) 時(shí)為proxies參數(shù)傳入一個(gè)字典,該字典中包含了
22、所需要的代理IP,其中字典 的鍵為代理類型( 或 s),字典的值為“代理類型:/IP地址:端口號”格 式的字符串。例如,定義一個(gè)包含兩個(gè)代理IP的字典,代碼如下。proxies = 1 1: 1 :/10.10.1.10:3128r t1 s1: , HYPERLINK s:/10.10.1.10:10801 s:/10.10.1.10:10801,樣的教育,不一樣的品質(zhì) HYPERLINK :/ itheima itheima 黑馬程序員傳智教育旗下 高端IT教育品牌黑馬程序員 HYPERLINK :/ itheima itheima 傳智教育旗下 高端IT教育品牌黑馬程序員 HYPERLINK :/ itheima itheima 傳智教育旗下 高端IT教育品牌樣的教育,不一樣的品質(zhì)教師通過PPT的方式講解檢測代理IP有效性?;ヂ?lián)網(wǎng)上有很多免費(fèi)的代理IP,這些IP地址并不都是有效的,為此我們 需要對獲取的免費(fèi)IP地址進(jìn)行檢測,確定這個(gè)IP地址是否有效。檢測代理IP 的過程比擬簡單,我們需要先遍歷提供的所有代理IP,分別將取出來的每個(gè)代 理IP依次設(shè)為代理,再通過該IP地址向網(wǎng)站發(fā)送請求,如果請求成功,那么
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東勝利職業(yè)學(xué)院《企業(yè)家與創(chuàng)業(yè)》2023-2024學(xué)年第二學(xué)期期末試卷
- 西京學(xué)院《單片機(jī)技術(shù)及應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 七臺河職業(yè)學(xué)院《有機(jī)化學(xué)2》2023-2024學(xué)年第二學(xué)期期末試卷
- 唐山幼兒師范高等??茖W(xué)?!秱鹘y(tǒng)木構(gòu)建筑營造做法》2023-2024學(xué)年第二學(xué)期期末試卷
- 南京航空航天大學(xué)《計(jì)算機(jī)電子電路基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 南華大學(xué)船山學(xué)院《學(xué)校德育》2023-2024學(xué)年第二學(xué)期期末試卷
- 東北財(cái)經(jīng)大學(xué)《大數(shù)據(jù)商務(wù)智能》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川長江職業(yè)學(xué)院《女裝工藝與制作》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東省青島市2026屆高三第一學(xué)期期末學(xué)業(yè)水平檢測政治(含答案)
- 增強(qiáng)現(xiàn)實(shí)開發(fā)協(xié)議
- 2025年華潤守正評標(biāo)專家考試題庫及答案
- 高血壓急癥的快速評估與護(hù)理
- JJG 264-2025 谷物容重器檢定規(guī)程
- 養(yǎng)老院設(shè)施審批流程
- 【9英一?!渴徍?024-2025學(xué)年中考第一次模擬考試英語試卷
- 公司股東入股合作協(xié)議書
- 中國糖尿病防治指南(2024版)解讀
- 2024年勞動保障監(jiān)察和調(diào)解仲裁股年終總結(jié)
- 物業(yè)工程管理中的成本控制方法
- 2023年四川省綿陽市中考數(shù)學(xué)試卷
- 安徽省合肥市包河區(qū)2023-2024學(xué)年七年級下學(xué)期期中數(shù)學(xué)試卷
評論
0/150
提交評論