大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專(zhuān)注Java教育14年 全國(guó)咨詢(xún)/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) hot資訊 兩種方法可以讀取Cookie

兩種方法可以讀取Cookie

更新時(shí)間:2022-01-24 10:03:45 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2233次

獲取cookie的核心目的無(wú)非就是實(shí)現(xiàn)登陸,一般來(lái)說(shuō)我們實(shí)現(xiàn)請(qǐng)求大致也有兩種方式,第一種是selenium,第二種是包含requests,urllib等的其他類(lèi)型,那么cookie的獲取也是針對(duì)這樣的結(jié)構(gòu)而言的。

1.利用selenium+phantomjs無(wú)界面瀏覽器的形式訪問(wèn)網(wǎng)站,再獲取cookie值:

(當(dāng)然這里也包括+webdriver)

# 導(dǎo)入模塊
from selenium import webdriver
driver=webdriver.PhantomJS()
url="https://et.xiamenair.com/xiamenair/book/findFlights.action?lang=zh&tripType=0&queryFlightInfo=XMN,PEK,2018-01-15"
driver.get(url)
#接下來(lái)注意了,要開(kāi)始獲取cookie了.
# 獲取cookie列表
cookie_list=driver.get_cookies()#這里主要是使用自帶的get_cookies方法
# 格式化打印cookie
for cookie in cookie_list:
    cookie_dict[cookie['name']]=cookie['value']
print(cookie_dict)

有些人說(shuō),最后打印的話,為什么還要弄個(gè)循環(huán)呢,那么我就給你看看cookie的源格式,這也是為什么要取cookie_list的原因

[{‘domain’: ‘.et.xiamenair.com’, ‘expiry’: 1577686388, ‘httpOnly’: False, ‘name’: ‘_dc_gtm_UA-96517318-3’, ‘path’: ‘/’, ‘secure’: False, ‘value’: ‘1’},
{‘domain’: ‘.et.xiamenair.com’, ‘expiry’: 1577772728, ‘httpOnly’: False, ‘name’: ‘_gid’, ‘path’: ‘/’, ‘secure’: False, ‘value’: ‘GA1.3.10695887.1577686328’},
{‘domain’: ‘.et.xiamenair.com’, ‘expiry’: 1640758328, ‘httpOnly’: False, ‘name’: ‘_ga’, ‘path’: ‘/’, ‘secure’: False, ‘value’: ‘GA1.3.346851281.1577686328’},
{‘domain’: ‘et.xiamenair.com’, ‘expiry’: 1593238326.401786, ‘httpOnly’: False, ‘name’: ‘Webtrends’, ‘path’: ‘/’, ‘secure’: False, ‘value’: ‘221.194.139.166.1577686326367810’},
{‘domain’: ‘.et.xiamenair.com’, ‘httpOnly’: False, ‘name’: ‘Hm_lpvt_a0f83bbc1d09b6e5a33928301f402485’, ‘path’: ‘/’, ‘secure’: False, ‘value’: ‘1577686328’},
{‘domain’: ‘.xiamenair.com’, ‘expiry’: 1585462327, ‘httpOnly’: False, ‘name’: ‘_gcl_au’, ‘path’: ‘/’, ‘secure’: False, ‘value’: ‘1.1.1071047259.1577686328’},
{‘domain’: ‘.et.xiamenair.com’, ‘expiry’: 1609222327, ‘httpOnly’: False, ‘name’: ‘Hm_lvt_a0f83bbc1d09b6e5a33928301f402485’, ‘path’: ‘/’, ‘secure’: False, ‘value’: ‘1577686328’},
{‘domain’: ‘et.xiamenair.com’, ‘httpOnly’: False, ‘name’: ‘JSESSIONID’, ‘path’: ‘/xiamenair’, ‘secure’: False, ‘value’: ‘fITPgukOvdHrSaj8Jyo25z+Q.mfb2cServer3’}]

看明白了吧,cookie本來(lái)就是這個(gè)格式的

就是一個(gè)列表,內(nèi)含n多個(gè)字典,字典里面還有各個(gè)字段,比如domain,expiry,httpOnly,name,path,secure,value等

第一種咱們看了,接下來(lái)看第二種

第二種相對(duì)來(lái)說(shuō)要多點(diǎn),我們根據(jù)不同的請(qǐng)求方法來(lái):

但是有一個(gè)共同點(diǎn),基本都是使用cookiejar來(lái)做

1.首先來(lái)說(shuō)urllib,我們只針對(duì)python3

# python3.6環(huán)境
from urllib import request
from http import cookiejar
if __name__ == '__main__':
    #1. 聲明一個(gè)CookieJar對(duì)象實(shí)例來(lái)保存cookie,先構(gòu)建一個(gè)容器
    cookie = cookiejar.CookieJar()    
    # 2.利用urllib.request庫(kù)的HTTPCookieProcessor對(duì)象來(lái)創(chuàng)建cookie處理器,也就CookieHandler
    handler=request.HTTPCookieProcessor(cookie)
    # 通過(guò)CookieHandler創(chuàng)建opener
    opener = request.build_opener(handler)    
    # 3.此處的open方法打開(kāi)網(wǎng)頁(yè)
    response = opener.open('http://www.baidu.com')
    # 打印cookie信息
    for item in cookie:
        print('Name = %s' % item.name)
        print('Value = %s' % item.value)

有人會(huì)說(shuō),如果我想看cookie的具體東西,我沒(méi)打印的情況下,我怎么知道cookie的屬性有哪些,這確實(shí),說(shuō)的沒(méi)毛病,那么我再來(lái)一招:

