python爬蟲系列(1.3-關於cookie的認識)
一、關於http無狀態的認識
在網站中,http請求是無狀態的,也就是說第一次與伺服器連線後並且接收到伺服器的返回值的時候,就斷開連線,等第二次連線的時候,又是一個新的連線,伺服器並不知道之前連線過。cookie的出現就是解決這個問題.主要原理:
使用者第一次登陸後,伺服器給瀏覽器返回cookie,客戶端將cookie儲存在本地
使用者再次訪問的時候攜帶之前伺服器返回的cookie,伺服器會對當前使用者攜帶過來的cookie進行校驗
如果當前的cookie校驗通過後就表明當前使用者之前已經登入過,否則當前使用者之前沒登入過
在爬蟲中使用cookie的主要作用是用來模擬登入後才能訪問的網站
1、CookieJar: 管理Http cookie的值,儲存http請求生成的cookie、向傳出的http的請求新增cookie的物件.整個cookie都儲存在記憶體中,對cookieJar例項進行辣椒回收後cookie也丟失
2、FileCookieJar: 從CookieJar派生而來,用來建立FileCookieJar例項,檢索cookie資訊並且將cookie儲存到檔案中,filename是儲存的cookie的檔名,delayload為True的時候支援延遲訪問檔案,即只有在需要時才讀物檔案或在檔案中儲存資料.
3、MozillaCookieJar:從FileCookieJar派生而來,建立與火狐瀏覽器cookie.txt相容的FileCookieJar例項
1、使用requests請求庫
response = requests.get(url='')
response.cookies # 獲取全部的cookie
response.cookies.get_dict() # 將cookie以字典的方式展開