一種數(shù)據(jù)采集方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別涉及一種數(shù)據(jù)采集方法及裝置。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,依賴于URL(Uniform Resource Locator,統(tǒng)一資源定位符)地址的網(wǎng)頁(yè)成為大量業(yè)務(wù)數(shù)據(jù)的載體,為了滿足不同用戶的業(yè)務(wù)需求,通常需要根據(jù)用戶業(yè)務(wù)需求從特定互聯(lián)網(wǎng)站對(duì)應(yīng)的至少一個(gè)網(wǎng)頁(yè)上采集相應(yīng)的業(yè)務(wù)數(shù)據(jù)。
[0003]目前,從目標(biāo)網(wǎng)站對(duì)應(yīng)的多個(gè)目標(biāo)頁(yè)面采集業(yè)務(wù)數(shù)據(jù)時(shí),通常需要預(yù)先獲取對(duì)應(yīng)目標(biāo)網(wǎng)站的初始URL地址,利用網(wǎng)絡(luò)爬蟲(chóng)技術(shù)采集初始URL地址對(duì)應(yīng)的多個(gè)下級(jí)URL地址,進(jìn)而分別加載每一個(gè)下級(jí)URL地址分別對(duì)應(yīng)的目標(biāo)網(wǎng)頁(yè),根據(jù)相應(yīng)的數(shù)據(jù)采集模型分別從每一個(gè)目標(biāo)網(wǎng)頁(yè)上采集相應(yīng)的業(yè)務(wù)數(shù)據(jù),并將采集到的業(yè)務(wù)數(shù)據(jù)存儲(chǔ)至數(shù)據(jù)庫(kù)中。
[0004]但是,在上述技術(shù)方案中,當(dāng)數(shù)據(jù)采集業(yè)務(wù)發(fā)生業(yè)務(wù)中斷(比如,目標(biāo)網(wǎng)站關(guān)閉及服務(wù)器掉電等)后,重新啟動(dòng)針對(duì)相同目標(biāo)網(wǎng)站的數(shù)據(jù)采集業(yè)務(wù)時(shí),只能重新采集全部目標(biāo)網(wǎng)頁(yè)分別對(duì)應(yīng)的業(yè)務(wù)數(shù)據(jù),導(dǎo)致已采集到數(shù)據(jù)庫(kù)中的業(yè)務(wù)數(shù)據(jù)出現(xiàn)冗余,浪費(fèi)存儲(chǔ)空間。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供了一種數(shù)據(jù)采集方法及裝置,可節(jié)約存儲(chǔ)空間。
[0006]第一方面,本發(fā)明提供了一種數(shù)據(jù)采集方法,包括:
[0007]SI:當(dāng)針對(duì)相同目標(biāo)網(wǎng)站再次進(jìn)行數(shù)據(jù)采集業(yè)務(wù)時(shí),獲取對(duì)應(yīng)所述目標(biāo)網(wǎng)站的數(shù)據(jù)采集策略、數(shù)據(jù)采集模型以及初始統(tǒng)一資源定位符URL地址;
[0008]S2:從數(shù)據(jù)庫(kù)中獲取對(duì)應(yīng)所述目標(biāo)網(wǎng)站的第一業(yè)務(wù)數(shù)據(jù),其中,所述第一業(yè)務(wù)數(shù)據(jù)為針對(duì)所述目標(biāo)網(wǎng)站的前次數(shù)據(jù)采集過(guò)程中最后一條存儲(chǔ)至所述數(shù)據(jù)庫(kù)的業(yè)務(wù)數(shù)據(jù);
[0009]S3:根據(jù)所述數(shù)據(jù)采集策略采集對(duì)應(yīng)所述初始URL地址的至少一個(gè)下級(jí)URL地址,并根據(jù)采集每一個(gè)所述下級(jí)URL地址的時(shí)間順序構(gòu)建數(shù)據(jù)采集隊(duì)列;
[0010]S4:確定所述數(shù)據(jù)采集隊(duì)列中對(duì)應(yīng)所述第一業(yè)務(wù)數(shù)據(jù)的目標(biāo)URL地址;
[0011]S5:根據(jù)所述數(shù)據(jù)采集隊(duì)列順序加載所述目標(biāo)URL地址之后的每一個(gè)下級(jí)URL地址分別對(duì)應(yīng)的第一目標(biāo)網(wǎng)頁(yè),根據(jù)所述數(shù)據(jù)采集模型分別采集每一個(gè)所述第一目標(biāo)網(wǎng)頁(yè)分別對(duì)應(yīng)的第二業(yè)務(wù)數(shù)據(jù),將每一條所述第二業(yè)務(wù)數(shù)據(jù)存儲(chǔ)至所述數(shù)據(jù)庫(kù)中。
[0012]進(jìn)一步的,
[0013]所述將每一條所述第二業(yè)務(wù)數(shù)據(jù)存儲(chǔ)至所述數(shù)據(jù)庫(kù)中,進(jìn)一步包括:將每一條所述第二業(yè)務(wù)數(shù)據(jù)與所述至少一個(gè)下級(jí)URL地址之間的對(duì)應(yīng)關(guān)系存儲(chǔ)至所述數(shù)據(jù)庫(kù)中;
[0014]所述從數(shù)據(jù)庫(kù)中獲取對(duì)應(yīng)所述目標(biāo)網(wǎng)站的第一業(yè)務(wù)數(shù)據(jù),進(jìn)一步包括:獲取所述第一業(yè)務(wù)數(shù)據(jù)與所述至少一個(gè)下級(jí)URL地址之間的對(duì)應(yīng)關(guān)系;
[0015]所述確定所述數(shù)據(jù)采集隊(duì)列中對(duì)應(yīng)所述第一業(yè)務(wù)數(shù)據(jù)的目標(biāo)URL地址,包括:
[0016]根據(jù)所述第一業(yè)務(wù)數(shù)據(jù)及所述第一業(yè)務(wù)數(shù)據(jù)與所述至少一個(gè)下級(jí)URL地址之間的對(duì)應(yīng)關(guān)系,確定所述數(shù)據(jù)采集隊(duì)列中對(duì)應(yīng)所述第一業(yè)務(wù)數(shù)據(jù)的目標(biāo)URL地址。
[0017]進(jìn)一步的,所述確定所述數(shù)據(jù)采集隊(duì)列中對(duì)應(yīng)所述第一業(yè)務(wù)數(shù)據(jù)的目標(biāo)URL地址,包括:
[0018]根據(jù)所述數(shù)據(jù)采集隊(duì)列順序加載一個(gè)下級(jí)URL地址對(duì)應(yīng)的第二目標(biāo)網(wǎng)頁(yè);
[0019]根據(jù)所述數(shù)據(jù)采集模型采集所述第二目標(biāo)網(wǎng)頁(yè)對(duì)應(yīng)的第三業(yè)務(wù)數(shù)據(jù);
[0020]判斷所述第一業(yè)務(wù)數(shù)據(jù)和所述第三業(yè)務(wù)數(shù)據(jù)是否相同,當(dāng)判斷結(jié)果為是時(shí),確定所述第三業(yè)務(wù)數(shù)據(jù)對(duì)應(yīng)的下級(jí)URL地址為目標(biāo)URL地址;否則,根據(jù)所述數(shù)據(jù)采集隊(duì)列順序加載下一個(gè)所述下級(jí)URL地址對(duì)應(yīng)的第二目標(biāo)網(wǎng)頁(yè)。
[0021]進(jìn)一步的,
[0022]所述數(shù)據(jù)米集策略包括:深度優(yōu)先米集策略或廣度優(yōu)先米集策略。
[0023 ]第二方面,本發(fā)明提供了一種數(shù)據(jù)采集裝置,包括:
[0024]第一獲取單元,用于當(dāng)針對(duì)相同目標(biāo)網(wǎng)站再次進(jìn)行數(shù)據(jù)采集業(yè)務(wù)時(shí),獲取對(duì)應(yīng)所述目標(biāo)網(wǎng)站的數(shù)據(jù)采集策略、數(shù)據(jù)采集模型以及初始統(tǒng)一資源定位符URL地址;
[0025]第二獲取單元,用于從數(shù)據(jù)庫(kù)中獲取對(duì)應(yīng)所述目標(biāo)網(wǎng)站的第一業(yè)務(wù)數(shù)據(jù),其中,所述第一業(yè)務(wù)數(shù)據(jù)為針對(duì)所述目標(biāo)網(wǎng)站的前次數(shù)據(jù)采集過(guò)程中最后一條存儲(chǔ)至所述數(shù)據(jù)庫(kù)的業(yè)務(wù)數(shù)據(jù);
[0026]第一處理單元,用于根據(jù)所述數(shù)據(jù)采集策略采集對(duì)應(yīng)所述初始URL地址的至少一個(gè)下級(jí)URL地址,并根據(jù)采集每一個(gè)所述下級(jí)URL地址的時(shí)間順序構(gòu)建數(shù)據(jù)采集隊(duì)列;
[0027]確定單元,用于確定所述數(shù)據(jù)采集隊(duì)列中對(duì)應(yīng)所述第一業(yè)務(wù)數(shù)據(jù)的目標(biāo)URL地址;
[0028]第二處理單元,用于根據(jù)所述數(shù)據(jù)采集隊(duì)列順序加載所述目標(biāo)URL地址之后的每一個(gè)下級(jí)URL地址分別對(duì)應(yīng)的第一目標(biāo)網(wǎng)頁(yè),根據(jù)所述數(shù)據(jù)采集模型分別采集每一個(gè)所述第一目標(biāo)網(wǎng)頁(yè)分別對(duì)應(yīng)的第二業(yè)務(wù)數(shù)據(jù),將每一條所述第二業(yè)務(wù)數(shù)據(jù)存儲(chǔ)至所述數(shù)據(jù)庫(kù)中。
[0029]進(jìn)一步的,
[0030]所述第二處理單元,進(jìn)一步用于將每一條所述第二業(yè)務(wù)數(shù)據(jù)與所述至少一個(gè)下級(jí)URL地址之間的對(duì)應(yīng)關(guān)系存儲(chǔ)至所述數(shù)據(jù)庫(kù)中;
[0031]所述第二獲取單元,進(jìn)一步用于獲取所述第一業(yè)務(wù)數(shù)據(jù)與所述至少一個(gè)下級(jí)URL地址之間的對(duì)應(yīng)關(guān)系;
[0032]所述確定單元,用于根據(jù)所述第一業(yè)務(wù)數(shù)據(jù)及所述第一業(yè)務(wù)數(shù)據(jù)與所述至少一個(gè)下級(jí)URL地址之間的對(duì)應(yīng)關(guān)系,確定所述數(shù)據(jù)采集隊(duì)列中對(duì)應(yīng)所述第一業(yè)務(wù)數(shù)據(jù)的目標(biāo)URL地址。
[0033]進(jìn)一步的,所述確定單元,包括:
[0034]處理子單元,用于根據(jù)所述數(shù)據(jù)采集隊(duì)列順序加載一個(gè)下級(jí)URL地址對(duì)應(yīng)的第二目標(biāo)網(wǎng)頁(yè);根據(jù)所述數(shù)據(jù)采集隊(duì)列順序加載下一個(gè)所述下級(jí)URL地址對(duì)應(yīng)的第二目標(biāo)網(wǎng)頁(yè);
[0035]數(shù)據(jù)采集子單元,用于根據(jù)所述數(shù)據(jù)采集模型采集所述第二目標(biāo)網(wǎng)頁(yè)對(duì)應(yīng)的第三業(yè)務(wù)數(shù)據(jù);
[0036]確定子單元,用于確定所述第三業(yè)務(wù)數(shù)據(jù)對(duì)應(yīng)的下級(jí)URL地址為目標(biāo)URL地址;
[0037]判斷子單元,用于判斷所述第一業(yè)務(wù)數(shù)據(jù)和所述第三業(yè)務(wù)數(shù)據(jù)是否相同,當(dāng)判斷結(jié)果為是時(shí),觸發(fā)確定子單元確定所述第三業(yè)務(wù)數(shù)據(jù)對(duì)應(yīng)的下級(jí)URL地址為目標(biāo)URL地址;否則,觸發(fā)處理子單元根據(jù)所述數(shù)據(jù)采集隊(duì)列順序加載下一個(gè)所述下級(jí)URL地址對(duì)應(yīng)的第二目標(biāo)網(wǎng)頁(yè)。
[0038]本發(fā)明提供了一種數(shù)據(jù)采集方法及裝置,在針對(duì)相同目標(biāo)網(wǎng)站再次進(jìn)行數(shù)據(jù)采集業(yè)務(wù)時(shí),通過(guò)已采集到數(shù)據(jù)庫(kù)中的業(yè)務(wù)數(shù)據(jù),利用與前次數(shù)據(jù)采集過(guò)程中相同的數(shù)據(jù)采集策略和數(shù)據(jù)采集模型,確定前次針對(duì)該目標(biāo)網(wǎng)站進(jìn)行數(shù)據(jù)采集時(shí)的業(yè)務(wù)進(jìn)度,實(shí)現(xiàn)對(duì)目標(biāo)網(wǎng)站的數(shù)據(jù)采集業(yè)務(wù)過(guò)程中,只采集前次數(shù)據(jù)采集過(guò)程中未完成采集的目標(biāo)網(wǎng)頁(yè)上的業(yè)務(wù)數(shù)據(jù),針對(duì)已進(jìn)行數(shù)據(jù)采集的目標(biāo)網(wǎng)頁(yè)不再進(jìn)行數(shù)據(jù)采集,避免對(duì)相同目標(biāo)網(wǎng)頁(yè)上的業(yè)務(wù)數(shù)據(jù)進(jìn)行多次采集而導(dǎo)致數(shù)據(jù)庫(kù)中出現(xiàn)數(shù)據(jù)冗余;可見(jiàn),通過(guò)本發(fā)明的技術(shù)方案,可節(jié)約存儲(chǔ)空間。
【附圖說(shuō)明】
[0039]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0040]圖1是本發(fā)明一實(shí)施例提供的一種數(shù)據(jù)采集方法;
[0041]圖2是本發(fā)明一實(shí)施例提供的另一種數(shù)據(jù)采集方法;
[0042]圖3是本發(fā)明一實(shí)施例提供的一種數(shù)據(jù)采集裝置;
[0043]圖4是本發(fā)明一實(shí)施例提供的另一種數(shù)據(jù)采集裝置。
【具體實(shí)施方式】
[0044]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例,基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0045]如圖1所示,本發(fā)明實(shí)施例提供了一種數(shù)據(jù)采集方法,該方法可以包括以下步驟:
[0046]SI:當(dāng)針對(duì)相同目標(biāo)網(wǎng)站再次進(jìn)行數(shù)據(jù)采集業(yè)務(wù)時(shí),獲取對(duì)應(yīng)所述目標(biāo)網(wǎng)站的數(shù)據(jù)采集策略、數(shù)據(jù)采集模型以及初始統(tǒng)一資源定位符URL地址;
[0047]S2:從數(shù)據(jù)庫(kù)中獲取對(duì)應(yīng)所述目標(biāo)網(wǎng)站的第一業(yè)務(wù)數(shù)據(jù),其中,所述第一業(yè)務(wù)數(shù)據(jù)為針對(duì)所述目標(biāo)網(wǎng)站的前次數(shù)據(jù)采集過(guò)程中最后一條存儲(chǔ)至所述數(shù)據(jù)庫(kù)的業(yè)務(wù)數(shù)據(jù);
[0048]S3:根據(jù)所述數(shù)據(jù)采集策略采集對(duì)應(yīng)所述初始URL地址的至少一個(gè)下級(jí)URL地址,并根據(jù)采集每一個(gè)所述下級(jí)URL地址的時(shí)間順序構(gòu)建數(shù)據(jù)采集隊(duì)列;
[0049]S4:確定所述數(shù)據(jù)采集隊(duì)列中對(duì)應(yīng)所述第一業(yè)務(wù)數(shù)據(jù)的目標(biāo)URL地址;
[0050]S5:根據(jù)所述數(shù)據(jù)采集隊(duì)列順序加載所述目標(biāo)URL地址之后的每一個(gè)下級(jí)URL地址分別對(duì)應(yīng)的第一目標(biāo)網(wǎng)頁(yè),根據(jù)所述數(shù)據(jù)