Python爬虫教程-15-读取cookie(人人网)和SSL(12306官网)

Python爬虫教程-15-爬虫读取cookie(人人网)和SSL(12306官网)

上一篇写道关于存储cookie文件,本篇介绍怎样读取cookie文件

cookie的读取

# 读取cookie文件
from urllib import request,parse
from http import cookiejar

# 创建cookiejar的实例
cookie = cookiejar.MozillaCookieJar()
cookie.load('py15renrenCookie.txt', ignore_discard=True, ignore_expires=True)

# 常见cookie的管理器
cookie_handler = request.HTTPCookieProcessor(cookie)
# 创建http请求的管理器
http_handler = request.HTTPHandler()

# 生成https管理器
https_handler = request.HTTPSHandler()

# 创建请求管理器
opener = request.build_opener(http_handler,https_handler,cookie_handler)

def getHomePage():
    # 地址是用在浏览器登录后的个人信息页地址
    url = "http://www.renren.com/967487029/profile"

    # 如果已经执行login函数,则opener自动已经包含cookie
    rsp = opener.open(url)
    html = rsp.read().decode()

    with open("py13rsp.html", "w", encoding="utf-8")as f:
        # 将爬取的页面
        print(html)
        f.write(html)

if __name__ == '__main__':

    getHomePage()

运行结果

同样是当返回页面有个人信息,才算成功!
这里写图片描述

SSL

  • ssl证书就是指遵守ssl安全套阶层协议的服务器数字证书(SercureSocketLayer)
  • 美国网景公司开发
  • 使用ssl,加密信息
  • 俗称https协议
  • CA(CertificateAuthority)是数字证书任重中心,是发放,管理,废除数字证书的收信人的第三方机构
  • 遇到不信任的SSL证书,需要单独处理
  • 案例v17ssl文件:
'''
使用ssl
1.直接访问https://www.12306.cn/mormhweb/会无法访问,报错如下
 ----------------------------------
 您的连接不是私密连接
 攻击者可能会试图从 www.12306.cn 窃取您的信息
 (例如:密码、通讯内容或信用卡信息)
 -----------------------------------
2.不使用https使用http解可以访问
3.因为12306的证书是自己做的,而不是第三方机构
4.所以说http不安全会泄露个人信息
'''
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)

运行结果

这里写图片描述
不是报错页面,表示使用成功

更多文章链接:Python 爬虫随笔


- 本笔记不允许任何个人和组织转载
posted @ 2018-09-06 20:34  xpwi  阅读(1003)  评论(0编辑  收藏  举报