【轉】python requests庫添加自定義cookie的方法


requests庫是個很方便的爬蟲,相關文檔已經很詳細了。
不過我今天在爬網頁時,有一個網站是在腳本中添加cookie的,但我向requests.cookies里添加cookie費了不少周折。嘗試了多個方法,這些方法都各有一些缺點。最終找到一個完全符合需求的方法。今天嘗試的各種方法如下:


1. 類似操作dict


s = requests.Session()
s.cookies['cookie-name'] = 'cookie-value'
可以添加cookie,不會清除原cookie
缺點:不能設置path、domain等參數。

2. requests.cookies.set() 函數

s.cookies.set('cookie-name', 'cookie-value', path='/', domain='.abc.com')
優點:不能設置path、domain等參數。
缺點:會清除原有cookie。

3. 網上有文章說可以發一次請求,把新的cookie加在請求中,然后就會自動把新的cookie和原有的cookie混合。但我試過后發現無效。

 

4. requests.utils.add_dict_to_cookiejar(cj, cookie_dict)

c = {'cookie-name' : 'cookie-value'}
requests.utils.add_dict_to_cookiejar(s.cookies, c)
缺點:不能設置path、domain等參數。

最后經過仔細研究,終於找到 requests.cookies.update() 函數
5. requests.cookies.update()

c = requests.cookies.RequestsCookieJar()
c.set('cookie-name', 'cookie-value', path='/', domain='.abc.com')
s.cookies.update(c)
終於完美解決了我的需求。
---------------------
from:https://blog.csdn.net/tianking/article/details/51248941


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM