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'))