Python爬蟲知識點——請求
請求
:請求方法、請求網址、請求頭、請求體
請求方法:
常見的為: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爬蟲知識點——請求