Cookie信息的保存

1.什么是cookie?

Cookie,有时也用其复数形式 Cookies,指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密),

基于 Internet的各种服务系统应运而生,建立商业站点或者功能比较完善的个人站点,常常需要记录访问者的一些信息;论坛作为 Internet发展的产物之一,在 Internet 中发挥着越来越重要的作用,是用户获取、交流、传递信息的主要场所之一,论坛常常也需要记录访问者的一些基本信息(如身份识别号码、密码、用户在 Web 站点购物的方式或用户访问该站点的次数)。目前公认的是,通过 Cookie 和 Session 技术来实现记录访问者的一些基本信息
如下:
在这里插入图片描述

2.如何将Cookie保存到变量中, 或者文件中

声明一个CookieJar —> FileCookieJar --> MozillaCookie

from http import cookiejar
from urllib.request import  HTTPCookieProcessor
from urllib import  request
# 1. 如何将Cookie保存到变量中, 或者文件中;
cookie = cookiejar.CookieJar()
# 2). 利用urllib.request的HTTPCookieProcessor创建一个cookie处理器
handler = HTTPCookieProcessor(cookie)
# 3). 通过CookieHandler创建opener
# 默认使用的openr就是urlopen;
opener = request.build_opener(handler)
# 4). 打开url页面
response = opener.open('http://www.baidu.com')
# 5). 打印该页面的cookie信息
print(cookie)
for item in cookie:
    print(item)

在这里插入图片描述

3.如何将Cookie以指定格式保存到文件中

from urllib import request
from urllib.request import HTTPCookieProcessor
from http import cookiejar


# 1). 设置保存cookie的文件名
cookieFilename = 'cookie.txt'
# 2). 声明一个MozillaCookie,用来保存cookie并且可以写入文j
cookie = cookiejar.MozillaCookieJar(filename=cookieFilename)
# 3). 利用urllib.request的HTTPCookieProcessor创建一个cookie处理器
handler = HTTPCookieProcessor(cookie)
# 4). 通过CookieHandler创建opener
# 默认使用的openr就是urlopen;
opener = request.build_opener(handler)
# 5). 打开url页面
response = opener.open('http://www.baidu.com')
# 6). 打印cookie,
print(cookie)
# ignore_discard, 即使cookie信息将要被丢弃。 也要把它保存到文件中;
# ignore_expires, 如果在文件中的cookie已经存在, 就覆盖原文件写入;
cookie.save(ignore_discard=True, ignore_expires=True)

在这里插入图片描述
在这里插入图片描述

4.如何从文件中获取cookie并访问

from http import cookiejar
from urllib.request import  HTTPCookieProcessor
from urllib import  request

# 1). 指定cookie文件存在的位置
cookieFilename = 'cookie.txt'
# 2).声明一个MozillaCookie,用来保存cookie并且可以写入文件, 用来读取文件中的cookie信息
cookie = cookiejar.MozillaCookieJar()
# 3). 从文件中读取cookie内容
cookie.load(filename=cookieFilename)
# 4). 利用urllib.request的HTTPCookieProcessor创建一个cookie处理器
handler = HTTPCookieProcessor(cookie)
# 5). 通过CookieHandler创建opener
# 默认使用的openr就是urlopen;
opener = request.build_opener(handler)
# 6). 打开url页面
response = opener.open('http://www.baidu.com')
#7). 打印信息
print(response.read().decode('utf-8'))

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/forever_wen/article/details/83095551