張立鑒
(保山中醫藥高等專科學校 云南 保山 678000)
互聯網上當前大多數信息內容都呈現在網頁上,網頁通常用HTML描述,其中包含非結構化數據,例如文本、圖像、視頻和音頻。因此,現有的適合處理結構化數據的應用程序很難直接使用網頁上的數據。可以手動收集數據,并且可以根據預定義的格式對從互聯網收集的各種信息進行分類和轉換。在互聯網相對較小范圍地進行收集信息,這種手動收集方法是可取的。
網絡爬蟲是一種自動搜集網頁信息的技術。這是搜索引擎在萬維網上下載網頁的關鍵鏈接。對于傳統的抓取東西,它從一個或幾個原始頁面的URL開始,將鏈接集成到原始頁面中,并且在搜集網頁信息期間,當前頁面將獲取新鏈接并將其放置在行列中,直到滿足系統識別的要求[1]。對于集群爬蟲,操作過程相對繁瑣。它必須依據建立的網絡研究算法過濾或消除與主題內容不相關的URL,保存所需的URL,然后將保存的URL放入鏈接行列中等候搜集。然后,依據特定的搜索方法選擇行列中的下一個網頁鏈接,并重復上述過程,直到系統滿意特定的停止。查詢和檢索完成后,將對爬蟲進行研究和總結,并在反饋后繼續對收集任務起到一定的指導作用。
信息提取(IE)的目標是分析亞自然語言文檔,從中提取有效數據,并促進結構化存儲[2]。IE系統通過一系列信息提取規則和提取模式來確定自然語言文檔中的有效信息。該技術有利于從大量復雜數據中提取有效的關鍵信息。Web中的信息分散且凌亂,涉及生產和生活的各個方面。相似的信息通常出現在不同的網站上,并且表達形式也不同。使用該信息提取技術可以有效地提取由爬蟲收集的信息,以進行數據的結構化存儲。
Web信息提取(簡稱為WebIE)是一種使用Web作為信息源的信息提取。Web文件是半結構化的數據類型,并且是Web信息挖掘的數據源[3]。基于傳統信息提取技術的Web信息提取,同時開發滿足Web信息提取業務需求的相關技術,并構建半結構化Web文檔信息處理,以方便其他業務程序的數據調用。
信息提取是從非結構化或半結構化的信息中提取用戶感興趣的內容,然后將結果轉換成更結構化、更具體的數據格式的進程[4]。該技術首先選擇預界說的規矩信息,然后從自然言語描繪文本中提取特定的信息,之后將提取的信息以結構化的方式存儲,供用戶查詢和運用。信息輸入文件的方式可以有多種方式,但提取的數據有必要具有結構化、統一的方式。Web信息提取是從Web中提取信息的信息源。目前,互聯網上的大多數數據都是用HTML描繪的,每個Web頁面都是半結構化的。半結構化數據是言語的相應數據結構不能自由描繪,而是全局一致的。一個分區有一個數據點,每個分區段運用第一個分區的語義信息,該語義信息可以為n+1[5]。獲得局部統一分段的上下文無關文法作為半結構化數據。這種格式的數據沒有特定的形式和完整的語義,并且不能被程序使用,這將不可避免地導致資源浪費。Web信息提取的任務是從大量的半結構化網頁中識別并提取用戶的真實興趣內容,然后通過正則化獲取結構化數據。將海量互聯網數據導入數據庫,方便人們查詢和使用。
JSoup是一個基于Java的HTML解析器,它為用戶提供了十分方便的內容提取接口。該接口能夠直接從URL地址、字符串或文件解析相應的HTML頁面內容。JSoup[6-7]是在MIT答應下發布的,因而能夠安全地用于商業項目。JSoup與jQuery有很多共同點,它還供給了強壯的選擇和管道API。它在使用方式上也與普通JavaScript有一些相似之處,這使得初學者能夠方便、快速地了解它。通常,HTML符號元素由3部分組成:符號名稱、屬性和內容。JSoup經過供給十分簡潔的API(經過DOM/CSS提取和操作數據)和類似于jQuery的選擇器語法來保持自身的精簡[8]。JSoup的主要長處是使用起來十分簡略,類似于使用JavaScript操作頁面DOM目標。對于有JavaScript應用程序經驗的開發人員來說,它是直觀且了解的。當涉及到符號檢索和定位時,JSoup供給了一個功能強壯的選擇器,它幾乎能夠做任何事情。
對于傳統的爬蟲,無論頁面中的所有鏈接是否滿足用戶需求,都將在其工作期間對其進行處理,這與主題爬蟲完全不同。在特定的爬網過程中,主題爬網程序更傾向于首先識別要爬網的頁面。對于與主題相關性非常低的那些頁面,主題爬蟲認為某些特征詞可能僅偶爾出現,而這些偶然出現的特征詞和候選主題之間的并行連接并不大,即使兩者之間沒有相關性,并且其中的鏈接對最終搜索結果的外觀沒有任何意義。因此,為了確保由主題爬蟲收集的頁面的主題與指定的主題相關,必須預先設置特定的閾值,并且在處理鏈接之前,必須根據閾值刪除不太相關的頁面,以防止主題爬網程序在后續處理中爬網。此鏈接可進一步提高收集網頁的準確性。
主題爬蟲的目標是根據抓取的網頁內容對文本內容進行分類,方便垂直搜索引擎對不同類別的文本簡歷進行索引和檢索關鍵詞。由于垂直搜索引擎的Web爬蟲應用場景廣泛,要求Web爬蟲具有良好的可擴展性,根據不同的應用場景修改配置文件,滿足不同場景的應用需求[9]。
關于垂直搜索引擎,網絡爬蟲的方針一般是包括格式化數據的網頁,例如中關村在線的具體電子信息頁面、新浪博客的博客帖子頁面等。一般,此類網頁具有類似的URL組成規矩,而且每個對應的文章將對應一個包括文章ID的鏈接。這樣,能夠通過總結URL銜接規矩來編寫與URL相對應的正則表達式。一般來說,爬蟲的方針網頁將包括其他方針網頁和一些不相關的網頁,能夠通過URL的正則表達式刪除不相關的網頁,僅保存能夠匹配該正則表達式的方針網頁。URL過濾辦法是垂直搜索引擎的網絡爬蟲中常用的網頁過濾辦法。在實踐應用中,爬蟲任務或許需求獲取滿意多個規矩的URL。因此,系統將需求以列表方式匹配URL正則表達式,并在程序運行時將它們寫入程序。
此外,在Herritrix中,不同的下載工具有不同的作用。Mirror Writer Processor能夠依據URL鏈接將方針Web頁面的源代碼保存到作業中的適當目錄中。Arc Writer Processor:將方針網頁保存為ARC文件。因為在本文規劃的網絡爬蟲中,系統需要從爬蟲下載的方針網頁中剖析并獲取相應的格式化數據。因此,主題爬蟲程序在herrix配置文件中將Writer Processor指定為mirror writer processor。當網絡爬蟲完成所需的工作后,體系就能夠進行網頁信息抽取和文本分類的過程。在Web文本抽取過程中,結構化網頁所對應的結構化信息能夠很好地體現在網頁的源代碼中。結構化數據對應于特定的HTML符號,通過標簽匹配和標簽去除來實現結構化的數據提取。
在網站信息采集技術的實際應用過程中,不僅可以保證對主要網站信息的及時有效的采集、收集和利用,還可以結合實際情況對這些信息進行分類和整合,并對這些信息進行匯總和歸納。最后,所有內容都記錄在一個統一的數據庫中。這不僅可以保證該信息在實際應用過程中的真實性和有效性,而且可以提高該信息的整體利用率。網絡爬蟲科學合理地使用了網站信息收集技術,在某種程度上可以認為該技術是網絡爬蟲的中心。但是,在該技術的實際應用過程中,僅依靠網絡爬蟲進行操作就難以保證信息收集任務的有效實施。因此,在這種情況下,必須將其與實際情況相結合,尤其是與其他技術的有效集成操作。這不僅可以從根本上保證網絡爬蟲在實際應用過程中的效果,而且可以在實際應用過程中提高網站信息收集技術的效率和質量。
互聯網技術的飛速發展使得搜索引擎技術變得越來越重要。網絡爬蟲是搜索引擎的重要組成部分,相應的技術主要會集在分布式Web爬蟲的技術和功能實現的檢測上。依托一臺機器的網絡爬蟲已經不能滿足用戶在信息收集過程中的需求,這就推動了分布式網絡爬蟲技術的實現。通過構建分布式系統,可以在大數據的支持下提高網絡爬蟲的數據收集速度和存儲性能。