劉宇 鄭成煥



摘要:隨著大數據時代的到來,網絡爬蟲已經成為很普遍的技術,無論是做項目、科研、創業或者寫論文,獲得大量數據并且對數據進行分析都是必不可少的。但是目前存在深層網(DeepWeb)的數據量是表層網(surface Web)數據量的數百倍,乃至上千倍。傳統的爬蟲對表層網數據進行獲取已經無法滿足我們的需求,同時因為深層網數據通常沒有各種復雜的標簽結構等,使得其本身更加清晰,干凈,故而我們深入研究深層網絡爬蟲是非常有必要的。本文將會通過Python的Scrapy爬蟲框架,對深層網絡爬蟲進行研究,通過分析深層網絡特點制定合適的Scrapy爬蟲策略,最后通過實際操作,對指定的爬蟲策略進行驗證。
關鍵詞:深層網;網絡爬蟲;Scrapy;Python
0前言
近些年,隨著人們對信息重要性認識的加深,對數據量的需求增大,網絡又作為各種信息的載體,蘊含大量的資源,網絡爬蟲技術顯得越發的重要。無論是對數據進行簡單分析還是對數據進行深入研究,抑或對數據進行預測或者可視化,這一切的基礎都是需要先獲得數據,然而互聯網上表層網(Surface Web)數據資源量有限,并且數據質量不高,但是深層網(Deep Web)數據量卻是表層網的數百倍乃至上千倍,而且數據質量相對來說更好。所以對深層網數據獲取技術逐漸走人人們的視野。
網絡爬蟲,又被稱為網頁蜘蛛,網絡機器人,在FOAF社區中間,更經常的稱為網頁追逐者,是一種按照一定的規則,自動地抓取萬維網信息的程序或者腳本。傳統的網絡爬蟲,更多的是獲得表層數據,通過對表層網資源發起請求,并對response進行目標數據提取和整理,但是表層網資源通常存在大量問題,例如頁面上有很多的廣告代碼或者是樣式代碼等,數據量不全面,有的網頁甚至直接表明需要登陸等才可以獲得更多資料信息等,所以表層數據已經遠遠不能滿足我們學習,寫論文,做研究等需求,我們需要更加簡單便捷框架,需要更加簡潔的代碼結構,更加快速高效的獲得深層網資源就變得越來越重要。本文將會以Python語言的經典爬蟲框架——Scrapy框架為例,通過對深層網的特點進行詳細的分析,進而對深層網數據的數據的特點進行分析,同時對深層網數據價值進行描述,最后根據深層網和深層網數據的特點進行爬蟲策略的制定。endprint