爬蟲 | 處理cookie的基本方法——session

abloger發表於2024-06-12

很多網頁要求登入後,才能檢視對應的資訊,整個流程是:

客戶端                          伺服器
玩家登入                        返回cookie
獲得cookie後繼續訪問其他頁面     根據cookie查驗身份,返回對應內容

session會話,理解為可以連續請求,先提交data換來cookie,然後可以帶著cookie繼續訪問。

import requests  
  
# 建立一個會話物件  
session = requests.session()  
  
# 使用會話物件登入(假設需要登入)  
login_url = 'https://example.com/login'  
login_data = {'username': 'myuser', 'password': 'mypass'}  
session.post(login_url, data=login_data)  
  
# 現在,由於我們使用了會話物件,所以後續的請求會攜帶前面請求中設定的cookies  
# 例如,訪問一個需要登入後才能展示的個人資訊頁面  
profile_url = 'https://example.com/profile'  
response = session.get(profile_url)  #>>>> 用session去請求
print(response.text)  
  
# 當你完成所有請求後,可以關閉會話(但這不是強制的,因為Python的垃圾回收機制會處理它)  
session.close()

相關文章