selenium中g(shù)et_cookies()和add_cookie()的用法詳解
在用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)視爬蟲,定時(shí)爬蟲,要求五分鐘爬一次,兩分鐘爬一次,每次登陸會(huì)很麻煩。這個(gè)時(shí)候我們可以分開,一個(gè)專門登陸抓取cookie,30分鐘更新一次cookie文件。另外一個(gè)讀取cookie文件就ok了。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python不改變Excel單元格樣式方式—xls和xlsx兩種格式
這篇文章主要介紹了Python不改變Excel單元格樣式方式—xls和xlsx兩種格式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
python3字符串輸出常見(jiàn)面試題總結(jié)
在本篇文章里小編給大家整理的是一篇關(guān)于python3字符串輸出常見(jiàn)面試題總結(jié)內(nèi)容,有需要的朋友們可以參考下。2020-12-12
理解python多線程(python多線程簡(jiǎn)明教程)
這篇文章主要介紹了理解python多線程,一個(gè)快速理解python多線程的簡(jiǎn)明教程,需要的朋友可以參考下2014-06-06
python 3.0 模擬用戶登錄功能并實(shí)現(xiàn)三次錯(cuò)誤鎖定
Python的3.0版本,常被稱為Python 3000,或簡(jiǎn)稱Py3k。這篇文章主要介紹了python 3.0 模擬用戶登錄功能并實(shí)現(xiàn)三次錯(cuò)誤鎖定,需要的朋友可以參考下2017-11-11
使用Flask-Login模塊實(shí)現(xiàn)用戶身份驗(yàn)證和安全性
當(dāng)你想要在你的Flask應(yīng)用中實(shí)現(xiàn)用戶身份驗(yàn)證和安全性時(shí),F(xiàn)lask-Login這個(gè)擴(kuò)展將會(huì)是你的最佳伙伴,它提供了一組簡(jiǎn)單而強(qiáng)大的工具來(lái)處理,下面我們就來(lái)看看具體的操作方法吧2023-08-08
Pandas中DataFrame的分組/分割/合并的實(shí)現(xiàn)
這篇文章主要介紹了Pandas中DataFrame的分組/分割/合并的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07

