"""
- 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...