溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python爬蟲中使用cookie可能出現(xiàn)的錯誤

發(fā)布時間:2020-12-01 09:36:11 來源:億速云 閱讀:628 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關(guān)python爬蟲中使用cookie可能出現(xiàn)的錯誤,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

以訪問百度為例:

import requests
conn = requests.session()
resp = conn.get('https://www.baidu.com/s?wd=findspace')
# 打印請求的頭
print(resp.request.headers)
# 打印結(jié)果如下,requests已經(jīng)自動填充了部分數(shù)據(jù)
{'Connection': 'keep-alive', 'User-Agent': 'python-requests/2.4.3 CPython/3.4.2 Linux/3.16.0-4-amd64', 'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate'}
# 再訪問一次:
resp = conn.get('https://www.baidu.com/s?wd=findspace')
print(resp.request.headers)
{'Connection': 'keep-alive', 'User-Agent': 'python-requests/2.4.3 CPython/3.4.2 Linux/3.16.0-4-amd64', 'Accept': '*/*', 'Cookie': 'BD_NOT_HTTPS=1; BDSVRTM=3; PSTM=1458389621; BIDUPSID=9CB03BE7D7F436EC2EE23C6E6EBE8EBD', 'Accept-Encoding': 'gzip, deflate'}

可以看到請求中已經(jīng)自動加上了cookie,但是也可以看到,user-agent是'python-requests/2.4.3 CPython/3.4.2 Linux/3.16.0-4-amd64',可以通過設(shè)置headers的方法來設(shè)置

headers = {
    "method": "POST",
    "scheme": "https",
    "version": "HTTP/1.1",
    "accept": "*/*",
    "accept-encoding": "gzip, deflate",
    "accept-language": "en-US,en;q=0.8,zh-CN;q=0.6,zh;q=0.4",
    "content-type": "application/x-www-form-urlencoded;charset=UTF-8",
    "dnt": "1",
    "faces-request": "partial/ajax",
    "origin": "https://www.baidu.com",
    "referer": "https://www.baidu.com",
}
resp = conn.get(url, headers=headersm timeout=60)

注意此時的頭會和requests填充的頭相互補充,但是用戶自定義的頭具有高優(yōu)先級。比如,你在headers里填充cookies為自己的數(shù)據(jù),則在本次請求中會覆蓋requests之前給你保存的cookies。 也就不用像前文一樣去手動保存cookie了。

關(guān)于python爬蟲中使用cookie可能出現(xiàn)的錯誤就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI