我們在使用爬蟲的過程中會(huì)遇到很多問題,會(huì)返回一些狀態(tài)碼給我們,那么這些狀態(tài)碼是什么意思呢?如果我們能正確理解這些狀態(tài)碼的含義,就能對癥下藥,解決問題,成功獲取數(shù)據(jù)。以下小系列將向您介紹爬蟲遇到這些狀態(tài)代碼意味著什么:
500:服務(wù)器內(nèi)部錯(cuò)誤,服務(wù)器遇到意外情況,導(dǎo)致它無法完成請求的處理。一般來說,當(dāng)服務(wù)器端的源代碼錯(cuò)誤時(shí),就會(huì)出現(xiàn)這個(gè)問題。
51:服務(wù)器不識別它,它不支持當(dāng)前請求所需的功能。當(dāng)服務(wù)器無法識別所請求的方法并且無法支持其對任何資源的請求時(shí)。
502:錯(cuò)誤網(wǎng)關(guān),當(dāng)作為網(wǎng)關(guān)或代理工作的服務(wù)器嘗試執(zhí)行請求時(shí),它從上游服務(wù)器收到無效響應(yīng)。
503:服務(wù)錯(cuò)誤,由于臨時(shí)服務(wù)器維護(hù)或過載,服務(wù)器當(dāng)前無法處理請求。這種情況是暫時(shí)的,一段時(shí)間后會(huì)恢復(fù)。
400:非法請求,處理方法:丟棄。
41:未經(jīng)授權(quán),處理方式:丟棄。
403:禁止,處理方式:丟棄。
404:未找到,處理方法:丟棄。
300:HTTP/1.0應(yīng)用程序不直接使用此狀態(tài)代碼,而僅用作3XX類型響應(yīng)的默認(rèn)解釋。有多個(gè)請求的資源可用。處理方式:如果能在程序中處理,則進(jìn)一步處理;如果它不能在程序中處理,它將被丟棄。
31:請求的資源將被分配一個(gè)永久的網(wǎng)址,以便將來可以通過該網(wǎng)址訪問。處理方法:重定向到指定的網(wǎng)址。
32:請求的資源暫時(shí)保存在不同的網(wǎng)址。處理方法:重定向到臨時(shí)網(wǎng)址。
304:請求的資源沒有更新。處理方式:丟棄。
200:請求成功。處理方法:獲取響應(yīng)的內(nèi)容并進(jìn)行處理。
201:請求已完成,因此創(chuàng)建了一個(gè)新資源。新創(chuàng)建的資源的URI在響應(yīng)實(shí)體中可用。處理方法:爬行動(dòng)物不會(huì)遇到。
202:請求被接受,但處理尚未完成。處理方法:阻塞等待。
204:服務(wù)器已經(jīng)完成了請求,但是沒有返回新的信息。如果客戶是用戶代理,則無需為此目的更新自己的文檔視圖。處理方法:丟棄。
100:繼續(xù),客戶端應(yīng)該繼續(xù)發(fā)送請求。客戶端應(yīng)該繼續(xù)發(fā)送請求的剩余部分,如果請求已經(jīng)完成,則忽略響應(yīng)。
101:協(xié)議轉(zhuǎn)換。在發(fā)送此響應(yīng)的最后一個(gè)空行后,服務(wù)器將切換到升級頭中定義的那些協(xié)議。只有當(dāng)切換到新協(xié)議更有利時(shí),才應(yīng)該采取類似的措施。
102:繼續(xù)處理。WebDAV擴(kuò)展的狀態(tài)代碼(RFC 2518)表示處理將繼續(xù)。
通過以上研究,我們都知道爬蟲遇到這些狀態(tài)碼意味著什么。只要我們解決了這些問題,爬蟲就能完成它們的任務(wù)。不同的網(wǎng)站有不同的反爬蟲機(jī)制,所以爬蟲遇到的狀態(tài)碼也是不同的,比如IP限制,可以用IP模擬器表示大量的IP地址來破解。