VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > C#编程 >
  • C#教程之Python的Cookie如何正确操作运用呢?案例详解(2)

但是这样做太过复杂,我们先需要在浏览器登录账户,并且设置保存密码,并且通过抓包才能获取这个Cookie,那有么有更简单方便的方法呢?

相关推荐:《Python相关教程》

cookielib库 和 HTTPCookieProcessor处理器

在Python处理Cookie,一般是通过 http 模块的 cookiejar 模块和 urllib 模块的 HTTPCookieProcessor 处理器类一起使用。

cookiejar模块:主要作用是提供用于存储cookie的对象。

HTTPCookieProcessor处理器:主要作用是处理这些cookie对象,并构建handler对象。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import urllib.request
import urllib.parse
from http import cookiejar
 
# 1. 构建一个CookieJar对象实例来保存cookie
cookie = cookiejar.CookieJar()
 
# 2. 使用HTTPCookieProcessor()来创建cookie处理器对象,参数为CookieJar()对象
cookie_handler = urllib.request.HTTPCookieProcessor(cookie)
 
# 3. 通过 build_opener() 来构建opener
opener = urllib.request.build_opener(cookie_handler)
 
# 4. addheaders 接受一个列表,里面每个元素都是一个headers信息的元祖, opener将附带headers信息
opener.addheaders = [("User-Agent",
                      "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.36 (KHTML, like 
                      Gecko) Chrome/73.0.3683.103 Safari/537.36")]
 
# 5. 需要登录的账户和密码
data = {"email""562352353@qq.com""password""chen562352353"}
 
# 6. 通过urlencode()转码
postdata = urllib.parse.urlencode(data).encode("utf-8")
 
# 7. 构建Request请求对象,包含需要发送的用户名和密码
request = urllib.request.Request("http://www.renren.com/PLogin.do", data=postdata)
 
# 8. 通过opener发送这个请求,并获取登录后的Cookie值,
opener.open(request) 
# 9. opener包含用户登录后的Cookie值,可以直接访问那些登录后才可以访问的页面
response = opener.open("http://www.renren.com/485439163")
 
# 10. 打印响应内容
print(response.read().decode("utf-8"))
相关教程