在DC學院買的第一門課程——資料分析,終于搞定了! 今天是大年初六了,跟高中同學聚了一下,再過幾天就要回學校了(ノへ ̄、)
感覺爬蟲這塊知識還欠缺,一咬牙,也買下了爬蟲的課,老樣子,主要是記錄下老師每節課的筆記,如果有代碼要運作,補充一些。
OK,開始爬蟲之旅!
網絡爬蟲(又被稱為網頁蜘蛛,網絡機器人,在FOAF社群中間,更經常的稱為網頁追逐者),是一種按照一定的規則,自動地抓取網際網路資訊的程式或者腳本。
市場分析:電商分析、商圈分析、一二級市場分析等
市場監控:電商、新聞、房源監控等
商機發現:招投标情報發現、客戶資料發掘、企業客戶發現等
一個網站的網址一般由域名+自己編寫的頁面所構成。我們在通路同一網站的網頁時,域名一般是不會改變的,是以我們爬蟲所需要解析的就是網站自己所編寫的不同頁面的入口url,隻有解析出來各個頁面的入口,我們才能開始我們的爬蟲。
同步加載:改變網址上的某些參數會導緻網頁發生改變,例如:www.itjuzi.com/company?page=1(改變page=後面的數字,網頁會發生改變)
異步加載:改變網址上的參數不會使網頁發生改變,例如:www.lagou.com/gongsi/(翻頁後網址不會發生變化)
在網頁中右鍵點選檢視網頁源碼,可以檢視到網頁的源代碼資訊。
源代碼一般由三個部分組成,分别是:
html:描述網頁的内容結構
css:描述網頁的排版布局
JavaScript:描述網頁的事件處理,即滑鼠或鍵盤在網頁元素上的動作後的程式
以chrome浏覽器為例,在網頁上點選滑鼠右鍵,檢查(或者直接F12),選擇network,重新整理頁面,選擇ALL下面的第一個連結,這樣就可以看到網頁的各種請求資訊。
請求頭(Request Headers)資訊詳解:
響應頭(Response Headers)資訊詳解:
從浏覽器輸入網址、回車後,到使用者看到網頁内容,經過的步驟如下:
(1)dns解析,擷取ip位址;
(2)建立TCP連接配接,3次握手;
(3)發送HTTP請求封包;
(4)伺服器接收請求并作處理;
(5)伺服器發送HTTP響應封包;
(6)斷開TCP連接配接,4次握手。
1.挑選種子URL;
2.将這些URL放入待抓取的URL隊列;
3.取出待抓取的URL,下載下傳并存儲進已下載下傳網頁庫中。此外,将這些URL放入待抓取URL隊列,進而進入下一循環;
4.分析已抓取隊列中的URL,并且将URL放入待抓取URL隊列,進而進入下一循環。