Python入門筆記(十三) HTTP和爬蟲入門

2021-10-02 20:14:58 字數 1331 閱讀 4665

必備基礎知識

通用爬蟲和聚焦爬蟲

通用爬蟲

聚集爬蟲http協議(hypertext transfer protocol,超文字傳輸協議)是乙個應用層協議,由請求和響應構成,是乙個標準的個客戶端和伺服器模型.它的主要特點如下:

https(hypertext transfer protocol over secure socket layer)簡單講是http的安全版,在http下加入ssl層。

ssl(secure sockets layer 安全套接層)主要用於web的安全傳輸協議,在傳輸層對網路連線進行加密,保障在internet上資料傳輸的安全。

get是從伺服器上獲取資料,post是向伺服器傳送資料

get請求引數顯示,都顯示在瀏覽器**上,http伺服器根據該請求所包含url中的 引數來產生響應內容,即「get」請求的引數是url的一部分。例如:

post請求引數在請求體當中,訊息長度沒有限制而且以隱式的方式進行傳送,通常用 來向http伺服器提交量比較大的資料(比如請求中包含許多引數或者檔案上傳操作等), 請求的引數包含在「content-type」訊息頭里,指明該訊息體的**型別和編碼

當瀏覽者訪問乙個網頁時,瀏覽者的瀏覽器會向網頁所在伺服器發出請求。當瀏覽器接收並顯示網頁前,此網頁所在的伺服器會返回乙個包含http狀態碼的資訊頭(server header)用以響應瀏覽器的請求。

http狀態碼的英文為http status code。

下面是常見的http狀態碼:

具體狀態碼請檢視 -> 點這裡

伺服器和客戶端的互動僅限於請求/響應過程,結束之後便斷開,在下一次請求時,伺服器會認為新的客戶端。為了維護他們之間的鏈結,讓伺服器知道這是前乙個使用者傳送的請求,必須在乙個地方儲存客戶端的資訊。

cookie:通過在客戶端記錄的資訊確定使用者的身份。

session:通過在伺服器端記錄的資訊確定使用者的身份。

urllib和requests模組是發起http請求最常見的模組。

雖然python的標準庫中 urllib 模組已經包含了平常我們使用的大多數功能,但是它的 api 使用起來讓人感覺不太好,而 requests 自稱 「http for humans」,說明使用更簡潔方便。

requests 繼承了urllib的所有特性。requests支援http連線保持和連線池,支援使用cookie保持會話,支援檔案上傳,支援自動確定響應內容的編碼,支援國際化的 url 和 post 資料自動編碼。

requests的底層實現其實就是 urllib3(urllib2的公升級版—python2支援)

requests的文件非常完備,中文文件也相當不錯。requests能完全滿足當前網路的需求,支援python 2.6—3.6.

Python入門(十三)

1.名字空間 a.local 區域性命名空間 檢視 local b.global 全域性命名空間,只要在全域性命名空間的內容到處都能使用 檢視 globals name 模組名,如果是執行檔案,值為 main builtins 內建名字空間物件,用於檢視內建名字空間中的內容 file 當前檔案的絕對...

OpenGL入門筆記(十三)

int copengldemoview drawglscene intcopengldemoview loadgltextures if textureimage 0 iftextureexists free textureimage 0 freetheimagestructure return s...

OpenGL入門筆記(十三)

int copengldemoview drawglscene intcopengldemoview loadgltextures if textureimage 0 if texture exists free textureimage 0 free the image structure ret...