zoukankan      html  css  js  c++  java
  • python之requests.session()使用

    背景:使用requests.session会话对象先登录至豆瓣网,再进入“我的豆瓣”。

    首先说一下,为什么要进行会话保持的操作?

    requests库的session会话对象可以跨请求保持某些参数。

    说白了,就是比如你使用session成功的登录了某个网站,则再次使用该session对象对该网站的其他网页访问时都会默认使用该session之前使用的cookie等参数。

    准备工作

    1、先在浏览器正常登录豆瓣,并进入“我的豆瓣”,且通过Fiddler工具抓取相应的url和请求体;

    2、查看页面的编码格式,避免出现中文乱码。

    ''' 
      通过Fiddler抓取豆瓣登录、我的主页网址
      url1: 豆瓣登录网址
      url2: 我的主页网址
    '''

    import
    requests url1 = "https://accounts.douban.com/j/mobile/login/basic" url2 = "https://www.douban.com/people/xxxx/" # 通过Fiddler抓取请求头 header = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Firefox/68.0" } # 通过Fiddler抓取请求体(没想到抓到的密码竟然未加密?) payload = { 'ck': "", 'name': "xxxxx", 'password': 'xxxx', 'remember': 'false', 'ticket': '', } # 初始化requests.sessionh()会话对象 session = requests.session() response1 = session.get(url=url1, headers=header, verify=False) response2 = session.post(url=url1, headers=header, data=payload, verify=False) # print(response2.text) if response2.status_code == 200: # verify=False:关闭requests证书验证 response3 = session.get(url=url2, headers=header, verify=False) # 在"我的主页"中右键"查看元素",发现<head>中charset='utf-8',所以设置写入文件的编码格式,否则乱码 with open("douban.html", 'w', encoding = "utf-8") as file: file.write(response3.text)

    douban.html文件的部分内容:

    参考:https://blog.csdn.net/weixin_42575020/article/details/95179840

  • 相关阅读:
    XML 2—— XML文档的元素、属性、实体
    XML 1—— 概述
    Eclipse文件 常用快捷键
    JDBC 7—— PreparedStatement优势
    JDBC 6—— 针对不同表的通用查询操作
    JDBC 5—— 查的操作
    模板复习题目
    第四次博客作业
    oo第三次博客作业
    oo第二次博客作业
  • 原文地址:https://www.cnblogs.com/Maruying/p/13511976.html
Copyright © 2011-2022 走看看