網路爬蟲(1) 爬蟲與HTTP

2022-05-05 09:45:08 字數 2952 閱讀 7958

**:

聚焦爬蟲:聚焦爬蟲是根據指定的需求抓取網路上指定的資料。例如:獲取豆瓣上電影的名稱和影評,而不是獲取整張頁面中所有的資料值。

增量式爬蟲:增量式是用來檢測**資料更新的情況,且可以將**更新的資料進行爬取(後期會有章節單獨對其展開詳細的講解)。

即**有權規定**中哪些內容可以被爬蟲抓取,哪些內容不可以被爬蟲抓取。這樣既可以保護隱私和敏感資訊,又可以被搜尋引擎收錄、增加流量。

robots協議可以通過**網域名稱 + /robots.txt的形式訪問該**的協議詳情,例如:www.taobao.com/robots.txt

url的全稱為universal resource locator,即統一資源定位符。基本格式如下:

scheme://host[:port#]/path/../[?query-string][#anchor]

# scheme:協議(http、https、ftp)

# port#:伺服器端口

# path:訪問資源路徑

# query-string:引數、傳送給http伺服器的資料

# anchor:錨(跳轉到網頁的指定錨點位置)

超文字又被稱為:hypertext,網頁的源**html就可以稱作超文字。 

http的中文名叫作超文字傳輸協議。http協議是用於從網路傳輸超文字資料到本地瀏覽器的傳送協議,它能保證高效而準確地傳送超文字文件。

https是以安全為目標的http通道,簡單講是http的安全版,即http下加入ssl層,簡稱為https。它能建立乙個資訊保安通道來保證資料傳輸的安全;其次,能幫助確認**的真實性。

在瀏覽器中輸入乙個url,回車之後便會在瀏覽器中觀察到頁面內容。

實際過程:瀏覽器向**所在的伺服器傳送了乙個請求,**伺服器接收到這個請求後進行處理和解析,然後返回對應的響應,接著傳回給瀏覽器。瀏覽器解析響應中的源

**,將網頁內容呈現了出來

http請求,由客戶端向服務端發出,可以分為4部分內容:請求方法(request method)、請求的**(request url)、請求頭(request headers)、

請求體(request body)。常見請求為get和post請求,區別如下:

1)請求的**

請求的**,即統一資源定位符url,它可以唯一確定我們想請求的資源。

2)請求頭

請求頭,用來說明伺服器要使用的附加資訊,比較重要的資訊有cookie、referer、user-agent等。

3)請求體

請求體一般承載的內容是post請求中的表單資料,而對於get請求,請求體則為空。

響應,由服務端返回給客戶端,可以分為三部分:響應狀態碼(response status code)、響應頭(response headers)和響應體(response body)。

1)響應狀態碼

相應狀態碼

說明

詳情

300多種選擇

針對請求,伺服器可執行多種操作

301永久移動

請求的網頁已永久移動到新位置,即永久重定向

302臨時移動

請求的網頁暫時跳轉到其他頁面,即暫時重定向

303檢視其他位置

如果原來的請求是post,重定向目標文件應該通過get提取

304未修改

此次請求返回的網頁未修改,繼續使用上次的資源

305使用**

請求者應該使用**訪問該網頁

307臨時重定向

請求的資源臨時從其他位置響應

400錯誤請求

伺服器無法解析該請求

401未授權

請求沒有進行身份驗證或驗證未通過

403禁止訪問

伺服器拒絕此請求

404未找到

伺服器找不到請求的網頁

405方法禁用

伺服器禁用了請求中指定的方法

406不接受

無法使用請求的內容響應請求的網頁

407需要**授權

請求者需要使用**授權

408請求超時

伺服器請求超時

409衝突

伺服器在完成請求時發生衝突

410已刪除

請求的資源已永久刪除

411需要有效長度

伺服器不接受不含有效內容長度標頭字段的請求

412未滿足前提條件

伺服器未滿足請求者在請求中設定的其中乙個前提條件

413請求實體過大

請求實體過大,超出伺服器的處理能力

414請求uri過長

請求**過長,伺服器無法處理

415不支援型別

請求格式不被請求頁面支援

416請求範圍不符

頁面無法提供請求的範圍

417未滿足期望值

伺服器未滿足期望請求標頭字段的要求

500伺服器內部錯誤

伺服器遇到錯誤,無法完成請求

501未實現

伺服器不具備完成請求的功能

502錯誤閘道器

伺服器作為閘道器或**,從上游伺服器收到無效響應

503服務不可用

伺服器目前無法使用

504閘道器超時

伺服器作為閘道器或**,但是沒有及時從上游伺服器收到請求 

505http版本不支援 

伺服器不支援請求中所用的http協議版本

2)響應頭

響應頭包含了伺服器對請求的應答資訊,如content-type、server、set-cookie等。

3)響應體

響應的正文資料都在響應體中,我們做爬蟲請求網頁後,要解析的內容就是響應體。

定向爬蟲 網路爬蟲例項1

1.獲取網頁內容 gethtmltext 2.獲取網路內容資訊並儲存到合適的資料結構中 fillunivlist 3.利用資料結構展示並輸出結果 printunivlist import requests from bs4 import beautifulsoup import bs4 def ge...

爬蟲初階(一) 爬蟲概念與HTTP

根據使用場景,爬蟲通常分為兩類 2.1 概念 2.2 瀏覽器傳送http請求的過程 客戶端將url傳送至dns伺服器。dns伺服器獲取網域名稱對應的ip,返回至客戶端。客戶端通過ip位址請求資源。web伺服器返回頁面 html js css jpg。2.3 http協議的內容 2.3.1 請求行 請...

python 網路爬蟲(1)

安裝 request庫 1,執行裡面輸入cmd直接輸入pip install requests回車,即可安裝 2,直接在終端輸入python進入python自帶的idle c users ftsdata 02 python 輸入python進入idle 匯入requests庫 r requests....