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