python爬蟲 cookie的使用

2021-08-14 19:37:42 字數 1665 閱讀 9597

在做登入的post請求時,需要記住cookie,否則不能訪問登入後的頁面。

下面是登入的**:

postdata =urllib.parse.urlencode().encode('utf-8')#使用urlencode編碼處理後,再設定為utf-8編碼header =

req = urllib.request.request(url,postdata,header)

##print(urllib.request.urlopen(req).read().decode('utf-8'))

#自動記住cookie

以前用的是python2.7,但是python3開始很多包的位置和以前不一樣了,就對這裡用到的說明一下:

urllib2合併到了urllib下,urlopen使用時包的位置為urllib.request.urlopen,urlencode使用包位置為urllib.parse.urlencode

cookielib變更為了http.cookiejar

說明:帶cookie的列印出來必須用opener.open(req).read().decode('utf-8')來傳送的請求才會帶上cookie,如果用urllib.request.urlopen()是不帶cookie的

說明:

1.urllib.request.request()返回了乙個request的請求例項

2.urlopen是乙個封裝好的openerdirector例項,裡面只有三個引數(url,data,timeout)

3.通過build_opener可以自己建立乙個openerdirector例項,所以如果想要構建乙個cookie管理

build_opener(*handlers),將handler類例項化增加到openerdirector中,比如像上面的例子裡增加cookie,

如果已知cookie內容,且要用這個固定cookie去傳送請求,可以在header中直接新增cookie內容去傳送請求,例子如下:

比如通過fiddle抓取請求包,看到請求和相應的raw格式,可以看到cookie(cookie屬於header)。

import urllib

url = ""

postdata=urllib.parse.urlencode().encode('utf-8')

header=

req = urllib.request.request(url,postdata,header)

r=urllib.request.urlopen(req)

print(r.read().decode('utf-8'))

說明:cookie中的內容我給替換掉了,放上自己的cookie就可以了

python爬蟲cookie方面 1

cookie session 由於http協議的無記憶性,人們為了彌補這個缺憾,所採用的乙個補充協議 cookie是發給使用者 即http瀏覽器 的一段資訊,session是儲存在伺服器上的對應的另一半資訊,用來記錄使用者資訊 cookie和session的區別 存放位置不同 cookie不安全 s...

python爬蟲cookie模擬登入

抓取需要登入才能訪問的頁面1 先登入成功1次,獲取到攜帶登陸資訊的cookie f12開啟控制台,在頁面輸入使用者名稱 密碼,登入成功,找到 home 一般在抓到位址的上面 2 攜帶著cookie發請求 cookie referer 源,代表你從 轉過來的 user agentimport requ...

Python爬蟲 Cookie查詢,使用

在爬蟲的過程中經常會遇到需要登入之後才能完整訪問的情況。使用cookic可以模擬登入的情況,登入資訊儲存於cookie中。查詢cookie 通過瀏覽器開發者模式 f12 直接查詢。具體操作 進入開發者模式 f12 network 選擇花費時間最長的 一般就是第一行 紅色部分即為cookie 使用se...