爬蟲小細(xì)節(jié)—請求緩存(Cache-Control)問題

不知道大家有沒有遇到過這樣一個小問題:第一次打開頁面抓包分析相關(guān)地址是正常的,后面刷新或者再打開的時候,狀態(tài)碼就變成了304,這樣再去采集的時候就不會采集到數(shù)據(jù)了。
可以通過一個地址來看一下:


小例子

如果你已經(jīng)遇到過次問題的話,馬上就可以想到問題所在了:就是用Cache-Control控制的緩存:

Cache-Control是控制緩存的開關(guān),用于標(biāo)識請求或訪問中是否開啟了緩存,使用了哪種緩存方式。

我們模擬請求頭,在請求發(fā)出時,一般的網(wǎng)站大都設(shè)置Cache-Control為no-cache,也有一些為了處理相同的請求,服務(wù)器不會再一次發(fā)送資源,所以將Cache-Control設(shè)置為max-age=0也就是上圖小例子中的值。只要將它的設(shè)置改為no-cache或者干脆不寫這個值,這樣就不會發(fā)生采集錯誤的問題了。
所以,我們在采集程序中模擬請求頭的時候,header里面的內(nèi)容還是要去分析看一下,搞明白每個字段的意思。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容