Python爬蟲基礎講解之請求

2022-10-04 10:33:50 字數 2377 閱讀 9206

url又叫作統一資源定位符,是用於完整地描述internet上網頁和其他資源的位址的一種方法。類似於windows的檔案路徑。

1.http://:這個是協議,也就是http超文字傳輸協議,也就是網頁在網上傳輸的協議。

2.mail:這個是伺服器名代表著是乙個郵箱伺服器,所以是mail。

3.163.com:這個是網域名稱,是用來定位**的獨一無二的名字。

4.mail.163.com:這個是**名,由伺服器名+網域名稱組成。

5./:這個是根目錄,也就是說,通過**名找到伺服器,然後在伺服器存放網頁的根目錄。

6.index.html:這個是根目錄下的網頁。

7.這個叫做url,統一資源定位符,全球性位址,用於定位網上的資源。

就像打**一樣,http到底和伺服器說了什麼,才能讓伺服器返回正確的訊息的,其實客戶端的請求告訴了伺服器這些內容:請求行、請求頭部、空行、請求資料

http請求可以使用多種請求方法,但是爬蟲最主要就兩種方法:get和post方法。

get請求:一般情況下,只從伺服器獲取資料下來,並不會對伺服器資源產生任何影響的時候會使用get請求。

post請求:向伺服器傳送資料(登入)、上傳檔案等,會對伺服器資源產生影響的時候會使用

post請求。

以上是在**開發中常用的兩種方法。並且一般情況下都會遵循使用的原則。但是有的**和伺服器為了做反爬蟲機制,也經常會不按常理出牌,有可能乙個應該使用get方法的請求就一定要改成post請求,這個要視情況而定。

get與post方法的區別:

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

2.get請求引數都顯示在瀏覽器**上,即get"請求的引數是url的一部分。例如: 

3.post請求引數在請求體當中,訊息長度沒有限制而且以隱式的方式進行傳送,通常用來向http伺服器提交量比較大的資料。請求的引數型別包含在"content-type"訊息頭里,指明傳送請求時要提交的資料格式。

注意:**製作者一般不會使用get方式提交表單,因為有可能會導致安全問題。比如說在登陸表單中用get方式,使用者輸入的使用者名稱和密碼將在位址列中暴露無遺。並且瀏覽器會記錄歷史資訊,導致賬號不安全的因素存在。

請求頭描述了客戶端向伺服器傳送請求時所使用的編碼,以及傳送內容的長度,告訴伺服器自己有沒有登陸,採用的什麼瀏覽器訪問的等等。

1.accept:瀏覽器告訴伺服器自己接受什麼資料型別,文字,等。

2.accept-charset:瀏覽器申明自己接收的字符集。

3.accept-encoding:瀏覽器申明自己接收的編碼方法,通常指定壓縮方法,是否支援壓縮,支援什麼壓縮方法(gzip, deflate,br)。

4.accept-language:瀏覽器申明自己接收的語言。

5.authorization:授權資訊,通常出現在對伺服器傳送的www-authenticate頭的應答中。

6.content-length表示請求訊息正文的長度。

7.origin:宣告請求資源的起始位置

8.connection:處理完這次請求後,是斷開連線還是繼續保持連線。9.cookie:傳送給web伺服器的cookie內容,經常用來判斷是否登陸了。

9.cookie:傳送給web伺服器的cookie內容,經常用來判斷是否登陸了。

10.host:客戶端指定自己想訪問的web伺服器的網域名稱/ip位址和埠號。

11.if-程式設計客棧modified-since:客戶機通過這個頭告訴伺服器,資源的快取時間。只有當所請求的內容在指定的時間後又經過修改才返回它,否則返回304"not modified"應答。

12.pragma:指定"no-cache"值表示伺服器必須返回乙個重新整理後的文件,即使它是**伺服器而且已經有了頁面的本地拷貝。

13.referer:告訴伺服器該頁面從哪個頁面鏈結的。

14.from∶請求傳送者的email位址,由一些特殊的web客戶程式使用,瀏覽器不會用到它。

15.(user-agent:瀏覽器表明自己的身份(是哪種瀏覽器)

16.upgrade-insecure-requests∶申明瀏覽器支援從http請求自動公升級為https請求,並且在以後傳送請求的時候都使用https。

ua-p程式設計客棧ixels,ua-color,ua-os,ua-cpu:由某些版本的ie瀏覽器所傳送的非標準的請求頭,表示螢幕大小、顏色深度、作業系統和cpu型別。

在我們用requests模組請求資料的時候攜帶上訴請求報頭的字段資訊,將我們的爬蟲**進行偽裝。同樣的偽裝之後我們也可以通過**檢視請求體的字段資訊,有如下幾種常見的屬性:

#檢視請求體中的url位址

response.request.url

#檢視請求體中的請求頭資訊

response.request.headers

#檢視請求體中的請求方法

response.request.method

Python爬蟲基礎講解(五) 響應

http響應報文也由三部分組成 響應行 響應頭 響應體 響應行一般由協議版本 狀態碼及其描述組成比如http 1.1 200 ok 其中協議版本http 1.1或者http 1.0,200就是它的狀態碼,ok則為它的描述。響應頭用於描述伺服器的基本資訊,以及資料的描述,伺服器通過這些資料的描述資訊,...

python爬蟲案例講解 Python爬蟲案例集合

伺服器返回的類檔案物件支援python檔案物件的操作方法 read 方法就是讀取檔案裡的全部內容,返回字串 html response.read 列印響應內容 我們需要稍微偽裝下,要不然第一步就會被反爬蟲發現 usr bin env python coding utf 8 import urllib...

Python基礎語法8 爬蟲請求

1.response物件常用屬性 res.status code 檢查請求是否成功 res.content 把response物件轉為二進位制資料 res.text 把response物件轉為字串資料 res.encoding 定義response物件的編碼 2.res.status code 值的...