有時會遇到爬取的頁面需要登入,這就要帶上cookie了。
下面記錄了幾種攜帶cookie的方法
# coding=utf-8import requests
s = requests.session()
login_data =
# 方法1
# resp1 = s.post('', data=login_data)
# r = s.get('')
# 方法2
# resp1 = requests.post('', data=login_data)
# print('cookie:' + str(resp1.cookies))
# r = requests.get('', cookies=resp1.cookies)
# 方法3
# c =
# r = requests.get('', cookies=c)
c =
r = requests.get('', cookies=c)
resp = r.text
print(resp)
方法1是利用同乙個session,先登入,再訪問有限制頁面。
方法2是直接使用requests,和1一樣,同樣是先登入,獲取cookie,攜帶cookie訪問限制頁面。
方法3是手動從瀏覽器獲取cookie,再攜帶cookie訪問限制頁面。
優缺點:
1,2差不多,都是直接執行指令碼就可以了,但是需要登入頁面沒有驗證碼一類的處理。
3可以應對各種**,但是需要手動獲取cookie。
Ajax請求攜帶Cookie
目錄服務端設定跨域的幾種方式 方式二 對單個介面處理 方式三 crossorigin註解 方式四 nginx配置新增允許跨域請求 先來了解下xhr xhr,全稱為xmlhttprequest,用於與伺服器互動資料,是ajax功能實現所依賴的物件,jquery中的ajax就是對 xhr的封裝。還有ax...
跨域請求攜帶cookie
之前寫過乙個第三方登入的方案,就是利用tomcat session和cookie配合的方式來完成第三方跨域登入。在時間做的過程中碰到了乙個問題,就是在回寫瀏覽器的cookie時發現一直寫不進去,針對這個問題做了仔細的檢查,原來的採用ajax傳送跨域請求的時候預設是不會攜帶cookie的,如果需要允許...
重定向如何攜帶cookie
然後由於採用了乙個專門的網域名稱來做授權,這樣重定向到其它網域名稱時,就會出現不能攜帶cookie的問題。當然把登入後的引數放到url裡可以解決這個問題,但是這樣複製出來的url,就會 帶有使用者的資訊了。通過查閱資料發現,如果是相同網域名稱和path,重定向是可以攜帶cookie的,於是想到了下面...