網頁數據采集抓取
在互聯網絡的時代,信息如同大海般沒有邊際。甚至我們獲取信息的方法已經發生改變:從傳統的翻書查字典,繼而變成通過搜索引擎進行檢索。我們從信息匱乏的時代一下子走到了信息極大豐富今天。
在今天,困擾我們的問題不是信息太少,而是太多,多得讓你無從分辨,無從選擇。因此,提供一個能夠自動在互聯網上抓取數據,并自動分揀、分析的工具有非常重要的意義。
我們通過傳統的搜索引擎所獲得的信息,通常是通過網頁的形式所展現的,這樣的信息人工閱讀起來自然親切,但計算機卻很難進行加工和再利用。而且檢索到的信息量太大,我們很難在大量的檢索結果中抽取出我們最需要的信息。采用自動識別關鍵詞技術,將你需要的信息從海量的信息中篩選出來。就是數據抓取。
網頁數據采集,又稱數據獲取,是利用一種裝置,從系統外部采集數據并輸入到系統內部的一個接口。
在互聯網行業快速發展的今天,數據采集已經被廣泛應用于互聯網及分布式領域,比如攝像頭,麥克風,都是數據采集工具。
數據采集系統整合了信號、傳感器、激勵器、信號調理、數據采集設備和應用軟件。
在數據大爆炸的互聯網時代,數據的類型也是復雜多樣的,包括結構化數據、半結構化數據、非結構化數據。
結構化最常見,就是具有模式的數據。
非結構化數據是數據結構不規則或不完整,沒有預定義的數據模型,包括所有格式的辦公文檔、文本、圖片、XML, HTML、各類報表、圖像和音頻/視頻信息等等。大數據采集,是大數據分析的入口,所以是相當重要的一個環節。
實現網頁數據抓取是搜索引擎的基本功能之一。每個獨立的搜索引擎都有自己的網頁抓取程序(spider)。Spider順著網頁中的超鏈接,連續地抓取網頁。被抓取的網頁被稱之為網頁快照。由于互聯網中超鏈接的應用很普遍,理論上,從一定范圍的網頁出發,就能搜集到絕大多數的網頁。
發現、抓取網頁信息需要有高性能的“網絡蜘蛛”程序(Spider)去自動地在互聯網中搜索信息。一個典型的網絡蜘蛛工作的方式,是查看一個頁面,并從中找到相關信息,然后它再從該頁面的所有鏈接中出發,繼續尋找相關的信息,以此類推,直至窮盡。網絡蜘蛛要求能夠快速、全面。網絡蜘蛛為實現其快速地瀏覽整個互聯網,通常在技術上采用搶先式多線程技術實現在網上聚集信息。通過搶先式多線程的使用,你能索引一個基于URL鏈接的Web頁面,啟動一個新的線程跟隨每個新的URL鏈接,索引一個新的URL起點。當然在服務器上所開的線程也不能無限膨脹,需要在服務器的正常運轉和快速收集網頁之間找一個平衡點。在算法上各個搜索引擎技術公司可能不盡相同,但目的都是快速瀏覽Web頁和后續過程相配合。目前國內的搜索引擎技術公司中,比如百度公司的網絡蜘蛛采用了可定制、高擴展性的調度算法使得搜索器能在極短的時間內收集到最大數量的互聯網信息,并把所獲得的信息保存下來以備建立索引庫和用戶檢索。