3 爬蟲cookie的處理辦法


cookie的應用和處理

- cookie:服務器端記錄客戶端的相關狀態
- 處理cookie的方式:
    - 手動處理:不建議  頁面找隱藏的標簽,獲取value
    - 自動處理會話對象Session,該對象可以像requests模塊一樣進行網絡請求的發送(get,post)。session進行的請求發送可以自動攜帶和處理cookie

cookie/session處理請求不是必須的 ,因為session是耗費資源的
#基於cookie的案例分析:https://xueqiu.com/    案例使用自動處理cookie辦法
#1.從首頁中獲取詳情頁的url
    #發現:首頁中的新聞數據是動態加載出來(ajax) json數據中taget對應的value值就是詳情頁的url
import requests,json
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'
}
# 第一次請求url 自動獲取cookie
session = requests.Session()
session.get(url='https://xueqiu.com',headers=headers) # cookie就會自動存到session中
# 捕獲ajax數據包獲取的url
url = 'https://xueqiu.com/v4/statuses/public_timeline_by_category.json?since_id=-1&max_id=-1&count=10&category=-1'
# 攜帶cookie進行的請求發送
dic_json = session.get(url=url,headers=headers).json()
#從響應數據中獲取詳情頁的url
for dic in dic_json['list']:
    info = json.loads(dic['data'])
    detail_url = 'https://xueqiu.com' + info['target']  # 詳情頁url
    title = info['title']
    print(detail_url,title)

 


免責聲明!

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



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