01 爬蟲是什么
網(wǎng)絡(luò)爬蟲(又被稱為網(wǎng)頁蜘蛛、網(wǎng)絡(luò)機器人,在FOAF社區(qū)中,更經(jīng)常地稱為網(wǎng)頁追逐者)是一種按照一定的規(guī)則,自動抓取萬維網(wǎng)信息的程序或者腳本。另外一些不常使用的名字還有螞蟻、自動索引、模擬程序或者蠕蟲。
網(wǎng)絡(luò)爬蟲通過爬取互聯(lián)網(wǎng)上網(wǎng)站服務(wù)器的內(nèi)容來工作。它是用計算機語言編寫的程序或腳本,用于自動從上獲取信息或數(shù)據(jù),掃描并抓取每個所需頁面上的某些信息,直到處理完所有能正常打開的頁面。
作為搜索引擎的重要組成部分,爬蟲首要的功能就是爬取網(wǎng)頁數(shù)據(jù)網(wǎng)絡(luò)爬蟲軟件是做什么的,目前市面流行的采集器軟件都是運用網(wǎng)絡(luò)爬蟲的原理或功能。
02 爬蟲的意義
現(xiàn)如今大數(shù)據(jù)時代已經(jīng)到來,網(wǎng)絡(luò)爬蟲技術(shù)成為這個時代不可或缺的一部分,企業(yè)需要數(shù)據(jù)來分析用戶行為、自己產(chǎn)品的不足之處以及競爭對手的信息等,而這一切的首要條件就是數(shù)據(jù)的采集。
網(wǎng)絡(luò)爬蟲的價值其實就是數(shù)據(jù)的價值,在互聯(lián)網(wǎng)社會中,數(shù)據(jù)是無價之寶,一切皆為數(shù)據(jù),誰擁有了大量有用的數(shù)據(jù),誰就擁有了決策的主動權(quán)。網(wǎng)絡(luò)爬蟲的應(yīng)用領(lǐng)域很多,如搜索引擎、數(shù)據(jù)采集、廣告過濾、大數(shù)據(jù)分析等。
1)抓取各大電商網(wǎng)站的商品銷量信息及用戶評價來進行分析網(wǎng)絡(luò)爬蟲軟件是做什么的,
2)分析大眾點評、美團網(wǎng)等餐飲類網(wǎng)站的用戶消費、評價和發(fā)展趨勢
3)分析各個城市中學(xué)區(qū)房的比例,以及學(xué)區(qū)房比普通二手房價格高出多少
以上數(shù)據(jù)是通過前嗅數(shù)據(jù)采集軟件爬下來的,有興趣的讀者可以嘗試自己爬一些數(shù)據(jù)。
03 爬蟲的原理
我們通常會將網(wǎng)絡(luò)爬蟲的組成模塊分為初鏈接庫、網(wǎng)絡(luò)抓取模塊、網(wǎng)頁處理模塊、網(wǎng)頁分析模塊、DNS模塊、待抓取鏈接隊列、網(wǎng)頁庫等,網(wǎng)絡(luò)爬蟲的各系模塊可形成一個循壞體系,從而不斷地進行分析和抓取。
爬蟲的工作原理可以很簡單地解釋為先找到目標(biāo)信息網(wǎng),然后頁面抓取模塊,接著頁面分析模塊,最后數(shù)據(jù)存儲模塊。
爬蟲工作基本流程:
首先在互聯(lián)網(wǎng)中選出一部分網(wǎng)頁,以這些網(wǎng)頁的鏈接地址作為種子URL;
將這些種子URL放入待抓取的URL隊列中,爬蟲從待抓取的URL隊列依次讀取;
將URL通過DNS解析;
把鏈接地址轉(zhuǎn)換為網(wǎng)站服務(wù)器對應(yīng)的IP地址;
網(wǎng)頁下載器通過網(wǎng)站服務(wù)器對網(wǎng)頁進行下載;
下載的網(wǎng)頁為網(wǎng)頁文檔形式;
對網(wǎng)頁文檔中的URL進行抽取;
過濾掉已經(jīng)抓取的URL;
對未進行抓取的URL繼續(xù)循環(huán)抓取,直至待抓取URL隊列為空。
04 爬蟲技術(shù)的類型
聚焦網(wǎng)絡(luò)爬蟲是“面向特定主題需求”的一種爬蟲程序,而通用網(wǎng)絡(luò)爬蟲則是捜索引擎抓取系統(tǒng)(Baidu、、Yahoo等)的重要組成部分,主要目的是將互聯(lián)網(wǎng)上的網(wǎng)頁下載到本地,形成一個互聯(lián)網(wǎng)內(nèi)容的鏡像備份。
增量抓取意即針對某個站點的數(shù)據(jù)進行抓取,當(dāng)網(wǎng)站的新增數(shù)據(jù)或者該站點的數(shù)據(jù)發(fā)生變化后,自動地抓取它新增的或者變化后的數(shù)據(jù)。
Web頁面按存在方式可以分為表層網(wǎng)頁( Web)和深層網(wǎng)頁(deep Web,也稱 Web pages或 Web)。