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

  • 相关阅读:
    poj 2187 Beauty Contest(旋转卡壳)
    poj 2540 Hotter Colder(极角计算半平面交)
    poj 1279 Art Gallery(利用极角计算半平面交)
    poj 3384 Feng Shui(半平面交的联机算法)
    poj 1151 Atlantis(矩形面积并)
    zoj 1659 Mobile Phone Coverage(矩形面积并)
    uva 10213 How Many Pieces of Land (欧拉公式计算多面体)
    uva 190 Circle Through Three Points(三点求外心)
    zoj 1280 Intersecting Lines(两直线交点)
    poj 1041 John's trip(欧拉回路)
  • 原文地址:https://www.cnblogs.com/Maruying/p/13511976.html
Copyright © 2011-2022 走看看