網(wǎng)頁數(shù)據(jù)源獲取_第1頁
網(wǎng)頁數(shù)據(jù)源獲取_第2頁
網(wǎng)頁數(shù)據(jù)源獲取_第3頁
網(wǎng)頁數(shù)據(jù)源獲取_第4頁
網(wǎng)頁數(shù)據(jù)源獲取_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

網(wǎng)頁數(shù)據(jù)源獲取網(wǎng)絡(luò)爬蟲概述網(wǎng)絡(luò)爬蟲(又稱為網(wǎng)絡(luò)蜘蛛、網(wǎng)絡(luò)機(jī)器人等),是一種按照一定的規(guī)則,自動(dòng)抓取網(wǎng)絡(luò)信息的程序或者腳本。網(wǎng)絡(luò)爬蟲的基本原理是用戶通過網(wǎng)址(URL)向服務(wù)器發(fā)送訪問請(qǐng)求(HTTP請(qǐng)求),服務(wù)器在收到客戶的請(qǐng)求以后,驗(yàn)證請(qǐng)求的有效性,然后向客戶端發(fā)送響應(yīng)內(nèi)容(Response),客戶端接收并將內(nèi)容展示出來。網(wǎng)絡(luò)爬蟲類似于模擬用戶瀏覽網(wǎng)頁的操作,通過模擬瀏覽器向網(wǎng)站發(fā)送請(qǐng)求,再獲得相關(guān)資源后,從中提取有用的數(shù)據(jù)并進(jìn)行保存。網(wǎng)絡(luò)爬蟲的一般工作流程如圖1所示。圖1網(wǎng)絡(luò)爬蟲的基本流程URLURL(UniformResourceLocator)是統(tǒng)一資源定位符,是對(duì)互聯(lián)網(wǎng)上得到資源的位置和訪問方法的一種簡(jiǎn)潔表示,URL具有全球唯一性。URL的一般語法格式為:協(xié)議+IP地址(域名)+端口號(hào)+路徑+參數(shù)+查詢+信息片段,例如:http://www.*****.com/***,其中http為傳輸協(xié)議,www.*****.com為域名,/***為路徑。中聯(lián)集團(tuán)教育科技有限公司的URL如圖2所示。圖2中聯(lián)集團(tuán)教育科技有限公司URLHTTP協(xié)議1.HTTP協(xié)議的含義HTTP(HyperTextTransferProtocol,超文本傳輸協(xié)議)是用于從網(wǎng)絡(luò)傳輸超文本數(shù)據(jù)到本地瀏覽器的傳輸協(xié)議,它能夠保證高效而準(zhǔn)確地傳送超文本書檔。HTTP請(qǐng)求是目前互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)請(qǐng)求方式,常見的是在網(wǎng)絡(luò)瀏覽器中輸入一個(gè)網(wǎng)址,在訪問網(wǎng)頁時(shí),服務(wù)器把網(wǎng)頁傳送給瀏覽器,實(shí)際上就是把網(wǎng)頁的HTML代碼發(fā)送給瀏覽器,從而讓瀏覽器顯示出來,瀏覽器和服務(wù)器之間的傳輸協(xié)議即是HTTP協(xié)議。HTTP協(xié)議2.HTTP請(qǐng)求過程在瀏覽器中輸入一個(gè)URL,按回車鍵后,在瀏覽器中觀察頁面內(nèi)容,其中的過程是瀏覽器向網(wǎng)站所在服務(wù)器發(fā)送一個(gè)Request(請(qǐng)求),網(wǎng)站服務(wù)器接收到Request后進(jìn)行處理和解析,然后返回對(duì)應(yīng)的Response(響應(yīng)),傳回瀏覽器,Response中包含頁面的源代碼等內(nèi)容,瀏覽器再對(duì)其進(jìn)行解析便會(huì)將網(wǎng)頁呈現(xiàn)出來,如圖3所示。圖3請(qǐng)求響應(yīng)模型HTTP協(xié)議3.RequestRequest由客戶端向服務(wù)端發(fā)出,是一個(gè)功能強(qiáng)大的網(wǎng)絡(luò)請(qǐng)求庫,可以請(qǐng)求網(wǎng)站獲取網(wǎng)頁上的數(shù)據(jù)。Request的引入規(guī)則為:importrequests??梢詫equest劃分為以下4部分內(nèi)容:RequestMethod:請(qǐng)求方法。RequestURL:請(qǐng)求URL地址。RequestHeaders:請(qǐng)求標(biāo)頭。RequestBody:請(qǐng)求體。一般承載的內(nèi)容是POST請(qǐng)求中的表單數(shù)據(jù),而對(duì)于GET請(qǐng)求,RequestBody則為空。HTTP協(xié)議4.ResponseResponse對(duì)象包含爬蟲返回的內(nèi)容,由服務(wù)端返回給客戶端。Response可以劃分為以下3部分:ResponseStatusCode:請(qǐng)求返回狀態(tài)碼。200表示連接成功,404或其他表示失敗。ResponseHeaders:響應(yīng)標(biāo)頭。ResponseBody:響應(yīng)體。響應(yīng)的正文數(shù)據(jù)都包含在響應(yīng)體中。在執(zhí)行網(wǎng)絡(luò)爬蟲程序中,主要解析的內(nèi)容就是ResponseBody,通過ResponseBody可以得到網(wǎng)頁的源代碼、JSON數(shù)據(jù)等,然后提取其中的內(nèi)容。HTTP協(xié)議5.示例在中聯(lián)教學(xué)平臺(tái)中打開JupyterNotebook工具,新建一個(gè)Python文件,在代碼編輯區(qū)域中輸入如下代碼:importrequests#導(dǎo)入爬蟲的request庫,不然調(diào)用不了爬蟲的函數(shù)response=requests.get("/")#生成一個(gè)response對(duì)象response.encoding=response.apparent_encoding#設(shè)置編碼格式pri

溫馨提示

  • 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)論