一種搜集深網數據全集的爬蟲方法和系統的制作方法
【技術領域】
[0001]本發明涉及爬蟲技術領域,尤其涉及一種搜集深網數據全集的爬蟲方法和系統。
【背景技術】
[0002]互聯網包含的信息非常豐富,按其所蘊含信息的深度,互聯網可以劃分為表層網絡和深網。所謂表層網絡,是指可以通過統一資源定位符(Uniform Resource Locator,簡稱URL)直接訪問的頁面的集合,所謂深網,又稱為看不見的網頁,是指通過搜索引擎由于技術原因無法檢索到的那部分信息,深網相比于表層網絡包含了更多的信息。
[0003]在現有技術中,對深網數據進行搜索,通常是根據用戶提供的搜索詞通過深網查詢query接口實現的,深網網頁均與query接口單一鏈接。但是,由于深網所有者通常進行搜索結果的限制,即,根據用戶提供的搜索詞,僅將與搜索詞關聯度最高的前K個搜索結果返回給用戶,存在搜索結果top-k問題,造成用戶無法獲得與搜索詞相關的深網數據全集。
【發明內容】
[0004]本發明提供一種搜集深網數據全集的爬蟲方法和系統,可以獲得深網數據搜索全集。
[0005]本發明提供的搜集深網數據全集的爬蟲方法,包括:
[0006]根據關鍵詞匯進行深網數據搜索,獲得查詢結果;
[0007]若所述查詢結果溢出,則對所述查詢結果進行分詞處理獲得特征詞集合,將所述特征詞集合中的每個特征詞與上一次搜索中的所述關鍵詞匯進行組合獲得多個新關鍵詞匯,根據每個新關鍵詞匯進行深網數據搜索獲得所有新關鍵詞匯的全部查詢結果;
[0008]若所述全部查詢結果中至少一個所述新關鍵詞匯的查詢結果溢出,則繼續對溢出的所述新關鍵詞匯的查詢結果進行分詞處理以及深網數據搜索,直至全部查詢結果非溢出。
[0009]本發明提供的搜集深網數據全集的爬蟲和系統,包括:
[0010]第一查詢模塊,用于根據關鍵詞匯進行深網數據搜索,獲得查詢結果;
[0011 ]第二查詢模塊,用于若所述查詢結果溢出,則對所述查詢結果進行分詞處理獲得特征詞集合,將所述特征詞集合中的每個特征詞與上一次搜索中的所述關鍵詞匯進行組合獲得多個新關鍵詞匯,根據每個新關鍵詞匯進行深網數據搜索獲得所有新關鍵詞匯的全部查詢結果;若所述全部查詢結果中至少一個所述新關鍵詞匯的查詢結果溢出,則繼續對溢出的查詢結果進行分詞處理以及深網數據搜索,直至全部查詢結果非溢出。
[0012]本發明提供了一種搜集深網數據全集的爬蟲方法和系統,其中,搜集深網數據全集的爬蟲方法包括:根據關鍵詞匯進行深網數據搜索,獲得查詢結果,若查詢結果溢出,則對查詢結果進行分詞處理獲得特征詞集合,將特征詞集合中的每個特征詞與上一次搜索中的關鍵詞匯進行組合獲得多個新關鍵詞匯,根據每個新關鍵詞匯進行深網數據搜索獲得所有新關鍵詞匯的全部查詢結果,若全部查詢結果中至少一個新關鍵詞匯的查詢結果溢出,則繼續對溢出的新關鍵詞匯的查詢結果進行分詞處理以及深網數據搜索,直至全部查詢結果非溢出。本發明提供的搜集深網數據全集的爬蟲方法,通過逐次更新查詢結果溢出的關鍵詞匯,逐漸縮小搜索范圍,可以獲得深網數據搜索全集。
【附圖說明】
[0013]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
[0014]圖1為本發明實施例一提供的搜集深網數據全集的爬蟲方法的流程圖;
[0015]圖2為本發明實施例二提供的搜集深網數據全集的爬蟲方法的流程圖;
[0016]圖3為本發明實施例一提供的搜集深網數據全集的爬蟲系統的結構示意圖;
[0017]圖4為本發明實施例二提供的搜集深網數據全集的爬蟲系統的結構示意圖。
【具體實施方式】
[0018]為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0019]圖1為本發明實施例一提供的搜集深網數據全集的爬蟲方法的流程圖,本實施例提供的搜集深網數據全集的爬蟲方法,可以應用于各個領域的深網搜索,用于獲得深網搜集數據全集,例如:書籍搜索、商品搜索,等等。如圖1所示,本實施例提供的搜集深網數據全集的爬蟲方法,可以包括:
[0020]步驟101、根據關鍵詞匯進行深網數據搜索,獲得查詢結果。
[0021]在本步驟中,獲得的查詢結果可能是深網數據搜索全集,也可能不是深網數據搜索全集,需要對查詢結果進行判斷。如果查詢結果不是深網數據搜索全集,則需要進一步進行搜索。
[0022]其中,關鍵詞匯可以是單一的一個詞,也可以是多個詞組成的并列詞匯,例如:關鍵詞匯可以為“計算機”,關鍵詞匯還可以為“計算機、科學”,等等。
[0023]其中,關鍵詞匯可以為中文詞匯、英文詞匯,或者為其他語言集中的詞,本實施例對此不加以限制。
[0024]步驟103、若查詢結果溢出,則對查詢結果進行分詞處理獲得特征詞集合,將特征詞集合中的每個特征詞與上一次搜索中的關鍵詞匯進行組合獲得多個新關鍵詞匯,根據每個新關鍵詞匯進行深網數據搜索獲得所有新關鍵詞匯的全部查詢結果。
[0025]在本步驟中,如果步驟101獲得的查詢結果溢出,說明不是深網數據搜索全集,則需要進一步搜索。下面以具體實例詳細說明本步驟。
[0026]假設步驟101中的關鍵詞匯為“計算機”,由于查詢結果溢出,則對查詢結果進行分詞處理獲得特征詞集合為“程序、java”,這樣,將特征詞集合中的每個特征詞與上一次搜索中的關鍵詞匯(“計算機”)進行組合,將獲得兩個新關鍵詞匯,分別為“計算機、程序”和“計算機、java”,根據“計算機、程序”繼續進行深網數據搜索獲得關于“計算機、程序”的查詢結果,根據“計算機、java”繼續進行深網數據搜索獲得關于“計算機、java”的查詢結果,這樣,就獲得了全部新關鍵詞匯的全部查詢結果。
[0027]在本步驟中,每一個新關鍵詞匯的查詢結果依然可能溢出,可能沒有溢出。如果哪一個新關鍵詞匯的查詢結果溢出了,說明此次深網數據搜索的查詢結果仍然不是深網數據全集,還需要進一步進行搜索。
[0028]步驟105、若全部查詢結果中至少一個新關鍵詞匯的查詢結果溢出,則繼續對溢出的新關鍵詞匯的查詢結果進行分詞處理以及深網數據搜索,直至全部查詢結果非溢出。
[0029]在本步驟中,如果步驟103獲得的全部查詢結果中,存在至少一個新關鍵詞匯的查詢結果溢出,說明還不是深網數據搜索全集,則需要進一步搜索。下面接續步驟103的具體實例詳細說明本步驟。
[0030]假設步驟103中新關鍵詞匯“計算機、java”的查詢結果溢出,則對“計算機、java”的查詢結果繼續進行分詞處理獲得特征詞集合為“編程、硬件”,這樣,將特征詞集合中的每個特征詞與上一次搜索中的關鍵詞匯(“計算機、java”)進行組合,將獲得兩個新關鍵詞匯,分別為“計算機、java、編程”和“計算機、java、硬件”,根據“計算機、java、編程”繼續進行深網數據搜索獲得關于“計算機、java、編程”的查詢結果,根據“計算機、java、硬件”繼續進行深網數據搜索獲得關于“計算機、java、硬件”的查詢結果,這樣,就獲得了全部新關鍵詞匯的全部查詢結果。
[0031]然后,需要判斷每一個新關鍵詞匯的查詢結果是否溢出,如果溢出,則需要繼續搜索,直至全部查詢結果沒有溢出,獲得深網數據搜索的全集。
[0032]其中,在本步驟中,繼續對溢出的查詢結果進行分詞處理以