您好,登錄后才能下訂單哦!
get_cookies()與add_cookie()怎么在selenium中使用?針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。
在用selenium爬取網(wǎng)頁(yè)的時(shí)候,有時(shí)候需要登陸,這時(shí)候用selenium獲取cookie和攜帶cookie是很方便的,獲取cookie可以通過(guò)內(nèi)置的函數(shù)get_cookies(),它得到的是一組cookie,是由cookie組成的列表。單個(gè)的cookie是字典組成的,所有g(shù)et_cookies()返回值是由字典組成的列表。
dictCookies = browser.get_cookies() jsonCookies = json.dumps(dictCookies) # print(jsonCookies) with open('anquan.txt', 'w') as f: f.write(jsonCookies)
注意:這個(gè)jsonCookies是一個(gè)列表,是一個(gè)完整的cookie。
{'name': 'QCARJSESSIONID', 'value': 'BBmPcsfClCknfQX1cN2MLMgKXZGtFWqsBvjN9mbM9tmbL38hMmw4!1426878101', 'path': '/', 'domain': 'qcar.apiins.com', 'secure': False, 'httpOnly': True} {'name': 'BIGipServercar_qcar_poool', 'value': '1191316140.16671.0000', 'path': '/', 'domain': 'qcar.apiins.com', 'secure': False, 'httpOnly': False} {'name': 'chinainsuranceJSESSIONID', 'value': 'rkgncsfG8pnrhh8x1CvNy46zHplyLkTjyv1LL2hk4wDrkD9Mjz9Y!2078734058', 'path': '/', 'domain': 'qcar.apiins.com', 'secure': False, 'httpOnly': True} {'name': 'BIGipServercar_core_pool', 'value': '1191316140.17951.0000', 'path': '/', 'domain': 'qcar.apiins.com', 'secure': False, 'httpOnly': False}
這樣就獲取到了cookie,那么如何使用呢,我們讓瀏覽器對(duì)象攜帶cookies就行了,這時(shí)候用另外一個(gè)函數(shù)add_cookie()
with open('anquan.txt', 'r', encoding='utf8') as f: listCookies = json.loads(f.read()) print('%%%%%%%%%%%%%%%%%', listCookies) for cookie in listCookies: obj.add_cookie(cookie) obj.get('https://qcar.apiins.com/qcar') # 讀取完cookie刷新頁(yè)面 obj.refresh()
這樣,我們就可以攜帶cookie,實(shí)現(xiàn)免登陸。有人說(shuō),你直接登陸不就完事了嗎?有些應(yīng)用場(chǎng)景還是用的到的,比如說(shuō)驗(yàn)證碼識(shí)別率不高,比如監(jiān)視爬蟲(chóng),定時(shí)爬蟲(chóng),要求五分鐘爬一次,兩分鐘爬一次,每次登陸會(huì)很麻煩。這個(gè)時(shí)候我們可以分開(kāi),一個(gè)專(zhuān)門(mén)登陸抓取cookie,30分鐘更新一次cookie文件。另外一個(gè)讀取cookie文件就ok了。
關(guān)于get_cookies()與add_cookie()怎么在selenium中使用問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。