您好,登錄后才能下訂單哦!
今天小編給大家分享一下requests.session()獲取Cookies的過程是什么的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
import requests session = requests.session() print("默認(rèn)配置下的請(qǐng)求頭:",session.headers.items()) # 默認(rèn)配置下的請(qǐng)求頭: ItemsView({'User-Agent': 'python-requests/2.21.0', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive'})"
我們可以看到在默認(rèn)情況下,請(qǐng)求頭的內(nèi)容很機(jī)器,沒有靈性。
如果大家使用的IDE是Pycharm
的話,ctrl+右鍵
點(diǎn)擊session.headers的headers
查看源碼。
得到如圖:
使用的是default_headers()
(默認(rèn)請(qǐng)求頭),這里我們依然看不到print
打印在終端的內(nèi)容,所以繼續(xù)ctrl+右擊
點(diǎn)擊default_headers()
。
得到如圖:
OK! But it’s not over,這里我們還有User-Agent
的value
沒有看到,但是經(jīng)過猜測(cè)我們不難得到default_user_agent()
的內(nèi)容就是python-requests/2.21.0
。
首先,了解對(duì)headers
進(jìn)行一個(gè)簡單的增刪改查操作
包裝
包裝我們的Headers
方式一
headers = { 'Origin': 'https://***.com', 'Host': '***.com', 'Referer': 'https://**.com/, 'User-Agent': 'Mozilla/5.0', } session.headers.update(headers)#字典的更新方法
方式二
換一種大家都在用的方式,在請(qǐng)求的時(shí)候添加headers
參數(shù)即可:
response = session.get(url, headers=headers)
驗(yàn)證兩種方式是否得到的效果一樣
第一種方式
第二種方式
結(jié)論:兩種方式在response
端看到的效果等同,區(qū)別在于第一種方式session是永久的,而第二種常用的方式只是在請(qǐng)求的時(shí)候攜帶過去的,所以當(dāng)我們查看session的時(shí)候?yàn)榭?,那么這就有一個(gè)問題,我們?cè)诤罄m(xù)的請(qǐng)求中任然需要帶上headers=
這個(gè)參數(shù),似乎它并沒有那么好?
這是在github
上copy 的部分爬蟲代碼如下:
連續(xù)帶了兩次Headers
,這樣沒有什么不好,你開心就好~~~。
請(qǐng)求之前我們先清空Headers
,Cookies
內(nèi)的信息
headers
中僅寫入user-agent
,Cookies
為空
請(qǐng)求之后查看session
中Cookies
,得到響應(yīng)端返回的cookies
以上就是“requests.session()獲取Cookies的過程是什么”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。