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