首頁 > 新聞 > IT資訊 > 正文

與 Oxylabs 一道探索網絡數據解析:概述

2022-03-22 14:39:32來源:大京網  

據我所知,人們總是會把網上公共數據的有用性與提取和整理這些數據的工作量進行對比。然而,從原始數據產生結構良好的已解析輸出,需要花費大量的時間、精力和資源。即使在部署初始原型之后,也經常需要進行維護。

考慮到規模的問題之后,往往只有少數公司才會選擇進行數據解析。更麻煩的是,由于多年以來 HTML 的使用方式的性質,網絡數據解析還面臨獨特的挑戰。不過,利用 Oxylabs 提供的自適應解析器之類的功能,所有這些挑戰都不是問題。

什么是數據解析?

所有網絡抓取活動都依賴一個特定的操作——提取數據。最開始要做的事情都是下載HTML。遺憾的是,雖然 HTML 在大多數情況下包含所有必要信息,但其構造方式不適合進一步分析。這也不能算是HTML本身的錯。HTML 這種語言原本是旨在由瀏覽器讀取,并轉換為在視覺效果上對于用戶很理想的最終結果。它在結構上非常靈活,允許開發人員采取創造性的方法來創建最終結果。

但是,這些創造性的方法經常造成數據以不同的方式散布在各個地方。為了從 HTML 搜集信息,分析人員需要設法解析、整理和標準化數據點。通常,接下來還要采取的步驟是編寫定制腳本或一些幫助程序工具,以定義數據處理規則并使其更有條理。

以 JSON 或 CSV 等結構化格式檢索數據是比較理想的情況。但是,這完全行不通,至少在目前的格局下是這樣。因此,從 HTML 衍生的數據需要進行解析,才能變得有條理。

數據解析面臨的挑戰

談到外部獲取(通常是從原始 HTML 獲取)的數據,存在一個主要的問題,這個問題源自兩個因素:解析的絕對必要性和 HTML 的高比例使用。由于 HTML 用于通過瀏覽器直觀表示內容,因此,對原始 HTML 執行任何類型的分析都會效率低下。

由于不同網站的網絡開發實踐千差萬別,要拿出一個通用的解析器極其困難。例如,在兩個電商網站上,同一款產品的頁面可能看起來非常相似,并且包含相同的信息,但底層的 HTML 卻并不相同。因此,相同的解析器行不通,開發人員需要為每種情況開發定制化解決方案,或者開發一個更復雜的解析器來處理各種差異。隨著更多的網站等待解析,這種局面也會變得越來越復雜。

即使對于相同的數據源,一個解析器可能也不夠。例如,電商平臺往往有多種布局和頁面類型散布其間。解析需要針對每一種類型使用定制方法。有一些幫助程序工具,需要花費精力去掌握,但是,即使這些工具也不能做到一勞永逸,因為這些頁面必然會隨時間而變化。

將 HTML 的靈活性和嵌套性質相結合,這樣的任務對于分析人員來說相當棘手。雪上加霜的是,復雜性遠不止于此。網站常常會改變布局,或增加新的功能,而這些都會影響解析器。面對這些變化,解析器也需要相應進行更新來匹配新的外觀。

再加上需要從不計其數的來源獲取數據,以及解析 HTML 進行數據分析的困難重重,這項工作很快就會變得令人望而生畏。已經有專屬開發人員團隊的大型企業或許還有機會維護數量龐大的抓取器和解析器。較小的企業往往只能徹底外包這項工作。

外包解析工作確實也有好處。對于較小的用例來說,比起組建開發人員團隊、進行協調組織、創建解析器并加以維護,外包方法的人力資源和資本的總體成本往往更低。此外,雖然外包解析工作會讓小企業更依賴外部力量,但這樣解決了適應不斷變化的布局和潛在服務中斷的難題(服務中斷仍會發生,只是持續時間較短)。

人工智能的優勢

為一個任務編寫一個簡單的解析器,對于較小的開發團隊來說可能再正常不過了。但是,真正的挑戰在于規模。每增加一個新的來源,至少需要好幾個新的定制解析器。維護日益增加的解析器是極其耗費資源的。由于網絡上的數據散布在不計其數的報紙、論壇、社交媒體和其他渠道,采集和加載這些數據需要大量時間和資源才剛夠完成解析過程。

利用機器學習給我們帶來了希望。畢竟,HTML 是用于創建人類可讀的網站。雖然很多時候殊途同歸,但在大多數情況下,當網站進行重新設計時,大家仍然可以使用它。然而,與此同時,不同網站之間的編程差異絕不會太大。這就表明,某種類型的機器學習方法是可行的。

我們在 Oxylabs 已經做了一些類似的工作。我們的其中一個解決方案是“下一代住宅代理”(Next-Gen Residential Proxies),融合了數據獲取和人工智能的原則。它省去了所有其他花哨的功能,側重實現了自適應解析,這是我們迄今為止最了不起的成就。

在深入介紹我們創建首批自適應解析器版本的過程之前,我需要提一下的是,我們并不是完全單打獨斗。我們內部甚至并沒有關于機器學習和人工智能的太多經驗。我們只是深知各種可能性。因此,我們匯聚了世界各地的機器學習專家,并同時吸納了學術研究人員和具備實踐專長的人員。

我們的人工智能顧問委員會幫助我們開發了解決方案,并進而推動了自適應解析功能的誕生。人們可以使用自適應功能從任意電商產品頁面獲取結構化數據。關于直觀表示,請參見下面的圖片:

我們使用了受監督的機器學習模型來饋送所需的數據。如您所想象的那樣,這個過程其實并沒有我們最初設想的那樣復雜和困難。

但是,獲取包含帶標簽字段的足夠大的訓練數據集需要耗費非常多的人力(或財力)。即使對于能夠支持內部開發團隊和專屬機器學習專家的更大型企業,我也會留意合適的服務提供商。大多數時候,我們會評估第三方抓取服務提供的定價模型和功能,這樣才能做出最佳的決策。

結論

網絡數據解析是一個極其耗費人力的過程,而為了獲取可用信息,這個過程又是絕對必要的。HTML 解析有自身獨特的一系列問題,困擾著整個解析過程。雖然創建一個 HTML 解析器可能并不難,但對于任何大規模網絡數據獲取過程,可能需要幾十個解析器。

因此,解析的方法也在發生變化。維護內部網絡抓取和解析解決方案不再是必要的。基于人工智能的下一代解決方案應運而生,真正交付數據即服務 (data as a service)。隨著解析技術的改進,前所未見的數據分析新用例也將出現。即使是現在,要針對最細粒度的用例搜集洞察,也只需發送幾個請求即可。

關鍵詞: Oxylabs

責任編輯:hnmd003

相關閱讀

相關閱讀

精彩推送

推薦閱讀