Cookies的處理
作用
保存客戶端的相關狀態
在爬蟲中如果遇到了cookie的反爬如何處理?
手動處理
在抓包工具中捕獲cookie,將其封裝在headers中
應用場景:cookie沒有有效時長且不是動態變化
自動處理
使用session機制
使用場景:動態變化的cookie
session對象:該對象和requests模塊用法幾乎一致.如果在請求的過程中產生了cookie,如果該請求使用session發起的,則cookie會被自動存儲到session中.
案例
#獲取一個session對象
import requests
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36'
}
session = requests.Session()
main_url = 'https://xueqiu.com' #推測對該url發起請求會產生cookie
session.get(main_url,headers=headers)
url = 'https://xueqiu.com/v4/statuses/public_timeline_by_category.json'
params = {
'since_id': '-1',
'max_id': '20346152',
'count': '15',
'category': '-1',
}
page_text = session.get(url,headers=headers,params=params).json()
page_text