第二章 网络请求(八) 2019-12-06

十、urllib库 - 实战– 知乎登录模拟实战(2

 

http.cookiejar模块:

 

该模块主要的类有CookieJar、FileCookieJar、MozillaCookieJar、LWPCookieJar

这四个类的作用分别如下:

 

1、CookieJar:管理HTTP cookie值、存储HTTP请求生成的cookie、向传出的HTTP请求添加cookie的对象。


2、FileCookieJar(filename,delayload= None,policy = None):从CookieJar 派生而来,用来创建FileCookieJar实例,检索cookie信息并将cookie存储到文件中。

Filename 是存储cookie的文件名。delayload为True时支持延迟访问访问文件,即只有在需要时才读取文件或在文件中存储数据。


3、MozillaCookieJar(filename,delayload= None,policy = None):从FileCookieJar 派生而来,创建与 Mozilla浏览器cookies.txt兼容的FileCookieJar 实例。


4、LWPCookieJar(filename,delayload= None,policy = None):从FileCookieJar 派生而来,创建与libwww-perl 标准的 Set-Cookie3 文件格式兼容的 FileCookieJar 实例。


示例代码:


# 从urllib 库导入 request 模块,从urllib 库导入 parse编码模块,从http.cookiejar 模块导入CookieJar类

fromurllib import request

fromurllib import parse

fromhttp.cookiejar import CookieJar

  

#登录链接:https://i.meishi.cc/login.php?redirect=https%3A%2F%2Fwww.meishij.net%2F  从登录界面输完密码进去,login 中看属性

# 个人网页 https://i.meishi.cc/cook.php?id=

# 添加请求头

headers= {'user-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36(KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'}

  

# 1.登录

#1.1 创建cookiejar 对象

cookiejar= CookieJar()

 

#1.2 使用cookiejar 创建一个HTTPCookieProcess对象

handler= request.HTTPCookieProcessor(cookiejar)

 

#1.3 使用上一步创建的handler 创建一个opener

opener= request.build_opener(handler)

 

#1.4 使用opener 发送登录请求  (账号和密码)

post_url = 'https://i.meishi.cc/login.php?redirect=https%3A%2F%2Fwww.meishij.net%2F'

post_data = parse.urlencode({'username':'xxxxxxx@qq.com','password':'yyyyyyyy'})

req = request.Request(post_url,data = post_data.encode('utf-8'))

opener.open(req)

 

#2. 访问个人主页

url = 'https://i.meishi.cc/cook.php?id=14288257'

rq =request.Request(url,headers = headers)

resp = opener.open(rq)

print(resp.read().decode('utf-8'))



上一篇文章 第二章 网络请求(七) 2019-12-05 地址:

https://www.jianshu.com/p/558f9c7f4a67

下一篇文章 第二章 网络请求(九) 2019-12-07 地址

https://www.jianshu.com/p/a854f48c20f9



以上资料内容来源网络,仅供学习交流,侵删请私信我,谢谢。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • urllib库 urllib库是Python中一个最基本的网络请求库。可以模拟浏览器的行为,向指定的服务器发送一个...
    徐弱西阅读 2,481评论 1 1
  • 网络 理论模型,分为七层物理层数据链路层传输层会话层表示层应用层 实际应用,分为四层链路层网络层传输层应用层 IP...
    FlyingLittlePG阅读 4,373评论 0 0
  • Handler处理器 和 自定义Opener 1. 概述 opener是 urllib2.OpenerDirect...
    rhlp阅读 4,585评论 0 0
  • ProxyHandler处理器(代理设置) 很多网站会检测某一段时间某个IP的访问次数(通过流量统计,系统日志等)...
    Eille2018阅读 1,675评论 0 0
  • urllib库是Python中一个最基本的网络请求库。可以模拟浏览器的行为,向指定的服务器发送一个请求,并可以保存...
    朝南而行_阅读 3,663评论 0 3

友情链接更多精彩内容