爬虫实战学习笔记_1 爬虫基础+HTTP原理
1 爬蟲簡介
網(wǎng)絡(luò)爬蟲(又被稱作網(wǎng)絡(luò)蜘蛛、網(wǎng)絡(luò)機器人,在某些社區(qū)中也經(jīng)常被稱為網(wǎng)頁追逐者)可以按照指定的規(guī)則(網(wǎng)絡(luò)爬蟲的算法)自動瀏覽或抓取網(wǎng)絡(luò)中的信息。
1.1 Web網(wǎng)頁存在方式
- 表層網(wǎng)頁指的是不需要提交表單,使用靜態(tài)的超鏈接就可以直接訪問的靜態(tài)頁面。
- 深層網(wǎng)頁指的是需要用戶提交一些關(guān)鍵詞才能獲得的Wb頁面。深層頁面需要訪問的信息數(shù)量是表層頁面信息數(shù)量的幾百倍,所以深層頁面是主要的爬取對象。
1.2 網(wǎng)絡(luò)爬蟲的分類
1.2.1通用網(wǎng)絡(luò)爬蟲/全網(wǎng)爬蟲
- 通用網(wǎng)絡(luò)爬蟲的爬行范圍和數(shù)量巨大,對爬行速度和存儲空間要求較高,通常采用并行工作方式,需要較長時間才可以刷新一次頁面,所以存在著一定的缺陷。
- 主要應(yīng)用于大型搜索引擎中,有非常高的應(yīng)用價值。通用網(wǎng)絡(luò)爬蟲主要由初始URL(統(tǒng)一資源定位符)集合、UL隊列、頁面爬行模塊,頁面分析模塊、頁面數(shù)據(jù)庫、鏈接過濾模塊等構(gòu)成。
1.2.2 聚焦網(wǎng)絡(luò)爬蟲/主題網(wǎng)絡(luò)爬蟲
- 主要指按照預(yù)先定義好的主題,有選擇地進行相關(guān)網(wǎng)頁爬取的一種網(wǎng)絡(luò)爬蟲,將爬取的目標(biāo)網(wǎng)頁定位在與主題相關(guān)的頁面中,極大地節(jié)省了硬件和網(wǎng)絡(luò)資源,保存的頁面也由于數(shù)量少而更快了。
- 主要應(yīng)用在對特定信息的爬取,為某一類特定的人群提供服務(wù)。
1.2.3 深層網(wǎng)絡(luò)爬蟲
深層網(wǎng)絡(luò)爬蟲主要通過六個基本功能的模塊(爬行控制器、解析器、表單分析器、表單處理器、響應(yīng)分析器、LVS控制器)和兩個爬蟲內(nèi)部數(shù)據(jù)結(jié)構(gòu)(URL列表、LVS表)等部分構(gòu)成。其中,LVS表示標(biāo)簽、數(shù)值集合,用來表示填充表單的數(shù)據(jù)源。
1.3 爬蟲的原理
①獲取初始的網(wǎng)絡(luò)地址,該地址是用戶自己制定的初始爬取的網(wǎng)頁。
②通過爬蟲代碼向網(wǎng)頁服務(wù)器發(fā)送網(wǎng)絡(luò)請求。
③實現(xiàn)網(wǎng)頁中數(shù)據(jù)的解析,確認數(shù)據(jù)在網(wǎng)頁代碼中的位置。
④在服務(wù)器響應(yīng)數(shù)據(jù)中,提取數(shù)據(jù)內(nèi)容。
⑤實現(xiàn)數(shù)據(jù)的清洗,將無用數(shù)據(jù)篩選。
⑥將清洗后的數(shù)據(jù)保存至本地或數(shù)據(jù)庫當(dāng)中。
2 HTTP原理
2.1 URL
使用瀏覽器訪問網(wǎng)頁時,需要在瀏覽器地址欄處填寫目標(biāo)網(wǎng)頁的URL地址,統(tǒng)一資源定位符。
2.2 HTTP協(xié)議
HTTP(hypertext transfer protocol),即超文本傳輸協(xié)議,是互聯(lián)網(wǎng)上應(yīng)用最為廠廠泛的一種網(wǎng)絡(luò)),主要利用TCP(傳輸控制協(xié)議)在web服務(wù)器和客戶端之間傳輸信息的協(xié)議??蛻舳耸褂闷靼l(fā)起HTTP請求給Web服務(wù)器,Web服務(wù)器發(fā)送被請求的信息給客戶端。
2.2.1 HTTP與Web服務(wù)器
當(dāng)在瀏覽器輸人URL地址后,瀏覽器會先請求DNS域名系統(tǒng)服務(wù)器,獲得請求站點的P地址(根據(jù)URL地址www.aliyun.com獲取其對應(yīng)的P地址,如101.201.120.85),然后發(fā)送一個HTTP請求(request)給擁有該IP的主機(阿里云服務(wù)器),接著就會接收到服務(wù)器返回的HTTP響應(yīng)(response),瀏覽器經(jīng)過渲染后,以一種較好的效果呈現(xiàn)給用戶。
2.2.2 Web服務(wù)器工作原理
①建立連接:客戶端通過TCP/IP(傳輸控制協(xié)議、網(wǎng)際協(xié)議)協(xié)議建立到服務(wù)器的TCP連接。
②請求過程:客戶端向服務(wù)器發(fā)送HTTP協(xié)議請求包,請求服務(wù)器里的資源文檔。
③應(yīng)答過程:服務(wù)器向客戶端發(fā)送HTTP協(xié)議應(yīng)答包,如果請求的資源包含動態(tài)語言的內(nèi)容,那么服務(wù)器會調(diào)用動態(tài)語言的解釋引擎處理動態(tài)語言部分,并將處理后得到的數(shù)據(jù)返回給客戶端。由客戶端HTML(超文本標(biāo)記語言)文檔,并在客戶端屏幕上渲染圖形結(jié)果。服務(wù)器返回給客戶端的狀態(tài)碼可分為5種類型,由它們的第一位數(shù)字表示。
④關(guān)閉連接:客戶端與服務(wù)器斷開連接。
2.2.3 瀏覽器中的請求與響應(yīng)
總結(jié)
以上是生活随笔為你收集整理的爬虫实战学习笔记_1 爬虫基础+HTTP原理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Pytorch神经网络实战案例】08
- 下一篇: 聚类(Clustering): K-me