python获取cookie值的方法_python如何获得cookies全部内容

如图

图片上是浏览器抓包的cookies结果,cookies有3个内容,分别是Hm_lpvt,Hm_lvt,__c_Fw7.

我求教的问题,python怎么得到这样的cookies?

我的做法:分别用了requests.session(),urllib2,pycurl三种方法, 却都是只获得了__c_Fw7,另外2个怎么得到呢?

补充:Hm_lpvt的values只保存在浏览器会话,它的值浏览器刷新一次就更改一次。

pycurl库得到cookies的截图,__c_18j9,就是上面说的__c_Fw7。

response截图,看不到 set-cookies,或许是我方法不对,才看不到?

百度response的确是有set-cookie

你可以自己写代码来控制cookie,主要就是看reqsponse的headers中的set-cookie字段,然后把它解析出来,再传到下一次的request的headers中去。

比如下面这个就是我请求www.baidu.com时的response中的set-cookie字段

'BAIDUID=A611EF4EDE31F245A2F0520055218EE2:FG=1; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com, BIDUPSID=A611EF4EDE31F245A2F0520055218EE2; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com, PSTM=1441330839; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com, BDSVRTM=0; path=/, BD_HOME=0; path=/, H_PS_PSSID=16415_1455_17156_13245_12824_12867_17105_14951_17000_16935_17004_17072_15592_12247_13932_16969_17051; path=/; domain=.baidu.com'

自己解析下,再传到request中去 就行了。

浏览器会解析 html 然后访问请求页面中的 css 、图片、javascript 等资源,然后运行 js 脚本,会有各种各样的其它请求。

自己写的脚本只会请求一次,并不会解析 html 。

如果开发者把一此 cookies 藏在 js 脚本的请求中的话,你的脚本就会出现缺失 cookies 的情况。

你可以用 chrome 的开发者工具跟踪一下页面载入的所有请求,看下 set-cookies 指令是在哪一个请求中的,然后用脚本模拟。

参考我在写这个登陆极路由的代码 http://www.cnblogs.com/gayhub/p/5476712.html

必须指定正确的Content-Type,不然取不到COOKIES

抓包工具用fiddler比较好。

### 回答1: Python获取cookie方法可以通过以下步骤实现: 1. 导入requests库 2. 发送请求并获取响应 3. 从响应中获取cookie 具体代码如下: ``` import requests # 发送请求并获取响应 response = requests.get('http://www.example.com') # 从响应中获取cookie cookies = response.cookies.get_dict() # 输出cookie print(cookies) ``` 以上代码可以获取到响应中的所有cookie,并以字典形式输出。如果需要获取特定的cookie,可以使用`response.cookies.get('cookie_name')`方法获取。 ### 回答2: 在Python中,获取Cookie可以使用浏览器模拟登陆的方式进行操作,通过获取response的header中的Set-Cookie字段,在request中设置相应的Cookie即可。 具体的获取Cookie方法如下: 1. 使用requests库发送请求,将请求结果保存在response变量中。 2. 使用response.headers.get("Set-Cookie")方法获取Cookie中的所有信息。 3. 如果需要获取指定的Cookie,可以使用response.cookies.get("cookie_name")方法获取相应的。 4. 如果需要发送请求时携带Cookie,可以使用requests库的cookies参数将Cookie传递给请求。 代码示例: # 导入requests库 import requests # 发送请求 response = requests.get("https://example.com") # 获取所有Cookie信息 cookies = response.headers.get("Set-Cookie") # 获取指定Cookie cookie_value = response.cookies.get("cookie_name") # 发送携带Cookie的请求 headers = {"Cookie": cookie_value} response = requests.get("https://example.com", headers=headers) 总之,Python获取Cookie方法主要还是通过模拟浏览器的方式进行操作,获取到相应的Cookie后即可进行相应的处理。以上是获取Cookie的一些基础知识和方法,希望能对大家有所帮助。 ### 回答3: Python获取Cookie方法有多种,可以通过requests,selenium和http.cookiejar模块来实现。 1.使用requests模块获取Cookie: (1)先通过requests模块获取网页的源代码: ```python import requests url = 'http://example.com' response = requests.get(url) ``` (2)通过response对象的cookies属性获取所有Cookie信息: ```python cookies = response.cookies ``` (3)通过键获取某个Cookie: ```python cookie_value = cookies.get('cookie_name') ``` 2.使用selenium模块获取Cookie: (1)先通过selenium模块打开一个网页: ```python from selenium import webdriver url = 'http://example.com' driver = webdriver.Chrome() driver.get(url) ``` (2)通过driver对象的get_cookies()方法获取所有Cookie信息: ```python cookies = driver.get_cookies() ``` (3)通过键获取某个Cookie: ```python for cookie in cookies: if cookie['name'] == 'cookie_name': cookie_value = cookie['value'] ``` 3.使用http.cookiejar模块获取Cookie: (1)先通过http.cookiejar模块创建一个CookieJar对象: ```python from http.cookiejar import CookieJar cookie_jar = CookieJar() ``` (2)通过urllib.request模块获取网页源代码,并使用http.cookiejar模块管理Cookie: ```python import urllib.request url = 'http://example.com' request = urllib.request.Request(url) cookie_processor = urllib.request.HTTPCookieProcessor(cookie_jar) opener = urllib.request.build_opener(cookie_processor) response = opener.open(request) ``` (3)通过键获取某个Cookie: ```python for cookie in cookie_jar: if cookie.name == 'cookie_name': cookie_value = cookie.value ``` 通过以上三种方法,可以方便地获取Cookie。但需要注意的是,获取Cookie需要先获取网页源代码或者打开网页,因此需要保证网络连接正常。同时,需要注意Cookie的有效期,如果Cookie已经过期,则无法获取
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值