當(dāng)我們?cè)跒g覽器中清理上網(wǎng)的痕跡時(shí),通常會(huì)看到Cookie。這是什么意思?
事實(shí)上,Cookies指的是存儲(chǔ)在用戶(hù)本地終端上的數(shù)據(jù)。有時(shí),復(fù)數(shù)形式的cookies指的是由一些網(wǎng)站存儲(chǔ)在用戶(hù)本地終端上的數(shù)據(jù)(通常是加密的),以便識(shí)別用戶(hù)的身份并跟蹤會(huì)話(huà)。
餅干的作用是什么?
在瀏覽器中,我們經(jīng)常會(huì)涉及到數(shù)據(jù)的交換,比如你登錄郵箱,登錄一個(gè)頁(yè)面。我們經(jīng)常設(shè)置30天內(nèi)記得我或者此時(shí)自動(dòng)登錄的選項(xiàng)。那他們?cè)趺从涗浶畔⒛兀看鸢妇褪墙裉斓闹鹘莄ookie,由HTTP服務(wù)器設(shè)置,存儲(chǔ)在瀏覽器中。但是,HTTP協(xié)議是無(wú)狀態(tài)協(xié)議。數(shù)據(jù)交換后,服務(wù)器和客戶(hù)端之間的鏈接將被關(guān)閉,每次交換數(shù)據(jù)時(shí)都需要建立新的鏈接。
就像我們?nèi)コ匈I(mǎi)東西,沒(méi)有記分卡,我們買(mǎi)東西后超市沒(méi)有任何消費(fèi)信息,但是我們?cè)O(shè)置了記分卡后,超市有我們的消費(fèi)信息。Cookie就像記分卡,可以節(jié)省分?jǐn)?shù)。商品是我們的信息。超市系統(tǒng)就像服務(wù)器的密室。http協(xié)議是事務(wù)處理過(guò)程。
爬蟲(chóng)如何突破網(wǎng)站cookie限制?
有時(shí)候我們?cè)谠L(fǎng)問(wèn)一個(gè)頁(yè)面的時(shí)候,經(jīng)常會(huì)跳轉(zhuǎn)到登陸頁(yè)面,比如大家都在線(xiàn)上看用戶(hù)空間,這是因?yàn)槲覀儾坏卿浭遣辉试S訪(fǎng)問(wèn)的。當(dāng)我們使用爬蟲(chóng)抓取用戶(hù)相關(guān)信息的一些數(shù)據(jù)時(shí),也會(huì)發(fā)現(xiàn)我們經(jīng)常抓取的是登陸頁(yè)面,這并不是我們想要的結(jié)果。
如何解決這個(gè)問(wèn)題?您不能先登錄網(wǎng)站,然后再對(duì)其進(jìn)行爬網(wǎng)。這個(gè)時(shí)候,餅干是必需。
當(dāng)我們想要抓取一個(gè)人人網(wǎng)的用戶(hù)空間信息時(shí),應(yīng)該怎么做?
1.我們需要在登錄時(shí)使用爬蟲(chóng)抓取Renren.com的請(qǐng)求,并獲取請(qǐng)求中的cookie數(shù)據(jù)。
2.當(dāng)使用個(gè)人信息頁(yè)面的url進(jìn)行請(qǐng)求時(shí),請(qǐng)求需要攜帶1中的cookie。只有當(dāng)cookie被攜帶時(shí),服務(wù)器才能識(shí)別所請(qǐng)求的用戶(hù)信息并響應(yīng)指定的用戶(hù)信息頁(yè)面數(shù)據(jù)。
這里需要注意的是,如果需要抓取大量信息,建議多找一些cookie進(jìn)行輪換,避免被系統(tǒng)檢測(cè)到。
除了Cookie限制,爬蟲(chóng)還需要注意其他的反爬蟲(chóng),比如IP限制,就是說(shuō)要用代理IP來(lái)改變IP地址,用其他IP地址繼續(xù)訪(fǎng)問(wèn),從而突破網(wǎng)絡(luò)限制。當(dāng)然,也有很多限制。爬蟲(chóng)在收集之前需要分析網(wǎng)站的反爬蟲(chóng)策略。