基于爬蟲模式的網絡數據搜索方法
【專利摘要】本發明提出了基于爬蟲模式的網絡數據搜索方法,所述方法包括:執行配置操作以設置配置文件;基于所述配置文件執行初始化操作,以生成基于正則表達式的目錄頁面和目標頁面過濾器以及目標頁面路徑模板;基于所述目錄頁面和目標頁面過濾器以及目標頁面模板執行正式的爬取操作,以從確認的目標網頁中獲取并存儲數據。本發明所公開的基于爬蟲模式的網絡數據搜索方法具有較高的通用性以及搜索準確性并且使用便捷。
【專利說明】
基于爬蟲模式的網絡數據搜索方法
技術領域
[0001] 本發明設及數據捜索方法,更具體地,設及基于爬蟲模式的網絡數據捜索方法。
【背景技術】
[0002] 目前,隨著計算機和網絡應用的日益廣泛W及不同領域的業務種類的日益豐富, 針對網絡站點中的網頁所包含俄海量數據進行捜索W獲得感興趣的目標數據變得越來越 重要。
[0003] 在現有的技術方案中,通常采用面向主題的聚焦爬蟲的方式從網絡站點中的網頁 中采集數據。
[0004] 然而,上述現有的技術方案存在如下問題:由于一個單獨的爬蟲程序只能處理某 個獨立站點的某一類型結構的頁面數據,因而通用性較差,即針對不同的需求需要設計和 編寫不同的爬蟲程序,從而導致成本增高并且維護困難。
[0005] 因此,存在如下需求:提供具有較高的通用性W及捜索準確性并且使用便捷的基 于爬蟲模式的網絡數據捜索方法。
【發明內容】
[0006] 為了解決上述現有技術方案所存在的問題,本發明提出了具有較高的通用性W及 捜索準確性并且使用便捷的基于爬蟲模式的網絡數據捜索方法。
[0007] 本發明的目的是通過W下技術方案實現的: 一種基于爬蟲模式的網絡數據捜索方法,所述基于爬蟲模式的網絡數據捜索方法包括 下列步驟: (Al)執行配置操作W設置配置文件; (A2)基于所述配置文件執行初始化操作,W生成基于正則表達式的目錄頁面和目標頁 面過濾器W及目標頁面路徑模板; (A3)基于所述目錄頁面和目標頁面過濾器W及目標頁面模板執行正式的爬取操作,W 從確認的目標網頁中獲取并存儲數據。
[000引在上面所公開的方案中,優選地,所述步驟(Al)進一步包括:設置第一配置文件, 所述第一配置文件用于保存種子URL,所述種子URL是用于觸發所述爬取操作的入口鏈接。
[0009] 在上面所公開的方案中,優選地,所述步驟(Al)進一步包括:設置第二配置文件, 所述第二配置文件用于保存與目標頁面相關聯的一個或多個關鍵詞,用W輔助針對目標頁 面的確認操作,其中,所述第二配置文件進一步用于定義各個關鍵詞之間的邏輯關系。
[0010] 在上面所公開的方案中,優選地,所述步驟(Al)進一步包括:設置第=配置文件, 所述第S配置文件用于保存至少兩個已由用戶確認的目標頁面的URL。
[0011] 在上面所公開的方案中,優選地,所述步驟(Al)進一步包括:設置第四配置文件, 所述第四配置文件用于保存基本配置信息W及其他輔助配置信息。
[0012] 在上面所公開的方案中,優選地,所述步驟(Al)進一步包括:設置第五配置文件, 所述第五配置文件用于保存需爬取的一個或多個標簽,其中所述一個或多個標簽包含所述 第S配置文件中設置的ML中的第一個所指示的網頁的標簽及其內容。
[0013] 在上面所公開的方案中,優選地,所述步驟(Al)進一步包括:當所述需爬取的一個 或多個標簽中的一個或多個標簽的標簽內容是數量不固定的多條數據時,則在其對應的標 簽內容中保存所述數量不固定的多條數據中的任意兩條。
[0014] 在上面所公開的方案中,優選地,所述步驟(Al)進一步包括:當所述需爬取的一個 或多個標簽中的一個或多個標簽的標簽內容是相關子標簽頁面的鏈接時,則在所述第五配 置文件的相應位置添加"子標簽"標記,該"子標簽"標記鎖指示的子標簽保存子標簽頁面的 鏈接和該子標簽頁面中所要爬取的子標簽數據且W特定的符號隔開。
[0015] 在上面所公開的方案中,優選地,所述步驟(A2)進一步包括:從所述第=配置文件 中讀取其所保存的所有目標頁面的URL,并隨之根據所讀取的所有ML的共同特點和結構W 及預定的U化正則表達式生成規則生成目標頁面正則表達式,其中,所述目標頁面正則表達 式和目錄頁面正則表達式構成所述目錄頁面和目標頁面過濾器。
[0016] 在上面所公開的方案中,優選地,所述步驟(A2)進一步包括:從所述第一配置文件 設置的種子URL出發,W廣度優先和最佳優先相結合的方式爬取N個頁面,隨后將其中的目 錄頁面依據聚類規則進行聚類,W生成目錄頁面正則表達式,其中將目錄頁面定義為指向 目標頁面URL的數目大于N的頁面。
[0017] 在上面所公開的方案中,優選地,所述聚類規則包括:將來自TOL列表的host部分 相同的U化劃歸為同一子集,并且每個子集構成一個U化簇;隨之將每個U化簇輸入聚合器, W將所述抓L簇聚合成多個U化類,每一類U化包含若干個比較相似的URL利用所述U化正則 表達式生成規則,對每簇U化聚合之后產生的每一個URL類都分別生成一條ML正則表達式。
[0018] 在上面所公開的方案中,優選地,所述步驟(A2)進一步包括W如下方式生成目標 頁面路徑模板:從所述第S配置文件中讀取前兩條目標頁面的m?L并將其指示的HTML文件 下載下來,隨后基于所述兩個HTML文件中的元素生成樹形結構,隨之取出兩個樹中相同的 節點,由此形成一棵新的樹,所述新生成的樹構成該頁面類型的目標頁面路徑模板。
[0019] 在上面所公開的方案中,優選地,所述步驟(A2)進一步包括W如下方式確定所需 標簽精確路徑:在確定所述目標頁面路徑模板后,依次從所述第五配置文件中讀取出每個 需爬取的標簽,并W所述標簽的標簽內容為依據先遍歷已保存的所述樹的葉子節點,若找 到了一個葉子節點的文本內容或屬性值與該標簽內容相等或包含,則將該葉子節點及該節 點的路徑保存到相應的隊列中,如果葉子節點沒有所需的標簽,則自底向上遍歷非葉子節 點完成同樣的動作。其中,每回溯一個節點時,如果該節點在同一層兄弟節點中沒有同名節 點,則在節點路徑中直接保存其節點名,而如果同一層中有同名節點,則需要先判斷是否有 能區分其他同名節點的屬性值,如果有,則在路徑中保存該節點名的同時保存該屬性名及 屬性值,若同名節點中沒有運樣的屬性,則需要保存該節點在運層同名中的相對位置,W便 區分其他節點而能夠準確找到該節點。
[0020] 在上面所公開的方案中,優選地,所述步驟(A3)進一步包括:從所述第一配置文件 中保存的入口鏈接出發W廣度優先和最佳優先相結合的方式進行爬取操作,并利用所述目 錄頁面和目標頁面過濾器過濾掉不需要的U化并保留待分析的目錄頁面和目標頁面的m?L, 其中,所述保留的待分析的目錄頁面和目標頁面的URL指示的頁面滿足所述目標頁面正則 表達式和/或目錄頁面正則表達式,并且所述U化所指示的頁面均包含所述一個或多個關鍵 詞中的至少一個;基于所述所需標簽精確路徑分析所述保留的待分析的目標頁面的U化所 指示的頁面W獲得所需要的標簽的目標標簽數據。
[0021] 在上面所公開的方案中,優選地,所述步驟(A3)進一步包括:存儲所述目標標簽數 據W及與爬取操作相關聯的異常數據。
[0022] 本發明所公開的基于爬蟲模式的網絡數據捜索方法具有W下優點:具有較高的通 用性W及捜索準確性并且使用便捷。
【附圖說明】
[0023] 結合附圖,本發明的技術特征W及優點將會被本領域技術人員更好地理解,其中: 圖1是根據本發明的實施例的基于爬蟲模式的網絡數據捜索方法的流程圖。
【具體實施方式】
[0024] 圖1是根據本發明的實施例的基于爬蟲模式的網絡數據捜索方法的流程圖。如圖1 所示,本發明所公開的基于爬蟲模式的網絡數據捜索方法包括下列步驟:(Al)執行配置操 作W設置配置文件;(A2)基于所述配置文件執行初始化操作,W生成基于正則表達式的目 錄頁面和目標頁面過濾器W及目標頁面路徑模板;(A3)基于所述目錄頁面和目標頁面過濾 器W及目標頁面模板執行正式的爬取操作,W從確認的目標網頁中獲取并存儲數據。
[0025] 優選地,在本發明所公開的基于爬蟲模式的網絡數據捜索方法中,所述步驟(Al) 進一步包括:設置第一配置文件,所述第一配置文件用于保存種子URL,所述種子ML是用于 觸發所述爬取操作的入口鏈接(示例性地,所述入口鏈接是與目標頁面相關的初始頁面或 者目錄頁面)。
[0026] 優選地,在本發明所公開的基于爬蟲模式的網絡數據捜索方法中,所述步驟(Al) 進一步包括:設置第二配置文件,所述第二配置文件用于保存與目標頁面相關聯的一個或 多個關鍵詞,用W輔助針對目標頁面的確認操作(示例性地,所述關鍵詞是在意向目標頁面 的源文件中找到一個或幾個幾乎所有意向目標頁面都存在的能夠大體上定位目標頁面內 容的關鍵詞),其中,所述第二配置文件進一步用于定義各個關鍵詞之間的邏輯關系(例如, "與'、"或"等等)。
[0027] 優選地,在本發明所公開的基于爬蟲模式的網絡數據捜索方法中,所述步驟(Al) 進一步包括:設置第=配置文件,所述第=配置文件用于保存至少兩個已由用戶確認的目 標頁面的URL。
[0028] 優選地,在本發明所公開的基于爬蟲模式的網絡數據捜索方法中,所述步驟(Al) 進一步包括:設置第四配置文件,所述第四配置文件用于保存基本配置信息(諸如域名等 等)W及其他輔助配置信息(諸如針對初始化階段的預爬取操作的最大預爬取數量等等)。
[0029] 優選地,在本發明所公開的基于爬蟲模式的網絡數據捜索方法中,所述步驟(Al) 進一步包括:設置第五配置文件,所述第五配置文件用于保存需爬取的一個或多個標簽,其 中所述一個或多個標簽包含所述第S配置文件中設置的U化中的第一個所指示的網頁的標 簽及其內容(示例性地,標簽名稱可W由用戶根據數據自定義,而標簽內容則需要從目標頁 面復制下來,或者通過手動輸入,但是保存的數據形式一定與頁面上的數據保持一致)。
[0030] 優選地,在本發明所公開的基于爬蟲模式的網絡數據捜索方法中,所述步驟(Al) 進一步包括:當所述需爬取的一個或多個標簽中的一個或多個標簽的標簽內容是數量不固 定的多條數據時(例如評論),則在其對應的標簽內容中保存所述數量不固定的多條數據中 的任意兩條。
[0031] 優選地,在本發明所公開的基于爬蟲模式的網絡數據捜索方法中,所述步驟(Al) 進一步包括:當所述需爬取的一個或多個標簽中的一個或多個標簽的標簽內容是相關子標 簽頁面的鏈接時,則在所述第五配置文件的相應位置添加"子標簽"標記,該"子標簽"標記 鎖指示的子標簽保存子標簽頁面的鏈接和該子標簽頁面中所要爬取的子標簽數據且W特 定的符號隔開。
[0032] 優選地,在本發明所公開的基于爬蟲模式的網絡數據捜索方法中,所述步驟(A2) 進一步包括:從所述第=配置文件中讀取其所保存的所有目標頁面的U化,并隨之根據所讀 取的所有U化的共同特點和結構W及預定的TOL正則表達式生成規則生成目標頁面正則表 達式,其中,所述目標頁面正則表達式和目錄頁面正則表達式構成所述目錄頁面和目標頁 面過濾器。
[0033] 優選地,在本發明所公開的基于爬蟲模式的網絡數據捜索方法中,所述步驟(A2) 進一步包括:從所述第一配置文件設置的種子ML出發,W廣度優先和最佳優先(例如,最佳 優先方式可W由ML權值的設置和關鍵詞的判斷實現)相結合的方式爬取N(例如,N=1000 O) 個頁面,隨后將其中的目錄頁面依據聚類規則進行聚類,W生成目錄頁面正則表達式,其中 將目錄頁面定義為指向目標頁面URL的數目大于N(例如N=5)的頁面。
[0034] 優選地,在本發明所公開的基于爬蟲模式的網絡數據捜索方法中,所述步驟(A2) 進一步包括:將任意U化劃分為host、path和queryS個部分,其中pa化部分由一系列目錄組 成,queiT部分由一系列鍵值對組成(例如,如果url是ht1:p://news . qq. com/a/20150415/ 044667 . htm?tu_biz = l. 114 . I . 0&du=l ,則host部分是news . qq . com; path部分是/a/ 20150415/044667.htm;而query部分是 1:u_biz=l. 114.1.0&du=l),由此,所述URL正則表達 味化成細麵加下.
優選地,在本發明所公開的基于爬蟲模式的網絡數據捜索方法中,所述聚類規則包括: 將來自ML列表的host部分相同的U化劃歸為同一子集,并且每個子集構成一個U化簇;隨之 將每個U化簇輸入聚合器,W將所述U化簇聚合成多個U化類,每一類U化包含若干個比較相 似的URL(即運些抓L之間的距離都不大于預設的闊值,例如,可W利用host、path和queryS 個部分中的各個部分之間的距離(即相似程度)來計算U化之間的距離);利用所述m?L正則 表達式生成規則,對每簇U化聚合之后產生的每一個URL類都分別生成一條ML正則表達式。
[0035] 優選地,在本發明所公開的基于爬蟲模式的網絡數據捜索方法中,所述步驟(A2) 進一步包括W如下方式生成目標頁面路徑模板:從所述第=配置文件中讀取前兩條目標頁 面的抓L并將其指示的HTML文件下載下來,隨后基于所述兩個HTML文件中的元素生成樹形 結構,隨之取出兩個樹中相同的節點,由此形成一棵新的樹,所述新生成的樹構成該頁面類 型的目標頁面路徑模板。
[0036] 優選地,在本發明所公開的基于爬蟲模式的網絡數據捜索方法中,所述步驟(A2) 進一步包括W如下方式確定所需標簽精確路徑(即通用路徑模板):在確定所述目標頁面路 徑模板后,依次從所述第五配置文件中讀取出每個需爬取的標簽,并W所述標簽的標簽內 容為依據先遍歷已保存的所述樹的葉子節點,若找到了一個葉子節點的文本內容或屬性值 與該標簽內容相等或包含,則將該葉子節點及該節點的路徑保存到相應的隊列中,如果葉 子節點沒有所需的標簽,則自底向上遍歷非葉子節點完成同樣的動作。其中,每回溯一個節 點時,如果該節點在同一層兄弟節點中沒有同名節點,則在節點路徑中直接保存其節點名, 而如果同一層中有同名節點,則需要先判斷是否有能區分其他同名節點的屬性值,如果有, 則在路徑中保存該節點名的同時保存該屬性名及屬性值,若同名節點中沒有運樣的屬性, 則需要保存該節點在運層同名中的相對位置,W便區分其他節點而能夠準確找到該節點。
[0037] 優選地,在本發明所公開的基于爬蟲模式的網絡數據捜索方法中,所述步驟(A3) 進一步包括:從所述第一配置文件中保存的入口鏈接出發W廣度優先和最佳優先(例如,最 佳優先方式可W由URL權值的設置和關鍵詞的判斷實現)相結合的方式進行爬取操作,并利 用所述目錄頁面和目標頁面過濾器過濾掉不需要的ML并保留待分析的目錄頁面和目標頁 面的URL,其中,所述保留的待分析的目錄頁面和目標頁面的URL指示的頁面滿足所述目標 頁面正則表達式和/或目錄頁面正則表達式,并且所述U化所指示的頁面均包含所述一個或 多個關鍵詞中的至少一個;基于所述所需標簽精確路徑分析所述保留的待分析的目標頁面 的ML所指示的頁面W獲得所需要的標簽的目標標簽數據(即標簽內容)。
[0038] 優選地,在本發明所公開的基于爬蟲模式的網絡數據捜索方法中,所述步驟(A3) 進一步包括:存儲所述目標標簽數據W及與爬取操作相關聯的異常數據。
[0039] 由上可見,本發明所公開的基于爬蟲模式的網絡數據捜索方法具有下列優點:具 有較高的通用性W及捜索準確性并且使用便捷。
[0040] 盡管本發明是通過上述的優選實施方式進行描述的,但是其實現形式并不局限于 上述的實施方式。應該認識到:在不脫離本發明主旨和范圍的情況下,本領域技術人員可W 對本發明做出不同的變化和修改。
【主權項】
1. 一種基于爬蟲模式的網絡數據搜索方法,所述基于爬蟲模式的網絡數據搜索方法包 括下列步驟: (Al)執行配置操作以設置配置文件; (A2)基于所述配置文件執行初始化操作,以生成基于正則表達式的目錄頁面和目標頁 面過濾器以及目標頁面路徑模板; (A3)基于所述目錄頁面和目標頁面過濾器以及目標頁面模板執行正式的爬取操作,以 從確認的目標網頁中獲取并存儲數據。2. 根據權利要求1所述的基于爬蟲模式的網絡數據搜索方法,其特征在于,所述步驟 (Al)進一步包括:設置第一配置文件,所述第一配置文件用于保存種子URL,所述種子URL是 用于觸發所述爬取操作的入口鏈接。3. 根據權利要求2所述的基于爬蟲模式的網絡數據搜索方法,其特征在于,所述步驟 (Al)進一步包括:設置第二配置文件,所述第二配置文件用于保存與目標頁面相關聯的一 個或多個關鍵詞,用以輔助針對目標頁面的確認操作,其中,所述第二配置文件進一步用于 定義各個關鍵詞之間的邏輯關系。4. 根據權利要求3所述的基于爬蟲模式的網絡數據搜索方法,其特征在于,所述步驟 (Al)進一步包括:設置第三配置文件,所述第三配置文件用于保存至少兩個已由用戶確認 的目標頁面的URL。5. 根據權利要求4所述的基于爬蟲模式的網絡數據搜索方法,其特征在于,所述步驟 (Al)進一步包括:設置第四配置文件,所述第四配置文件用于保存基本配置信息以及其他 輔助配置信息。6. 根據權利要求5所述的基于爬蟲模式的網絡數據搜索方法,其特征在于,所述步驟 (Al)進一步包括:設置第五配置文件,所述第五配置文件用于保存需爬取的一個或多個標 簽,其中所述一個或多個標簽包含所述第三配置文件中設置的URL中的第一個所指示的網 頁的標簽及其內容。7. 根據權利要求6所述的基于爬蟲模式的網絡數據搜索方法,其特征在于,所述步驟 (Al)進一步包括:當所述需爬取的一個或多個標簽中的一個或多個標簽的標簽內容是數量 不固定的多條數據時,則在其對應的標簽內容中保存所述數量不固定的多條數據中的任意 兩條。8. 根據權利要求7所述的基于爬蟲模式的網絡數據搜索方法,其特征在于,所述步驟 (Al)進一步包括:當所述需爬取的一個或多個標簽中的一個或多個標簽的標簽內容是相關 子標簽頁面的鏈接時,則在所述第五配置文件的相應位置添加"子標簽"標記,該"子標簽" 標記鎖指示的子標簽保存子標簽頁面的鏈接和該子標簽頁面中所要爬取的子標簽數據且 以特定的符號隔開。9. 根據權利要求8所述的基于爬蟲模式的網絡數據搜索方法,其特征在于,所述步驟 (A2)進一步包括:從所述第三配置文件中讀取其所保存的所有目標頁面的URL,并隨之根據 所讀取的所有URL的共同特點和結構以及預定的URL正則表達式生成規則生成目標頁面正 則表達式,其中,所述目標頁面正則表達式和目錄頁面正則表達式構成所述目錄頁面和目 標頁面過濾器。10. 根據權利要求9所述的基于爬蟲模式的網絡數據搜索方法,其特征在于,所述步驟 (A2)進一步包括:從所述第一配置文件設置的種子URL出發,以廣度優先和最佳優先相結合 的方式爬取N個頁面,隨后將其中的目錄頁面依據聚類規則進行聚類,以生成目錄頁面正則 表達式,其中將目錄頁面定義為指向目標頁面URL的數目大于N的頁面。11. 根據權利要求10所述的基于爬蟲模式的網絡數據搜索方法,其特征在于,所述聚類 規則包括:將來自URL列表的host部分相同的URL劃歸為同一子集,并且每個子集構成一個 URL簇;隨之將每個URL簇輸入聚合器,以將所述URL簇聚合成多個URL類,每一類URL包含若 干個比較相似的URL;利用所述URL正則表達式生成規則,對每簇URL聚合之后產生的每一個 URL類都分別生成一條URL正則表達式。12. 根據權利要求11所述的基于爬蟲模式的網絡數據搜索方法,其特征在于,所述步驟 (A2)進一步包括以如下方式生成目標頁面路徑模板:從所述第三配置文件中讀取前兩條目 標頁面的URL并將其指示的HTML文件下載下來,隨后基于所述兩個HTML文件中的元素生成 樹形結構,隨之取出兩個樹中相同的節點,由此形成一棵新的樹,所述新生成的樹構成該頁 面類型的目標頁面路徑模板。13. 根據權利要求12所述的基于爬蟲模式的網絡數據搜索方法,其特征在于,所述步驟 (A2)進一步包括以如下方式確定所需標簽精確路徑:在確定所述目標頁面路徑模板后,依 次從所述第五配置文件中讀取出每個需爬取的標簽,并以所述標簽的標簽內容為依據先遍 歷已保存的所述樹的葉子節點,若找到了一個葉子節點的文本內容或屬性值與該標簽內容 相等或包含,則將該葉子節點及該節點的路徑保存到相應的隊列中,如果葉子節點沒有所 需的標簽,則自底向上遍歷非葉子節點完成同樣的動作,其中,每回溯一個節點時,如果該 節點在同一層兄弟節點中沒有同名節點,則在節點路徑中直接保存其節點名,而如果同一 層中有同名節點,則需要先判斷是否有能區分其他同名節點的屬性值,如果有,則在路徑中 保存該節點名的同時保存該屬性名及屬性值,若同名節點中沒有這樣的屬性,則需要保存 該節點在這層同名中的相對位置,以便區分其他節點而能夠準確找到該節點。14. 根據權利要求13所述的基于爬蟲模式的網絡數據搜索方法,其特征在于,所述步驟 (A3)進一步包括:從所述第一配置文件中保存的入口鏈接出發以廣度優先和最佳優先相結 合的方式進行爬取操作,并利用所述目錄頁面和目標頁面過濾器過濾掉不需要的URL并保 留待分析的目錄頁面和目標頁面的URL,其中,所述保留的待分析的目錄頁面和目標頁面的 URL指示的頁面滿足所述目標頁面正則表達式和/或目錄頁面正則表達式,并且所述URL所 指示的頁面均包含所述一個或多個關鍵詞中的至少一個;基于所述所需標簽精確路徑分析 所述保留的待分析的目標頁面的URL所指示的頁面以獲得所需要的標簽的目標標簽數據。15. 根據權利要求14所述的基于爬蟲模式的網絡數據搜索方法,其特征在于,所述步驟 (A3)進一步包括:存儲所述目標標簽數據以及與爬取操作相關聯的異常數據。
【文檔編號】G06F17/30GK105955984SQ201610242327
【公開日】2016年9月21日
【申請日】2016年4月19日
【發明人】鄭建賓, 李忠洵, 華錦芝, 高峰
【申請人】中國銀聯股份有限公司