python爬蟲中使用urli庫可以使用opener"發(fā)送多個請求,這些請求是能共享處理cookie的,小編之前也提過python爬蟲中使用request庫會比urllib庫更加⽅便,使用使用requests也能達到共享cookie的目的,即使用request庫get方法和使用requests庫提供的session對象都可以處理。
方法一:使用request庫get方法
resp = requests.get('http://www.baidu.com/')
print(resp.cookies)
print(resp.cookies.get_dict())
方法二:使用requests庫提供的 session對象
import requests
url = "http://www.renren.com/PLogin.do"
data = {"email":"970138074@qq.com",'password':"pythonspider"}
headers = { 'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" }
#登錄
session = requests.session() session.post(url,data=data,headers=headers)
#訪問
resp = session.get('http://www.renren.com/256450404/profile')
print(resp.text) ```
知識點擴展:
我們知道了requests中的session對象能夠在請求之間保持cookie,它極大地方便了我們?nèi)ナ褂胏ookie。當(dāng)我們想設(shè)置方法級別中的請求時,可以如下面示例一樣操作。
import requests
s = requests.session()
# 第一步:發(fā)送一個請求,用于設(shè)置請求中的cookies
cookies = dict(cookies_are='cookie1')
# tips: http://httpbin.org能夠用于測試http請求和響應(yīng)
r1 = s.get(url='http://httpbin.org/cookies', cookies=cookies)
print(r1.text)
# 第二步:發(fā)送一個請求,用于再次設(shè)置請求中的cookies
cookies = dict(cookies_are='cookie2')
r2 = s.get(url='http://httpbin.org/cookies', cookies=cookies)
print(r2.text)
運行后
# r1.text
{
"cookies": {
"cookies_are": "cookie1"
}
}
# t2.text
{
"cookies": {
"cookies_are": "cookie2"
}
}
到此這篇關(guān)于python爬蟲用request庫處理cookie的實例講解的文章就介紹到這了,更多相關(guān)python爬蟲如何使用request庫處理cookie內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- php cookie工作原理與實例詳解
- Python Selenium操作Cookie的實例方法
- ASP.NET Core 使用Cookie驗證身份的示例代碼
- vue登錄頁實現(xiàn)使用cookie記住7天密碼功能的方法
- Cookie的工作原理和應(yīng)用詳解