python爬蟲cookie方面 1

2021-09-20 03:35:54 字數 3029 閱讀 8529

"""

- cookie & session

- 由於http協議的無記憶性,人們為了彌補這個缺憾,所採用的乙個補充協議

- cookie是發給使用者(即http瀏覽器)的一段資訊,session是儲存在伺服器上的對應的另一半資訊,用來記錄使用者資訊

- cookie和session的區別

- 存放位置不同

- cookie不安全

- session會儲存伺服器上一定時間,會過期

- 單個cookie儲存資料不超過4k,很多瀏覽器限制乙個站點最多儲存20個

- session的存放位置

- 存在伺服器端

- 一般情況,session是放在記憶體中或者資料庫中

"""

from urllib import request

if __name__ ==

'__main__'

: url =

''rsq = request.urlopen(url)

html = rsq.read(

).decode(

"utf-8"

)# utf-8可以不填因為預設是utf-8

with

open

("rsp.html"

,"w"

)as f:

f.write(html)

from urllib import request

if __name__ ==

'__main__'

: url =

""headers =

req = request.request(url, headers=headers)

rsp = request.urlopen(req)

html = rsp.read(

).decode(

)with

open

("rsp.html"

,"w"

, encoding=

'utf-8'

)as f:

f.write(html)

"""

- 使用cookie登入

- 直接把cookie複製下來,然後手動放入請求頭

- http模組包含一些關於cookie的模組,通過他們我們可以自動使用cookie

- cookiejar

- 管理儲存cookie,向傳出的http請求新增cookie

- cookie儲存在記憶體中,cookiejar例項**後cookie將消失

- filecookiejar(filename, delayload=none, policy=none):

- 使用檔案管理cookie

- filename是儲存cookie的檔案

- mozillacookiejar(filename, delayload=none, policy=none):

- 建立mocilla瀏覽器cookie.txt相容的filecookiejar例項

- lwpcookiejar(filename, delayload=none, policy=none):

- 建立libwww-perl標準相容的set-cookie3格式的filecookiejar例項

- 他們的關係是:cookiejar-->filecookiejar-->mozillacookiejar-->lwpcookiejar

)# 建立cookie jar的例項

# 生成 cookie的管理器

)# 建立http請求管理器

)#生成https管理器

#建立請求管理器

deflogin()

:'''

負責初次登入

需要輸入使用者名稱密碼,用來獲取cookie憑證

:return:

'''# 此url需要從登入form的action屬性中提取

url =

""# 此鍵值需要從登入form的兩個對應的input中提取name屬性

data =

# 把資料進行編碼

data = parse.urlencode(data)

# 建立乙個請求物件

req = request.request(url, data=data.encode())

# 使用opener發起請求

rsp = opener.

open

(req)

defgerhomepage()

: url =

''# 如果已經執行了login函式,則opener自動已經包含相應的cookie值

rsp = opener.

open

(url)

html = rsp.read(

).decode(

)with

open

("rsp.html"

,"w"

, encoding=

'utf-8'

)as f:

f.write(html)

if __name__ ==

'__main__'

: login(

) gerhomepage(

)

python爬蟲 cookie的使用

在做登入的post請求時,需要記住cookie,否則不能訪問登入後的頁面。下面是登入的 postdata urllib.parse.urlencode encode utf 8 使用urlencode編碼處理後,再設定為utf 8編碼header req urllib.request.request...

python爬蟲cookie模擬登入

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

Python爬蟲 Cookie查詢,使用

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