http狀態碼521——記一次網頁爬取

前段時間寫了一個各應用市場某款應用的定時爬取任務,收集應用的下載量、評價、評分等信息而後報表展示,以前一直運行正常,前兩天相關人員反饋數據出現異常,第一感受確定是該應用市場的網頁結構發生變化了。前端

在本地運行數據爬取任務,發現確實有個應用市場報521錯誤,這個錯誤沒見過啊,開始網上各類搜,發現別人說的貌似跟個人狀況不同,沒辦法只能本身摸索了。後端

因而把資源路徑直接拿出來在瀏覽器裏面訪問,竟然沒問題!我想是否是剛纔對方的服務器掛了這會又好了,立馬又把爬蟲運行了一遍,結果發現是本身意淫了。。。沒辦法,只能F12打開開發者工具——網絡,而後從新訪問,http狀態碼200,沒什麼問題啊,一切正常,我就納悶了,爲何瀏覽器正常、爬蟲卻不行,難道是服務端作了什麼針對非瀏覽器訪問的限制,頓時眼前一亮,腦海中蹦出一個關鍵字「cookies",而後將請求header裏的參數拿來各類試,沒一點效果,感受進入了死衚衕,怎麼也找不着出路。。。瀏覽器

自我安慰着,換個瀏覽器試試吧。。。這一換果真換出了問題,讓我發現了瀏覽器地址欄貌似有變化,趕忙打開fiddler,清空緩存從新訪問,哈哈,終於讓我逮到了,它竟然請求了3次,第二次還在地址後面加上了一個參數!!第一次狀態521,第二次狀態302,第三次狀態200併成功返回了頁面,到此感受終於有了點眉目。緩存

因而開始分析每一次的請求,第一次訪問地址沒作任何修飾先排除,可是第二次請求的參數從哪來的呢(本人是作後端開發,對前端只知其一;不知其二)?開始在第一次返回的header裏面各類找,沒發現異常,這怎麼可能!想不通啊!點着點着發現一段js腳本,仍是各類字符各類運算符雜亂無章,難道是這段腳本有問題?因而將此腳本摘出,模擬運行,終於獲得了跳轉連接!服務器

此時全部的問題都迎刃而解。。。cookie

相關文章
相關標籤/搜索