1. 程式人生 > >Python爬蟲知識點——請求

Python爬蟲知識點——請求

其他 too 刷新 保存 The lock ica header http

請求

:請求方法、請求網址、請求頭、請求體

請求方法:

常見的為:GET、POST

GET與POST主要區別:

  • GET請求參數包含在URL,可從URL中看出。POST請求的URL不包含參數,都是通過表單的形式傳輸的,包含在請求體中
  • GET請求提交的數據最多只有1024字節,POST無限制

其他還有HEAD、PUT、DELETE、CONNECT、OPTIONS、TRACE

請求的網址:

即URL,我們想要請求的資源

請求頭:

用來說明服務器要使用的附加信息,比較總要的有Cookie、Referer、User-Agent等。

Accept:請求報頭域,用於指定客戶端可接受哪些類型的信息。

Accept-Language:指定客戶端可接受的語言類型。

Accept-Encoding:指定客戶端可接受的內容編碼。

Host:用於指定請求資源的主機IP和端口號,其內容為請求URL的原始服務器或網關的位 置。從HTTP1.1版本開始,請求必須包含此內容。

Cookie:也常用復數形式Cookies, 是網站為了辨別用戶進行會話跟蹤而存儲在用戶本地的數據。它的主要功能是維持當前訪問會話。例如,我們輸人用戶名和密碼成功登錄某個網站後,服務器會用會話保存登錄狀態信息,後面我們每次刷新或請求該站點的其他頁面時,會發現都是登錄狀態,這就是Cookies的功勞。Cookies裏有信息標識了我們所對應的服務器的會話,每次瀏覽器在請求該站點的頁面時,都會在請求頭中加上Cookies 並將其發送給服務器,服務器通過Cookies識別出是我們自己,並且查出當前狀態是登錄狀態,所以返回結果就是登錄之後才能看到的網頁內容。

Referer:此內容用來標識這個請求是從哪個頁面發過來的,服務器可以拿到這一信息並做相應的處理,如做來源統計、防盜鏈處理等。

User-Agent: 簡稱UA,它是一個特殊的字符串頭,可以使服務器識別客戶使用的操作系統及版本、瀏覽器及版本等消息。在做爬蟲時加上此信息,可以偽裝成瀏覽器;如果不加,很可能被識別出為爬蟲

Content-Type:也叫互聯網媒體類型( Intermet Media Type)或者MIME類型,在HTTP協議消息頭中,它用來表示具體請求中的媒體類型信息。更多對應關系可以查看此對表:http://tool.oschina.net/commons

文件擴展名 Content-Type(Mime-Type)
.html、 .htx 、 .htm text/html
.gif image/gif
.json application/json

? Content-Type與POST提交數據方式的關系

Content-Type 提交數據的方式
appication/x-www-urlencodeed 表單數據
multipart/form-data 表單文件上傳
applicatiobn/json 序列化json數據
text/html XML數據

如果構造POST請求,需要使用正確的Content-Type,不然可能導致POST提交後無法正常響應

==>因此,請求頭是請求的重要組成部分,在寫爬蟲時,大部分情況下都需要設定請求頭。

請求體:

請求體一般承載的內容是POST請求中的表單數據,而對GET請求,請求體則為空。

文章摘自崔慶才的《Python3網絡爬蟲開發實戰》

Python爬蟲知識點——請求