其實只要用cookies屬性的update方法更新cookie就好了。
好比:html
cookie_dict = {"a":1} s = requests.Session() s.cookies.update(cookie_dict) s.get(url)
-----------------分割線----------------------下面的東東是之前的----------------上面是原文做者發現的新的方法---我看了下官網實際也有-----因此啊 沒事多看官網----https://requests.kennethreitz.org//zh_CN/latest/user/advanced.html#advanced------------------python
最近在作爬蟲的時候遇到了一個問題,在用requests的session方法保持cookie的時候發現requests不能保持手動構建的cookie。起初覺得requests只能自動保持由服務器返回的set-cookie語句中的cookie。後來查了不少資料,才終於明白。原來requests只能保持 cookiejar 類型的cookie,而咱們手動構建的cookie是dict類型的。因此要把dict轉爲 cookiejar類型,因而我又在網上查,在幾乎打算放棄的時候終於找到了一個把dict轉爲cookiejar的方法,以下:服務器
#將CookieJar轉爲字典: cookies = requests.utils.dict_from_cookiejar(r.cookies) #將字典轉爲CookieJar: cookies = requests.utils.cookiejar_from_dict(cookie_dict, cookiejar=None, overwrite=True) #其中cookie_dict是要轉換字典 轉換完以後就能夠把它賦給cookies 並傳入到session中了: s = requests.Session() s.cookies = cookies
(實驗證實,使用這個方法是替換原來的cookies 並非追加,下面有追加的方法)-----------------------------------------------------------------------------------------------------替換cookie
以上代碼是我在下面這個網站上查到的,感謝這個博客的做者!這篇文章上還介紹了一些官方文檔中沒有提到的方法。cookie
—————————-如下是原文———————————
原文地址:http://www.lihuai.net/program/python/1617.htmlsession
原文地址: http://blog.csdn.net/falseen/article/details/46962011網站
本身嘗試:url
也能夠把headers這個請求頭直接轉成cookiejar類型放入cookies裏面,嘗試了成功執行spa
cookies = requests.utils.cookiejar_from_dict(headers, cookiejar=None, overwrite=True).net
追加cookie的方法:code