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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM