cookie作为变量打印
"""
- 创立handler后,使用opener打开,打开后相应的业务由相应的hanlder处理
- cookie作为一个变量,打印出来 -案例一
"""
案例一
from urllib import request, parse, error
from http import cookiejar
cookie = cookiejar.CookieJar()
cookie_handler = request.HTTPCookieProcessor(cookie)
http_handler = request.HTTPHandler()
https_handler = request.HTTPSHandler()
opener = request.build_opener(http_handler, https_handler, cookie_handler)
def login():
'''
负责初次登录
需要输入用户名密码,用来获取cookie凭证
:return:
'''
url = "http://www.renren.com/PLogin.do"
data = {
"email": '账号',
"password": '密码'
}
data = parse.urlencode(data)
req = request.Request(url, data=data.encode())
rsp = opener.open(req)
if __name__ == '__main__':
'''
执行完login之后,会得到授权后的cookie
我们尝试把cookie打印出来
'''
login()
print(cookie)
for it in cookie:
print(type(it))
print(it)
for i in dir(it):
print(i)
"""
- handler是Handler的实例,常用参数看案例代码
- 用来处理复杂请求
- 生成 cookie的管理器
- cookie_handler = request.HTTPCookieProcessor(cookie)
- 创建http请求管理器
- http_handler = request.HTTPHandler()
- 生成https管理器
- https_handler = request.HTTPSHandler()
- 创立handler后,使用opener打开,打开后相应的业务由相应的hanlder处理
- cookie作为一个变量,打印出来,案例一
- cookie的属性
- name:名称
- value:值
- domain:可以访问此cookie的域名
- path:可以访问此cookie的页面路径
- exeires:过期时间
- size:大小
- Http字段
- cookie的保存-FileCookieJar,案例三
- cookie读取 案例四
"""
Cookie读取写入
案例三 写入
from urllib import request, parse, error
from http import cookiejar
filename = "cookie.txt"
cookie = cookiejar.MozillaCookieJar(filename)
cookie_handler = request.HTTPCookieProcessor(cookie)
http_handler = request.HTTPHandler()
https_handler = request.HTTPSHandler()
opener = request.build_opener(http_handler, https_handler, cookie_handler)
def login():
'''
负责初次登录
需要输入用户名密码,用来获取cookie凭证
:return:
'''
url = "http://www.renren.com/PLogin.do"
data = {
"email": '15225771396',
"password": 'caoheku123'
}
data = parse.urlencode(data)
req = request.Request(url, data=data.encode())
rsp = opener.open(req)
cookie.save(ignore_discard=True, ignore_expires=True)
if __name__ == '__main__':
login()
案例四 读取
from urllib import request, parse, error
from http import cookiejar
cookie = cookiejar.MozillaCookieJar()
cookie.load('cookie.txt', ignore_discard=True, ignore_expires=True)
cookie_handler = request.HTTPCookieProcessor(cookie)
http_handler = request.HTTPHandler()
https_handler = request.HTTPSHandler()
opener = request.build_opener(http_handler, https_handler, cookie_handler)
def gerHomePage():
url = 'http://www.renren.com/970585682/profile'
rsp = opener.open(url)
html = rsp.read().decode()
with open("rsp.html", "w", encoding='utf-8') as f:
f.write(html)
if __name__ == '__main__':
gerHomePage()
SSL认证模块
"""
- SSL
- SSL证书是遵守SSL安全套阶层协议的服务器数字证书(SercureSocketLayer)
- 美国网景公司开发
- CA(CertifacateAuthority)是数字证书认证中心,是发放,管理,废除数字证书的收信人的第三方机构
- 案例五
"""
案例五
from urllib import request
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
url = "https://www.12306.cn/mormhweb"
rsp = request.urlopen(url)
html = rsp.read().decode()
print(html)