4月份給自己挖一個(gè)爬蟲(chóng)系列的坑,主要涉及HTTP 協(xié)議、正則表達(dá)式、爬蟲(chóng)框架 Scrapy、消息隊(duì)列、數(shù)據(jù)庫(kù)等內(nèi)容。
爬蟲(chóng)的基本原理是模擬瀏覽器進(jìn)行 HTTP 請(qǐng)求,理解 HTTP 協(xié)議是寫(xiě)爬蟲(chóng)的必備基礎(chǔ),招聘網(wǎng)站的爬蟲(chóng)崗位也赫然寫(xiě)著熟練掌握HTTP協(xié)議規(guī)范,寫(xiě)爬蟲(chóng)還不得不先從HTTP協(xié)議開(kāi)始講起
HTTP協(xié)議是什么?
你瀏覽的每一個(gè)網(wǎng)頁(yè)都是基于 HTTP 協(xié)議呈現(xiàn)的,HTTP 協(xié)議是互聯(lián)網(wǎng)應(yīng)用中,客戶(hù)端(瀏覽器)與服務(wù)器之間進(jìn)行數(shù)據(jù)通信的一種協(xié)議。協(xié)議中規(guī)定了客戶(hù)端應(yīng)該按照什么格式給服務(wù)器發(fā)送請(qǐng)求,同時(shí)也約定了服務(wù)端返回的響應(yīng)結(jié)果應(yīng)該是什么格式。
只要大家都按照協(xié)議規(guī)定方式發(fā)起請(qǐng)求和返回響應(yīng)結(jié)果,任何人都可以基于HTTP協(xié)議實(shí)現(xiàn)自己的Web客戶(hù)端(瀏覽器、爬蟲(chóng))和Web服務(wù)器(Nginx、Apache等)。
HTTP 協(xié)議本身是非常簡(jiǎn)單的。它規(guī)定,只能由客戶(hù)端主動(dòng)發(fā)起請(qǐng)求,服務(wù)器接收請(qǐng)求處理后返回響應(yīng)結(jié)果,同時(shí) HTTP 是一種無(wú)狀態(tài)的協(xié)議,協(xié)議本身不記錄客戶(hù)端的歷史請(qǐng)求記錄。