我們經(jīng)常有這樣的上網(wǎng)經(jīng)歷绩社,就是如果你采用用戶名密碼登陸一個(gè)網(wǎng)站之后筹我,如果在一段不長(zhǎng)的時(shí)間內(nèi),再次訪問(wèn)這個(gè)本來(lái)需要你登陸的網(wǎng)站渣聚,你會(huì)很輕易地訪問(wèn)独榴,而不需要再次輸入用戶名密碼。這種“免登陸”的體驗(yàn)無(wú)疑給用戶帶來(lái)了非常好的體驗(yàn)奕枝,那為什么會(huì)“免登陸”呢棺榔?是什么在起作用呢?
答案就是Cookie隘道。當(dāng)我們?cè)跒g覽器內(nèi)輸入url症歇,瀏覽器會(huì)向服務(wù)器發(fā)送一個(gè)HTTP請(qǐng)求,相應(yīng)的谭梗,服務(wù)器會(huì)響應(yīng)這個(gè)請(qǐng)求忘晤,向?yàn)g覽器返回響應(yīng)的響應(yīng)信息。所謂Cookie激捏,可以簡(jiǎn)單認(rèn)的為是在瀏覽器端記錄包括登陸狀態(tài)在內(nèi)的各種屬性值的容器名稱设塔,其實(shí)就是服務(wù)器為了保持瀏覽器與服務(wù)器之間連通狀態(tài),而在用戶本地上創(chuàng)建的數(shù)據(jù)远舅。只要用戶再一次登陸闰蛔,服務(wù)器會(huì)主動(dòng)地尋找這些預(yù)存的數(shù)據(jù),而無(wú)需再要求像第一次一樣的操作图柏。
Cookie是HTTP消息頭中的一種屬性序六,包括:Cookie名字(Name)Cookie的值(Value),Cookie的過(guò)期時(shí)間(Expires/Max-Age)爆办,Cookie作用路徑(Path)难咕,Cookie所在域名(Domain),使用Cookie進(jìn)行安全連接(Secure)距辆。
前兩個(gè)參數(shù)是Cookie應(yīng)用的必要條件余佃,另外,還包括Cookie大锌缢恪(Size爆土,不同瀏覽器對(duì)Cookie個(gè)數(shù)及大小限制是有差異的)。
有了Cookie诸蚕,我們就可以實(shí)現(xiàn)自動(dòng)登陸網(wǎng)站步势,甚至能夠解決一些驗(yàn)證碼登陸的情況氧猬。
在Python中,提供了cookielib這個(gè)模塊坏瘩,能夠?qū)ookie保存到本地盅抚,也可以保存在內(nèi)存中。在第一次用用戶名密碼登陸網(wǎng)站之后倔矾,我們只需要如下創(chuàng)建opener對(duì)象妄均,就可以記錄cookie:
這樣,接下來(lái)我們?nèi)绻^續(xù)訪問(wèn)該域名的網(wǎng)站哪自,直接采用opener.open(需要輸入的url)丰包,就能實(shí)現(xiàn)用保存的Cookie直接打開。
楚江數(shù)據(jù)是一家專業(yè)的互聯(lián)網(wǎng)數(shù)據(jù)技術(shù)服務(wù)商壤巷,提供網(wǎng)站APP數(shù)據(jù)采集和微博爬蟲軟件定制開發(fā)服務(wù)邑彪,服務(wù)范圍涵蓋社交網(wǎng)絡(luò)、電子商務(wù)胧华、分類信息寄症、學(xué)術(shù)研究等。
網(wǎng)站http://www.chujiangdata.com撑柔。
轉(zhuǎn)載自:寧哥的小站http://www.lining0806.com/5-網(wǎng)絡(luò)爬蟲-使用cookie登錄/