国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python爬蟲使用cookie登錄詳解

2020-02-16 11:20:33
字體:
來源:轉載
供稿:網友

前言:

什么是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的屬性)

fiddler抓包請求-headers

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泉州市| 都昌县| 镇安县| 金华市| 金昌市| 长岛县| 南溪县| 登封市| 攀枝花市| 谢通门县| 柳河县| 金溪县| 那曲县| 天长市| 永德县| 南漳县| 稻城县| 巫溪县| 铜山县| 图木舒克市| 松溪县| 怀化市| 华池县| 鞍山市| 吴川市| 平武县| 福泉市| 胶州市| 南漳县| 阳信县| 五河县| 宣城市| 灵石县| 峨山| 深水埗区| 浦县| 都兰县| 永嘉县| 成武县| 嘉荫县| 宁陵县|