爬蟲原理

當(dāng)自己需要數(shù)據(jù)的時候,能夠分分鐘就能獲得,是不是一件很爽的事情。為了獲得自己想要的數(shù)據(jù),我們有必要弄懂爬蟲原理。經(jīng)常用百度搜索的筒子們,有沒有想過當(dāng)你輸入百度地址時候,網(wǎng)絡(luò)那邊都發(fā)生了什么,本章講一下網(wǎng)絡(luò)連接原理和爬蟲原理。

網(wǎng)絡(luò)連接原理如下圖:


打個比方:網(wǎng)絡(luò)連接像是在自助飲料售貨機(jī)上購買飲料一樣:購買者只需選擇所需飲料,投入刷二維碼,自助飲料機(jī)就會彈出相應(yīng)的商品。如上圖,計算機(jī)(購買者)帶著請求頭和消息體(錢和所需飲料)向服務(wù)器(自助飲料售貨機(jī))發(fā)起一次request請求(購買),相應(yīng)的服務(wù)器(自助售貨機(jī))會返回計算機(jī)相應(yīng)的HTML文件作為Response(相應(yīng)的商品)。

爬蟲原理

爬蟲其實(shí)就是模仿計算機(jī):

1、模擬計算機(jī)對服務(wù)器發(fā)起Request請求

2、接受服務(wù)器端的Response內(nèi)容并解析、提取所需的信息

我們經(jīng)常遇到網(wǎng)頁請求主要分為兩種:多頁面和跨頁面。相應(yīng)的爬蟲流程也是這兩種。

1.多頁面爬蟲流程

示例圖:


多頁面

QQ空間說說,58趕集等信息網(wǎng)站很多都是這個結(jié)構(gòu),每頁結(jié)構(gòu)都差不多。這種類型的網(wǎng)頁爬蟲流程為:

1、手動翻頁查看一下各網(wǎng)頁的URL構(gòu)成的特點(diǎn),構(gòu)造出所有頁面的URL存入列表中。

2、根據(jù)URL列表一次循環(huán)出URL

3、定義爬蟲函數(shù)(這個是重點(diǎn),也是難點(diǎn))

4、循環(huán)調(diào)用爬蟲函數(shù),存儲數(shù)據(jù)(根據(jù)數(shù)據(jù)形式,選擇不同數(shù)據(jù)庫)

5、循環(huán)完畢,結(jié)束爬蟲程序


跨頁面爬蟲流程

以簡書為例:列表頁和詳細(xì)頁分別如下圖


列表頁


詳細(xì)頁

爬蟲流程如下:

1、定義爬取函數(shù)爬取列表頁的所有專題URL

2、將專題URL存入列表中(種子URL)

3、定義爬取詳細(xì)頁的數(shù)據(jù)函數(shù)

4、進(jìn)入專題詳細(xì)頁爬取詳細(xì)頁數(shù)據(jù)

5、存儲數(shù)據(jù)、循環(huán)完畢,結(jié)束爬蟲程序。如下圖


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容