新聞中心
一、基本介紹
1、什么是cookie?

Cookie,指的是網(wǎng)站為了辨別用戶身份而存儲(chǔ)在用戶本地終端上的數(shù)據(jù)。簡(jiǎn)單來(lái)說(shuō),就是通過(guò)在用戶訪問(wèn)網(wǎng)站時(shí),將一小段數(shù)據(jù)送給用戶,并且要求用戶在以后訪問(wèn)時(shí)再次提供此數(shù)據(jù),以便驗(yàn)證用戶的身份。
2、如何獲取cookie?
獲取cookie需要用到Python中的requests庫(kù)。requests是用Python語(yǔ)言基于urllib編寫(xiě)的一個(gè)HTTP客戶端庫(kù),目的是用于替代Python的標(biāo)準(zhǔn)庫(kù)urllib.request。requests庫(kù)能夠方便地發(fā)送HTTP/1.1請(qǐng)求。使用requests庫(kù)可以輕松獲取cookie。
二、獲取cookie的方法
1、使用requests庫(kù)獲取cookie
import requests #定義目標(biāo)URL url = 'http://www.baidu.com' #發(fā)送get請(qǐng)求 r = requests.get(url) #獲取cookie cookies = r.cookies #打印cookie值 print(cookies)
解釋?zhuān)菏褂胷equests.get()方法請(qǐng)求網(wǎng)站地址,然后使用r.cookies獲取到對(duì)應(yīng)的cookie值。
2、使用requests.Session()方法獲取cookie
import requests #定義目標(biāo)URL url = 'http://www.baidu.com' #創(chuàng)建Session對(duì)象 s = requests.Session() #發(fā)送get請(qǐng)求 r = s.get(url) #獲取cookie cookies = requests.utils.dict_from_cookiejar(s.cookies) #打印cookie值 print(cookies)
解釋?zhuān)菏褂胷equests.Session()方法創(chuàng)建Session對(duì)象,該對(duì)象會(huì)自動(dòng)保留cookie值,以便后續(xù)發(fā)送請(qǐng)求時(shí)能夠自動(dòng)攜帶cookie。使用requests.utils.dict_from_cookiejar()方法可以將cookie轉(zhuǎn)換為字典格式。
3、手動(dòng)設(shè)置cookie值
import requests
#定義目標(biāo)URL
url = 'http://www.baidu.com'
#手動(dòng)設(shè)置cookie值
cookies = {'key':'value'}
#發(fā)送get請(qǐng)求,攜帶cookie值
r = requests.get(url, cookies=cookies)
#打印cookie值
print(r.cookies)
解釋?zhuān)菏謩?dòng)設(shè)置cookie值后,通過(guò)requests.get()方法發(fā)送get請(qǐng)求,將cookie值攜帶在請(qǐng)求頭中。
三、應(yīng)用場(chǎng)景
1、模擬用戶登錄
用戶登錄時(shí),服務(wù)端會(huì)在用戶本地終端上存儲(chǔ)cookie用于辨別用戶身份。此時(shí)我們可以使用requests.Session()方法創(chuàng)建Session對(duì)象,該對(duì)象自動(dòng)保留cookie值,以便后續(xù)的請(qǐng)求能夠自動(dòng)攜帶cookie。通過(guò)發(fā)送post請(qǐng)求,提交用戶登錄信息,即可實(shí)現(xiàn)模擬用戶登錄。
2、爬蟲(chóng)抓取網(wǎng)頁(yè)數(shù)據(jù)
有些網(wǎng)站會(huì)根據(jù)cookie值來(lái)限制用戶的訪問(wèn)頻率或者請(qǐng)求數(shù)據(jù)量。在進(jìn)行爬蟲(chóng)抓取時(shí),如果不設(shè)置cookie,很可能會(huì)被網(wǎng)站拒絕服務(wù)。此時(shí),我們可以通過(guò)手動(dòng)設(shè)置cookie值或者通過(guò)requests.Session()方法自動(dòng)保存cookie值,實(shí)現(xiàn)爬蟲(chóng)抓取數(shù)據(jù)的目的。
四、注意事項(xiàng)
1、獲取cookie時(shí)需要確保訪問(wèn)的目標(biāo)URL正確;
2、不同網(wǎng)站的cookie名和值不同,需要根據(jù)目標(biāo)網(wǎng)站設(shè)置正確的cookie名和值;
3、在使用Session對(duì)象時(shí),需要注意Session對(duì)象會(huì)自動(dòng)保留cookie值,可能會(huì)導(dǎo)致一些安全問(wèn)題,請(qǐng)謹(jǐn)慎使用。
網(wǎng)頁(yè)題目:創(chuàng)新互聯(lián)Python教程:Python獲取cookie用法介紹
轉(zhuǎn)載來(lái)于:http://m.fisionsoft.com.cn/article/cogodjh.html


咨詢(xún)
建站咨詢(xún)