以上面為例,cookiejar獲取的其實(shí)是一個(gè)對(duì)象列表,列表可以遍歷,但是對(duì)象不可以遍歷,那怎么辦呢?

for i in cookie:

print(“我是k”, i.dict.items())

這樣來(lái),我們對(duì)cookiejar進(jìn)行遍歷,得到對(duì)象i,那么再對(duì)對(duì)象i進(jìn)行字典化的讀取,就可以了

2.再來(lái),我們?cè)賮?lái)說(shuō)說(shuō)requests請(qǐng)求方式:

一般攜帶Cookie請(qǐng)求有三種方式:

三種Cookie請(qǐng)求方式

第一種:cookie放在headers中

首先找到登陸之后的Cookie和User-Agent,然后將User-Agent和Cookie復(fù)制到程序里面,如下:
import requests
url = "https://blog.csdn.net/williamgavin"
headers = {"User_Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36",
    "Cookie" : "這個(gè)還是算了吧,用你們自己的博客試 ^-^ "
}
response = requests.get(url, headers = headers )
with open("csdn.html", "w", encoding="utf-8") as f:
    f.write(response.content.decode());

第二種:cookie字典傳給cookies參數(shù)

這里以請(qǐng)求人人網(wǎng)為例:

找到對(duì)應(yīng)的cookie和User-Agent
import requests
url = "http://www.renren.com/967272361/profile"
headers = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36",
}
# 不帶上Cookie就訪問(wèn)不了這個(gè)頁(yè)面
cookie = "anonymid=jk63khrk-y97r4p; _r01_=1; ln_uact=mr_mao_hacker@163.com; ln_hurl=http://hdn.xnimg.cn/photos/hdn421/20180720/1740/main_JAWQ_0aa000000ceb195a.jpg; _ga=GA1.2.273332130.1532825428; depovince=HUN; JSESSIONID=abcE5k0CiAJDc9ESVEcuw; ick_login=026ba348-e4e9-4871-9ce3-5868b95cfdd3; first_login_flag=1; loginfrom=syshome; wp_fold=0; BAIDU_SSP_lcr=https://www.baidu.com/link?url=VRx_HKUd53I5rYWZHvrQ9VVLotqST6-jtaZDlscFYCO&wd=&eqid=e957aec400037928000000065b64fcab; ick=64518f30-9a22-47df-b3c3-4114f185c3c6; t=8fcf47068763c279eea2620b51b7a3311; societyguester=8fcf47068763c279eea2620b51b7a3311; id=967272361; xnsid=fd736c63; jebecookies=3f9a3853-3371-4857-8268-308d663ca146|||||; jebe_key=19041c4e-4d38-4dc1-bfb9-124b81afae61%7C33b1d8f602cf6dd5a9834fe6f2bf97f2%7C1533346094265%7C1%7C1533346099750"
# 將上面哪個(gè)cookie轉(zhuǎn)化成字典類(lèi)型
cookie_dict = {i.split("=")[0]:i.split("=")[-1] for i in cookie.split("; ")}
response = requests.get(url, headers = headers, cookies = cookie_dict)
with open("renren2.html", "w", encoding="utf-8") as f:
    f.write(response.content.decode())

第三種 先發(fā)送post請(qǐng)求,獲取cookie,帶上cookie請(qǐng)求登陸之后的頁(yè)面

具有保持功能, 就類(lèi)似瀏覽器輸入一次密碼之后,會(huì)自動(dòng)保留cookie
seesion = requests.seesion()
seesion.post(url, data, headers) # 服務(wù)器設(shè)置在本地的cookie會(huì)保存在本地
seesion.get(url) # 會(huì)帶上之前保存在seesion中的cookie,能夠請(qǐng)求成功

以上就是關(guān)于“兩種方法可以讀取Cookie”的介紹,大家如果想了解更多相關(guān)知識(shí),可以關(guān)注一下動(dòng)力節(jié)點(diǎn)的Cookie的工作原理,課程內(nèi)容細(xì)致全面,通俗易懂,適合小白學(xué)習(xí),希望對(duì)大家能夠有所幫助。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 亚洲精品视频久久 | 亚洲性免费 | 香蕉亚洲欧洲在线一区 | 亚洲精品 欧美 | 久草在线视频精品 | 五月天婷婷一区二区三区久久 | 亚洲国产精品免费视频 | 国产日韩精品欧美在线ccc | 99久久成人国产精品免费 | 国产在线视频自拍 | 夜夜资源| 久久成人精品 | 天天爽天天 | 2018天天操天天干 | 成人毛片在线视频 | 九九综合 | 亚洲欧美综合国产精品一区 | 日本精品视频在线观看 | 激情欧美一区二区三区中文字幕 | 中文在线日韩 | 欧美综合专区 | 中文字幕在线观 | 日本中文在线观看 | 亚洲性一级理论片在线观看 | 久久女 | 久久午夜夜伦伦鲁鲁片 | 久久91精品久久久久久水蜜桃 | 国产在线91观看免费观看 | 99国产精品2018视频全部 | 免费观看欧美精品成人毛片能看的 | 在线播放国产一区二区三区 | 国产精品久久亚洲不卡4k岛国 | 亚洲欧美另类久久久精品能播放的 | 久草最新视频 | 久久99精品久久久久久秒播放器 | 国产目拍亚洲精品一区二区三区 | 亚洲第一区二区快射影院 | 国产一区二区影院 | 91精品国产美女福到在线不卡 | 日韩久久精品视频 | 大尺度毛片 |