获取cookie和添加cookie的方法,如何获取cookie的值
获取甜饼干的核心目的不仅仅是实现登录。一般来说,我们实现请求大致分为两种方法。第一种是硒,另一种是包括请求、urllib等在内的其他类型,cookie的获取也是针对这种结构进行的
我现在开始做!呃!
以硒幻影界面浏览器的形式访问站点并获取甜饼干值:
(当然这里也包括网驱动程序)
#导入模块fromseleniumimportwebdriverdriver=web驱动程序。幻影js(URL= https://et .厦门air.com/Xiamen航空/书/查找查找lang=ztriptype=0 queryflightinfo=xmn,PEK,2018-01-15driver.get(URL)现在开始获取甜饼干时要小心。 #获取#饼干列表cookie _ list=driver。获取_ cookies(#此处主要使用自带的获取_ cookies方法# cookieforcookieincokie _ list 334
[domain : .et .厦门航空网, expiry:1577686388, http only3360 false, name3360_ du amd
{ 域:。et .厦门航空网,到期:157772728,仅限http 3360 false, name3360_ GID }
{ 域:。et .厦门航空网,到期:1640758328,仅限http 3360假,姓名3360_ ga }
{domain:et .厦门航空网,到期:1593238326.401786,仅限http 3360假,姓名 3360 瓦里
{ 域:。et .厦门航空网,仅 http :false, name : hm _ lpvt _ a 0f 83 BBC1d 09 b6e 5a 33920 }
{ 域:。厦门航空网,到期:1585462327,仅限 http :false, name:_ gcl _ ame }
{ 域:。et .厦门航空网,到期:160922327,仅限http 3360假,姓名3360hm _ }
{domain3360et .厦门航空网,仅 http :false, name:jsessionid , path3360/Xia ame
我明白了。饼干本来就是这种格式
包含n个或更多字典的列表,其中包含域、到期、httpOnly、名称、路径、安全和价值等字段
第一个看看吧。接下来我们来看第二个
第二点相对来说很多。我们基于不同的要求方法。
但是,我们有一个共同点。基本上是用库克耶尔做的
1 .首先,关于urllib,我们只针对python3
# python3.6环境fromlimportrequestfromhttpimportcookiej
ar if __name__==__main__: #1 .声明一个库克耶尔对象实例来保存饼干,先构建一个容器cookie=cookiejar .CookieJar() # 2 .利用urllib.request库的HTTPCookieProcessor对象来创建甜饼干处理器,也就CookieHandler处理程序=请求HTTPCookieProcessor(cookie) #通过CookieHandler创建开启器开启器=请求。build _ opener(处理程序)# 3。此处的打开方法打开网页回应=开场白。打开( http://www。百度一下。com )#打印甜饼干信息对于甜饼干中的项目:print( Name=% s % item。Name)print( Value=% s % item。值)有人会说,如果我想看甜饼干的具体东西,我没打印的情况下,我怎么知道甜饼干的属性有哪些,这确实,说的没毛病,那么我再来一招:
以上面为例库克耶尔获取的其实是一个对象列表,列表可以遍历,但是对象不可以遍历,那怎么办呢?
对于饼干中的我:
打印("我是k”,识别号dict。items())
这样来,我们对库克耶尔进行遍历,得到对象我,那么再对对象我进行字典化的读取,就可以了
2.再来,我们再来说说要求请求方式:
一般携带Cookie请求有三种方式:
三种Cookie请求方式
第一种:cookie放在headers中
首先找到登陆之后的饼干和用户代理,然后将用户代理和饼干复制到程序里面,如下:导入请求url= https://博客。csdn。net/William Gavin headers={ User _ Agent : Mozilla/5.0(Windows NT 10.0;WOW64) AppleWebKit/537.36 (KHTML,像壁虎一样)Chrome/64。0 .3282 .186 Safari/537.36 , Cookie :这个还是算了吧,用你们自己的博客试^-^ }response=requests.get(url,headers=headers)with open( csdn。html , w ,encoding= utf-8 )为f:f . write(响应。内容。decode());第二种:cookie字典传给cookies参数
这里以请求人人网为例:
找到对应的甜饼干和用户代理导入请求。人人网。com/967272361/profile headers={ User-Agent : Mozilla/5.0(Windows NT 10.0;WOW64) AppleWebKit/537.36 (KHTML,像壁虎一样)Chrome/64。0 .3282 .186 Safari/537.36 ,}#不带上饼干就访问不了这个页面cookie= anonymid=JK 63 khrk-y 97 r4p;_ r01 _=1;ln_uact=mr_jydrg_hacker@163.com;ln _ hurl=http://hdn。xnimg。cn/photos/hdn 421/2018 07 20/1740/main _ JAWQ _ 0aa 00000 CEB 195 a . jpg;_ ga=ga 1。2 .27333 .38636386667de省=HUNJSESSIONID=abce 5k 0 CIA JDC 9 esvecuw;ick _ log in=026 ba 348-e4e 9-4871-9ce 3-5868 b 95 cfdd 3;first _ log in _ flag=1;log in from=syshomeWP _ fold=0;百度_ SSP _ LCR=https://www。百度一下。com/link?URL=VRx _ hkud 53 i5 rywzhvrq 9 vvlotqst 6-jtaZDlscFYCOwd=eqid=e 957 AEC 4000379280000065 b 64 fcab;ick=64518 f30-9a 22-47df-B3 C3-4114 f 185 c3c 6;t=8 fcf 47068763 c 279 EEA 2620 b 51 b7a 3311;社会guester=8 fcf 47068763 c 279 EEA 2620 b 51 b7a 3311;id=967272361xnsid=FD 736 c 63jebecookies=3f9a 3853-3371-4857-8268-308d 663 ca 146 ;jebe _ key=19041 c4e-4d 38-4d C1-BF B9-124 b 81 afae 61 33 B1 d 8 f 602 cf 6 DD 5a 9834 Fe 6 F2 BF 97 f 2 1533346094265 1 1533346099750 #将上面哪个甜饼干转化成字典类型cookie _ dict={ I . split(=)[0]:cookie。拆分(=)中我的I .拆分[-1];)}response=requests.get(url,headers=headers,cookies=cookie _ dict)with open(人人网2。html , w ,encoding= utf-8 )为f:f . write(响应。内容。decode())第三种 先发送post请求,获取cookie,带上cookie请求登陆之后的页面
具有保持功能,就类似浏览器输入一次密码之后,会自动保留cookies会话=请求。参见()参见。帖子(URL、数据、标题)#服务器设置在本地的甜饼干会保存在本地seesion.get(url) #会带上之前保存在支持多中的饼干,能够请求成功参考:
要求的甜饼干
完整硒登陆过程
更全
最明白
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。