国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - python爬蟲使用cookie登錄詳解

python爬蟲使用cookie登錄詳解

2020-12-29 00:40__擱淺 Python

這篇文章主要介紹了python爬蟲使用cookie登錄詳解,具有一定借鑒價值,需要的朋友可以參考下

前言:

什么是cookie?

Cookie,指某些網站為了辨別用戶身份、進行session跟蹤而儲存在用戶本地終端上的數據(通常經過加密)。

比如說有些網站需要登錄后才能訪問某個頁面,在登錄之前,你想抓取某個頁面內容是不允許的。那么我們可以利用Urllib庫保存我們登錄的Cookie,然后再抓取其他頁面,這樣就達到了我們的目的。

一、Urllib庫簡介

Urllib是python內置的HTTP請求庫,官方地址:https://docs.python.org/3/library/urllib.html

包括以下模塊:

>>>urllib.request請求模塊

>>>urllib.error異常處理模塊

>>>urllib.parseurl解析模塊

>>>urllib.robotparserrobots.txt解析模塊

二、urllib.request.urlopen介紹

uurlopen一般常用的有三個參數,它的參數如下:

urllib.requeset.urlopen(url,data,timeout)

簡單的例子:

1、url參數的使用(請求的URL)

response=urllib.request.urlopen('http://www.baidu.com')

2、data參數的使用(以post請求方式請求)

data=bytes(urllib.parse.urlencode({'word':'hello'}),encoding='utf8')

response=urllib.request.urlopen('http://www.baidu.com/post',data=data)

3、timeout參數的使用(請求設置一個超時時間,而不是讓程序一直在等待結果)

response=urllib.request.urlopen('http://www.baidu.com/get',timeout=4)

三、構造Requset

1、數據傳送POST和GET(舉例說明:此處列舉登錄的請求,定義一個字典為values,參數為:email和password,然后利用urllib.parse.urlencode方法將字典編碼,命名為data,構建request時傳入兩個參數:url、data。運行程序,即可實現登陸。)

GET方式:直接以鏈接形式訪問,鏈接中包含了所有的參數。

LOGIN_URL="http://fr*****.aflt.kiwisns.com/postLogin/"

values={'email':'*******@user.com','password':'123456'}

data=urllib.parse.urlencode(values).encode()

geturl=LOGIN_URL+"?"+data

request=urllib.request.Request(geturl)

POST方式:上面說的data參數就是用在這里的,我們傳送的數據就是這個參數data。

LOGIN_URL='http://fr*****.aflt.kiwisns.com/postLogin/'

values={'email':'*******@user.com','password':'123456'}

data=urllib.parse.urlencode(values).encode()

request=urllib.request.Request(URL,data)

2、設置Headers(有些網站不會同意程序直接用上面的方式進行訪問,如果識別有問題,那么站點根本不會響應,所以為了完全模擬瀏覽器的工作,我們需要設置一些Headers的屬性)

python爬蟲使用cookie登錄詳解

fiddler抓包請求-headers

上圖可以看到該請求的headers,這個頭中包含了許多信息:Cache、Client、Transport等等。其中,agent就是請求的身份,如果沒有寫入請求身份,那么服務器不一定會響應,所以可以在headers中設置agent。

舉例:(這個例子只是說明了怎樣設置headers)

user_agent=r'Mozilla/5.0(WindowsNT6.1;Win64;x64;rv:55.0)Gecko/20100101Firefox/55.0'

headers={'User-Agent':user_agent,'Connection':'keep-alive'}

request=urllib.request.Request(URL,data,headers)

四、使用cookie登錄

1、獲取登錄網址

瀏覽器輸入需要登錄的網址:'http://fr*****.aflt.kiwisns.com/login'(注意:這個并非其真實站點登錄網址),使用抓包工具fiddler抓包(其他工具也可)找到登錄后看到的request。

此處確定需要登錄的網址為:'http://fr*****.aflt.kiwisns.com/postLogin/'

python爬蟲使用cookie登錄詳解

查看登錄的request網址

2、查看要傳送的post數據

找到登錄后的request中有webforms的信息,會列出登錄要用的post數據,包括Email,password,auth。

python爬蟲使用cookie登錄詳解

webforms信息

3、查看headers信息

找到登錄后看到的request的headers信息,找出User-Agent設置、connection設置等

python爬蟲使用cookie登錄詳解

User-Agent設置、connection設置

4、開始編碼,使用cookie登錄該網站

python爬蟲使用cookie登錄詳解

5、反復使用cookie登錄

(上面代碼中我們保存cookie到本地了,以下代碼我們能夠直接從文件導入cookie進行登錄,不用再構建request了)

python爬蟲使用cookie登錄詳解

總結

以上就是本文關于python爬蟲使用cookie登錄詳解的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

原文鏈接:https://www.cnblogs.com/xiaoxi-3-/p/7586072.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产高清在线不卡 | 欧美精品一区二区三区四区 | 在线视频 亚洲 | 亚洲国产精品久久久久婷婷老年 | 91中文字幕在线观看 | 成人亚洲 | 成人亚洲天堂 | 成年人在线观看免费视频 | 免费一级片视频 | 欧美精品成人一区二区三区四区 | 视频一区二区三区在线观看 | 欧美一区二区在线播放 | 亚洲免费一区 | 婷婷激情久久 | 免费三片在线观看网站 | 亚洲精品一区二区三区不 | 日韩欧美成人影院 | 亚洲精品区| 国产一区免费视频 | 91久久综合 | 亚洲天堂免费在线 | av网址aaa | 欧美一区二区三区在线观看视频 | 亚洲精品一区二区网址 | 欧美黄色片在线观看 | 欧美亚洲视频在线观看 | 精品久久久久久久久久久久久久 | 免费久久99精品国产婷婷六月 | 精品久久久中文字幕 | 亚洲免费观看视频 | 成人精品鲁一区一区二区 | 亚洲性网 | 欧洲一区二区在线观看 | 久久成人一区 | 久久久免费电影 | 中文在线一区二区 | 久久综合久 | 欧美一区二区在线视频 | 超级碰在线视频 | 操操操干干| 日韩午夜激情 |