瀏覽器打開網(wǎng)頁的過程就是爬蟲獲取數(shù)據(jù)的過程,兩者是一樣一樣的。瀏覽器渲染的網(wǎng)頁是豐富多彩的數(shù)據(jù)集合,而爬蟲得到的是網(wǎng)頁的源代碼html。
有時候,我們不能在網(wǎng)頁的html代碼里面找到想要的數(shù)據(jù),但是瀏覽器打開的網(wǎng)頁上面卻有這些數(shù)據(jù)。這就是瀏覽器通過ajax技術(shù)異步加載(偷偷下載)了這些數(shù)據(jù)。
那么該如何看到瀏覽器偷偷下載的那些數(shù)據(jù)呢?
答案就是谷歌Chrome瀏覽器的F12快捷鍵,也可以通過鼠標右鍵菜單“檢查”(Inspect)打開Chrome自帶的開發(fā)者工具,開發(fā)者工具會出現(xiàn)在瀏覽器網(wǎng)頁的左側(cè)或者是下面(可調(diào)整),它的樣子就是這樣的:
圖中紅框的兩個按鈕比較有用,編號為2的是清空請求記錄;編號3的是保持記錄,這在網(wǎng)頁有重定向的時候很有用
圖中綠色區(qū)域就是加載完整個網(wǎng)頁,瀏覽器的全部請求記錄,包括網(wǎng)址、狀態(tài)、類型等。寫爬蟲時,我們就要在這里尋找線索,提煉金礦。
最下面編號為4的紅框顯示了加載這個網(wǎng)頁,一共請求了39次。
點擊一條請求的網(wǎng)址,右側(cè)就會出現(xiàn)新的窗口顯示該條請求的相信信息:
點擊一條請求的網(wǎng)址,右側(cè)就會出現(xiàn)新的窗口顯示該條請求的相信信息:
圖中左邊紅框就是點擊的請求網(wǎng)址;綠框就是詳情窗口。
詳情窗口包括,Headers(請求頭)、Preview(預(yù)覽響應(yīng))、Response(服務(wù)器響應(yīng)內(nèi)容)和Timing(耗時)。
Preview、Response 幫助我們查看該條請求是不是有爬蟲想要的數(shù)據(jù);
Headers幫助我們在爬蟲中重建http請求,以便爬蟲得到和瀏覽器一樣的數(shù)據(jù)。
了解和熟練使用Chrome的開發(fā)者工具,小猿們就如虎添翼可以順利寫出自己的爬蟲啦。