您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關爬蟲中cookies是什么意思,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
Cookie,有時也用其復數形式 Cookies,指某些網站為了辨別用戶身份、進行 session 跟蹤而儲存在用戶本地終端上的數據(通常經過加密)。定義于 RFC2109 和 2965 中的都已廢棄,最新取代的規范是 RFC6265[1]。Cookie其實就是瀏覽器緩存。
會話cookie:沒有設置expires(是個時間戳)的,瀏覽器(session)關閉后,就自動失效
持久cookie:設置了expires的,根據設置的失效時間決定(expires時間是可以進行修改的, 但是很多網站會做防止修改的設置)
name:為一個cookie的名稱。
value:為一個cookie的值。
domain:為可以訪問此cookie的域名,譬如www.baidu.com:baidu.com就是頂級域名
域名的劃分:http://aaa.bbb.secode.first.com,每一個點劃分為一個域名,域名從后向前一次為頂級、一級、二級等。
非頂級域名,如二級域名或者三級域名,設置的cookie的domain只能為頂級域名或者二級域名或者三級域名本身,不能設置其他二級域名的cookie,否則cookie無法生成。
頂級域名只能設置domain為頂級域名,不能設置為二級域名或者三級域名,否則cookie無法生成。
二級域名能讀取設置了domain為頂級域名或者自身的cookie,不能讀取其他二級域名domain的cookie。所以要想cookie在多個二級域名中共享,需要設置domain為頂級域名,這樣就可以在所有二級域名里面或者到這個cookie的值了。
頂級域名只能獲取到domain設置為頂級域名的cookie,其他domain設置為二級域名的無法獲取。
總結一下:域名具有繼承性,只能使用其自身或其父輩的域名,不能使用其子域名或者兄弟域名。例如:
a.b.c.d.com
a.b.x.d.com
c可以使用domain為d.com或者c.d.com的域名cookie,不能使用x.d.com的域名或者b.c.d.com,這里大家做好了解就行了,碰到這種情況知道有這么個情況就行,一般我們需要關注的很少。
path:為可以訪問此cookie的頁面路徑。 比如www.jianshu.com/u/680e0e38ddc9,path就是/u/680e0e38ddc9,那么只有/u/680e0e38ddc9路徑下的頁面可以讀取此cookie。
expires/Max-Age :為此cookie超時時間。若設置其值為一個時間(一個時間戳),那么當到達此時間后,此cookie失效。
不設置的話默認值是Session,意思是cookie會和session一起失效。
當瀏覽器關閉(不是瀏覽器標簽頁,而是整個瀏覽器) 后,此cookie失效。
Size: 此cookie大小。
http: cookie的httponly屬性。若此屬性為true,則只有在http請求頭中會帶有此cookie的信息,
而不能通過document.cookie來訪問此cookie。
secure : boolean型,默認為false,設置是否只能通過https來傳遞此cookie
我們做爬蟲重點關注name和value。
以任何方式,如瀏覽器、selenium、封包方式等,獲得對應的cookies
將cookies保存,可以是在內存、文件、數據庫等
在你想要應用已有的cookie的 項目 中,已各種方式:文件、數據庫、網絡等,獲取到對應的cookie,然后進行設置,接著就可以訪問對應的資源了
實際應用:
有幾臺專門的服務器,進行登錄操作,所有賬號保存在數據庫,由這些專門登錄的服務器進行登錄操作,登錄成功后,保存cookies到數據庫
有專門的應用服務器,從數據庫讀取cookies,進行相應的業務操作,這種服務器不處理登錄操作
關于“爬蟲中cookies是什么意思”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。