一種抓取熱歌的方法和裝置的制造方法
【專利摘要】本發(fā)明公開一種抓取熱歌的方法和裝置,其中方法包括如下步驟:根據(jù)熱歌榜單的網(wǎng)絡(luò)地址獲取熱歌榜單的原始數(shù)據(jù);根據(jù)網(wǎng)絡(luò)地址對(duì)應(yīng)的解析規(guī)則對(duì)原始數(shù)據(jù)進(jìn)行解析,得到熱歌榜單的目錄;將熱歌榜單的目錄與預(yù)存的歌曲庫(kù)進(jìn)行對(duì)比;增加歌曲庫(kù)中缺少的歌曲。本發(fā)明通過獲取熱歌榜單的原始數(shù)據(jù)后,自動(dòng)對(duì)熱歌榜單進(jìn)行解析得到熱歌榜單目錄,并自動(dòng)與數(shù)據(jù)庫(kù)的歌曲進(jìn)行比對(duì),并顯示出對(duì)比結(jié)果,而后工作人員只需要查看比對(duì)結(jié)果就可以進(jìn)行缺歌上報(bào),大大減少了工作人員的工作時(shí)間,提高了工作效率。針對(duì)該方案,本發(fā)明進(jìn)一步還采用一些特定的工具的組合,可以在最快實(shí)現(xiàn)本發(fā)明目的的同時(shí)大大減少軟件開發(fā)的時(shí)間。
【專利說明】
_種抓取熱歌的方法和裝置
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及信息獲取技術(shù)領(lǐng)域,尤其涉及一種抓取熱歌的方法和裝置。
【背景技術(shù)】
[0002]熱歌就是熱門歌曲,熱歌榜單就是對(duì)熱門歌曲的熱度進(jìn)行排名后,得到排名靠前的熱歌目錄?,F(xiàn)有的很多歌曲搜索網(wǎng)站根據(jù)歌曲的搜索頻次作為歌曲的熱度或熱門度,而后根據(jù)搜索頻次高低制作出熱歌榜單并在網(wǎng)站上顯示出來。由于熱歌為當(dāng)前較為流行的歌曲,用戶在數(shù)字視聽場(chǎng)所(酒吧、KTV場(chǎng)所等)聽歌或K歌時(shí),一般也會(huì)點(diǎn)播當(dāng)前的熱歌。若點(diǎn)播機(jī)中無(wú)法點(diǎn)播到這些熱歌,會(huì)大大影響用戶體驗(yàn)。則對(duì)于這些數(shù)字視聽場(chǎng)所的歌曲提供商,就需要實(shí)時(shí)關(guān)注熱歌榜單,并查看自己的歌曲庫(kù)中是否有這些熱歌。現(xiàn)有的處理方式絕大多數(shù)采用手工操作的方式,首先去互聯(lián)網(wǎng)的熱歌榜單的網(wǎng)站上收集最新最熱的歌曲,將這些歌曲制作成表格,而后在歌曲數(shù)據(jù)庫(kù)中逐一查詢是否有這些熱歌。如果歌曲庫(kù)中不存在某一首熱歌,就將缺少的歌曲進(jìn)行登記。登記后,可以進(jìn)行后續(xù)工作,如去安排歌曲版權(quán)獲取、音準(zhǔn)原聲制作等后續(xù)工作。
[0003]這樣在熱歌獲取階段,就需要大量的人員去完成這個(gè)工作,而且現(xiàn)有的手工操作的方式費(fèi)時(shí)、耗力,造成工作周期比較長(zhǎng),無(wú)法及時(shí)將當(dāng)前熱歌添加到歌曲庫(kù)中。
【發(fā)明內(nèi)容】
[0004]為此,需要提供一種抓取熱歌的方法和裝置,解決現(xiàn)有熱歌匹配花費(fèi)時(shí)間長(zhǎng)、浪費(fèi)大量人力、還可能出現(xiàn)更新不及時(shí)的問題。
[0005]為實(shí)現(xiàn)上述目的,發(fā)明人提供了一種抓取熱歌的方法,包括如下步驟:
[0006]根據(jù)熱歌榜單的網(wǎng)絡(luò)地址獲取熱歌榜單的原始數(shù)據(jù);
[0007]根據(jù)網(wǎng)絡(luò)地址對(duì)應(yīng)的解析規(guī)則對(duì)原始數(shù)據(jù)進(jìn)行解析,得到熱歌榜單的目錄;
[0008]將熱歌榜單的目錄與預(yù)存的歌曲庫(kù)進(jìn)行對(duì)比;
[0009]增加歌曲庫(kù)中缺少的歌曲。
[0010]進(jìn)一步地,所述解析規(guī)則包括:
[0011 ]將原始數(shù)據(jù)轉(zhuǎn)成字符串;
[0012]通過網(wǎng)頁(yè)腳本解析器將字符串轉(zhuǎn)化成規(guī)格文檔;
[0013]根據(jù)正則表達(dá)式逐層解析規(guī)格文檔得到熱歌榜單的目錄。
[0014]進(jìn)一步地,所述“根據(jù)熱歌榜單的網(wǎng)絡(luò)地址獲取熱歌榜單的原始數(shù)據(jù)”包括:
[0015]采用爬蟲工具,獲取全部所需的熱歌網(wǎng)址的原始數(shù)據(jù)。
[0016]進(jìn)一步地,所述“根據(jù)熱歌榜單的網(wǎng)絡(luò)地址獲取熱歌榜單的原始數(shù)據(jù)”步驟前還包括步驟:
[0017]檢測(cè)時(shí)間是否到達(dá)預(yù)設(shè)的執(zhí)行時(shí)間點(diǎn);
[0018]在時(shí)間到達(dá)預(yù)設(shè)的執(zhí)行時(shí)間點(diǎn)后,執(zhí)行“根據(jù)熱歌榜單的網(wǎng)絡(luò)地址獲取熱歌榜單的原始數(shù)據(jù)”的步驟。
[0019]進(jìn)一步地,所述執(zhí)行“根據(jù)熱歌榜單的網(wǎng)絡(luò)地址獲取熱歌榜單的原始數(shù)據(jù)”步驟包括:
[0020]使用應(yīng)用開發(fā)框架和任務(wù)調(diào)度框架執(zhí)行“根據(jù)熱歌榜單的網(wǎng)絡(luò)地址獲取熱歌榜單的原始數(shù)據(jù)”步驟。
[0021]以及本發(fā)明還提供一種抓取熱歌的裝置,包括如下模塊:
[0022]原始數(shù)據(jù)獲取模塊:用于根據(jù)熱歌榜單的網(wǎng)絡(luò)地址獲取熱歌榜單的原始數(shù)據(jù);
[0023]原始數(shù)據(jù)解析模塊:用于根據(jù)網(wǎng)絡(luò)地址對(duì)應(yīng)的解析規(guī)則對(duì)原始數(shù)據(jù)進(jìn)行解析,得到熱歌榜單的目錄;
[0024]熱歌榜單比對(duì)模塊:用于將熱歌榜單的目錄與預(yù)存的歌曲庫(kù)進(jìn)行對(duì)比;
[0025]榜單歌曲增加模塊:用于增加歌曲庫(kù)中缺少的歌曲。
[0026]進(jìn)一步地,所述解析規(guī)則包括:
[0027]將原始數(shù)據(jù)轉(zhuǎn)成字符串;
[0028]通過網(wǎng)頁(yè)腳本解析器將字符串轉(zhuǎn)化成規(guī)格文檔;
[0029]根據(jù)正則表達(dá)式逐層解析規(guī)格文檔得到熱歌榜單的目錄。
[0030]進(jìn)一步地,所述原始數(shù)據(jù)獲取模塊還用于采用爬蟲工具,獲取全部所需的熱歌網(wǎng)址的原始數(shù)據(jù)。
[0031]進(jìn)一步地,還包括模塊:
[0032]執(zhí)行時(shí)間檢測(cè)模塊:用于檢測(cè)時(shí)間是否到達(dá)預(yù)設(shè)的執(zhí)行時(shí)間點(diǎn);
[0033]抓取動(dòng)作執(zhí)行模塊:在時(shí)間到達(dá)預(yù)設(shè)的執(zhí)行時(shí)間點(diǎn)后,使能原始數(shù)據(jù)獲取模塊。
[0034]進(jìn)一步地,所述抓取動(dòng)作執(zhí)行模塊還用于使用應(yīng)用開發(fā)框架和任務(wù)調(diào)度框架使能原始數(shù)據(jù)獲取模塊。
[0035]區(qū)別于現(xiàn)有技術(shù),上述技術(shù)方案通過獲取熱歌榜單的原始數(shù)據(jù)后,自動(dòng)對(duì)熱歌榜單進(jìn)行解析得到熱歌榜單目錄,并自動(dòng)與數(shù)據(jù)庫(kù)的歌曲進(jìn)行比對(duì),并顯示出對(duì)比結(jié)果,而后工作人員只需要查看比對(duì)結(jié)果就可以進(jìn)行缺歌上報(bào),大大減少了工作人員的工作時(shí)間,提高了工作效率。
[0036]通過本發(fā)明的方法還可以及時(shí)增加歌曲庫(kù)中缺少的當(dāng)前熱歌,滿足用戶在數(shù)字視聽場(chǎng)所點(diǎn)播當(dāng)前熱歌的需求,提高用戶體驗(yàn)。
[0037]針對(duì)該方案,本發(fā)明進(jìn)一步還采用一些特定的工具的組合,可以在最快實(shí)現(xiàn)本發(fā)明目的的同時(shí)大大減少軟件開發(fā)的時(shí)間。
【附圖說明】
[0038]圖1為本發(fā)明方法一實(shí)施例的流程圖;
[0039]圖2為Quartz的工作原理圖;
[0040]圖3為本發(fā)明裝置一實(shí)施例的結(jié)構(gòu)圖。
[0041 ]附圖標(biāo)記說明:
[0042]300、抓取熱歌的裝置,
[0043]301、執(zhí)行時(shí)間檢測(cè)模塊,302、抓取動(dòng)作執(zhí)行模塊,
[0044]303、原始數(shù)據(jù)獲取模塊,304、原始數(shù)據(jù)解析模塊,
[0045]305、熱歌榜單比對(duì)模塊,306、榜單歌曲增加模塊。
【具體實(shí)施方式】
[0046]為詳細(xì)說明技術(shù)方案的技術(shù)內(nèi)容、構(gòu)造特征、所實(shí)現(xiàn)目的及效果,以下結(jié)合具體實(shí)施例并配合附圖詳予說明。
[0047]請(qǐng)參閱圖1到圖3,本實(shí)施例首先提供一種抓取熱歌的方法,該方法可以運(yùn)行在如圖3的裝置中,或者也可以運(yùn)行在具有微處理功能的電子裝置中。本方法包括如下步驟,步驟Slll根據(jù)熱歌榜單的網(wǎng)絡(luò)地址獲取熱歌榜單的原始數(shù)據(jù)。在某些實(shí)施例中,步驟Slll具體可以為打開熱歌榜單的網(wǎng)絡(luò)地址(網(wǎng)址),獲取熱歌榜單的原始數(shù)據(jù)。打開網(wǎng)絡(luò)地址后,可以從互聯(lián)網(wǎng)上下載到網(wǎng)絡(luò)地址對(duì)應(yīng)的原始數(shù)據(jù)。而后在步驟S112中根據(jù)網(wǎng)絡(luò)地址對(duì)應(yīng)的解析規(guī)則對(duì)原始數(shù)據(jù)進(jìn)行解析,得到熱歌榜單的目錄。不同的網(wǎng)絡(luò)地址所對(duì)應(yīng)的原始數(shù)據(jù)的格式是不同的,需要與之對(duì)應(yīng)的解析規(guī)則進(jìn)行解析。解析后就排除了不需要的數(shù)據(jù),得到了熱歌榜單的目錄。這個(gè)目錄可以包含有熱歌的歌曲名和該熱歌的排名。而后在步驟S113中將熱歌榜單的目錄與預(yù)存的歌曲庫(kù)進(jìn)行對(duì)比。比對(duì)的目的是知道數(shù)據(jù)庫(kù)中是否存有所有熱歌榜單中的歌曲。如果沒有,則在步驟S114中增加歌曲庫(kù)中缺少的歌曲。其中,歌曲庫(kù)中缺少的歌曲就是在熱歌榜單的目錄中歌曲庫(kù)缺少的歌曲,可以在歌曲庫(kù)中對(duì)增加的歌曲進(jìn)行標(biāo)記,以確定其就是缺少的歌曲。當(dāng)然,在步驟S114后也可以將讀取數(shù)據(jù)庫(kù)后將這個(gè)比對(duì)結(jié)果顯示出來。根據(jù)缺歌清單,在歌曲庫(kù)中對(duì)應(yīng)增加缺少的歌曲。具體增加的方法可以是:購(gòu)買歌曲版權(quán),并將歌曲上傳到服務(wù)器及在歌曲庫(kù)中錄入。這樣通過獲取熱歌榜單的原始數(shù)據(jù)后,自動(dòng)對(duì)熱歌榜單進(jìn)行解析得到熱歌榜單目錄,并自動(dòng)與歌曲庫(kù)的歌曲進(jìn)行比對(duì),顯示出對(duì)比結(jié)果,而后工作人員只需要查看比對(duì)結(jié)果就可以進(jìn)行缺歌上報(bào),大大減少了工作人員的工作時(shí)間,提高了工作效率。同時(shí),及時(shí)在歌曲庫(kù)中增加缺少的當(dāng)前熱歌,及時(shí)更新歌曲庫(kù),滿足用戶點(diǎn)播當(dāng)前熱歌的需求,提高用戶體驗(yàn)。
[0048]在本發(fā)明中,比較重要的就是熱歌榜單網(wǎng)址和解析規(guī)則的確定。熱歌榜單可以從各個(gè)音樂榜單網(wǎng)站上獲得。解析規(guī)則的確定由熱歌榜單網(wǎng)址對(duì)應(yīng)的原始數(shù)據(jù)決定。具體地,可以通過分析數(shù)據(jù)包的形式對(duì)原始數(shù)據(jù)進(jìn)行分析,如可以用抓包利器HTTP Analyzer(—款網(wǎng)絡(luò)抓包工具)來分析數(shù)據(jù)包。
[0049]對(duì)于不同的網(wǎng)址,其解析規(guī)則也是不同的。在一些網(wǎng)址中,網(wǎng)頁(yè)中就存有所有的熱歌榜單數(shù)據(jù),則可以通過如下的解析規(guī)則進(jìn)行直接解析,即所述解析規(guī)則包括:將原始數(shù)據(jù)轉(zhuǎn)成字符串(string);通過網(wǎng)頁(yè)腳本解析器將字符串轉(zhuǎn)化成規(guī)格文檔(Document);根據(jù)正則表達(dá)式逐層解析規(guī)格文檔得到熱歌榜單的目錄。其中,網(wǎng)頁(yè)腳本解析器可以采用Jsoup,Jsoup是一款Java的HTML解析器,Jsoup提供了一套非常強(qiáng)大的java解析Html元素的API。對(duì)于很多大數(shù)量的歌曲榜單信息,其原始數(shù)據(jù)都是規(guī)律性很強(qiáng)的標(biāo)簽,包含有大量重復(fù)的html代碼。通過Jsoup可以輕松地獲取到熱歌榜單的目錄。本發(fā)明中的網(wǎng)頁(yè)腳本解析器還可以是HtmlparserUava寫的html解析的庫(kù))、NekoHTML(HTML掃描器和標(biāo)簽補(bǔ)償器)、JTidy(可做為處理HTML文件的DOM解析器)或Html CI eaner (Java語(yǔ)言的Html文檔解析器)等等。正則表達(dá)式(regular express 1n)描述了一種字符串匹配的模式,可以用來檢查一個(gè)字符串是否含有某種子串、將匹配的子串做替換或者從某個(gè)串中取出符合某個(gè)條件的子串等,在本發(fā)明中利用正則表達(dá)式可以在歌曲榜單的標(biāo)簽中將歌曲的名稱和排名提取出來。通過上述的解析規(guī)則,可以從各網(wǎng)頁(yè)中快速獲取熱歌榜單的熱歌目錄。
[0050]而在某些相對(duì)復(fù)雜的網(wǎng)址中,其熱歌榜單的分頁(yè)是在后臺(tái)完成的,每次的分頁(yè)都是要去請(qǐng)求不同的頁(yè)面。如熱歌榜單前十名存在hostname/1.html,十到二十名存在hostname/2.html中,依次類推?,F(xiàn)有的做法很多都是采用循環(huán)的做法,如前一百名就循環(huán)做十次。但是這樣在遇上不同數(shù)量的熱歌榜單,則需要一個(gè)個(gè)去設(shè)置,這樣開發(fā)實(shí)現(xiàn)起來很麻煩。本發(fā)明采用一個(gè)軟件來解決該問題,即采用java爬蟲工具,獲取全部所需的熱歌網(wǎng)址的原始數(shù)據(jù)。其中,爬蟲工具可以采用Crawler ,Crawler是一個(gè)簡(jiǎn)單的Web爬蟲軟件。Crawler使得軟件開發(fā)者不用編寫枯燥、容易出錯(cuò)的代碼,只需專注于抓取網(wǎng)站的結(jié)構(gòu)。此夕卜,Crawler使用比較方便,簡(jiǎn)單的配置一些參數(shù)就能使用,對(duì)于上面提到的不同數(shù)量的熱歌榜單的問題,只要將熱歌榜單地址的正則表達(dá)式輸入到Crawler ,Crawler就可以自動(dòng)執(zhí)行并獲取網(wǎng)頁(yè)原始數(shù)據(jù),即可以獲取到相應(yīng)數(shù)量的熱歌榜單。Crawler獲取完原始數(shù)據(jù)之后,本發(fā)明繼續(xù)執(zhí)行“根據(jù)網(wǎng)絡(luò)地址對(duì)應(yīng)的解析規(guī)則對(duì)原始數(shù)據(jù)進(jìn)行解析,得到熱歌榜單的目錄”的步驟,解析里面的html元素,再通過正則表達(dá)式過濾得到想要的熱歌榜單的目錄。本發(fā)明中使用的爬蟲工具還可以是GECCO(輕量化網(wǎng)絡(luò)爬蟲工具)等等。通過上述的方法,可快速、便捷的獲取各熱歌網(wǎng)址的原始數(shù)據(jù)。
[0051]熱歌榜單根據(jù)歌曲的熱門程度或時(shí)間等等因素會(huì)發(fā)生變化,如果沒有及時(shí)獲取到當(dāng)前的熱歌榜單,則可能會(huì)錯(cuò)過某些熱歌?,F(xiàn)有的做法是工作人員有時(shí)間就去刷新網(wǎng)址獲取榜單數(shù)據(jù),這樣工作量相對(duì)較大。本發(fā)明采用定時(shí)自動(dòng)化隊(duì)列設(shè)計(jì)的方法,具體地,首先在步驟SlOl檢測(cè)時(shí)間是否到達(dá)預(yù)設(shè)的執(zhí)行時(shí)間點(diǎn);而后在步驟S102在時(shí)間到達(dá)預(yù)設(shè)的執(zhí)行時(shí)間點(diǎn)后,執(zhí)行“根據(jù)熱歌榜單的網(wǎng)絡(luò)地址獲取熱歌榜單的原始數(shù)據(jù)”的步驟。這樣只要到達(dá)預(yù)設(shè)的執(zhí)行時(shí)間點(diǎn),就可以獲取到歌曲庫(kù)中缺少的熱歌榜單的目錄。如果工作人員在電腦旁,可以直接顯示,或者也可以將缺少的熱歌榜單的目錄存儲(chǔ)到歌曲庫(kù)中,后續(xù)再將缺少的歌曲增加到歌曲庫(kù)中。其中,該預(yù)設(shè)的執(zhí)行時(shí)間點(diǎn)可以根據(jù)不同的時(shí)間間隔設(shè)置,例如,可以將時(shí)間間隔設(shè)置為4小時(shí)執(zhí)行一次,第一次預(yù)設(shè)12點(diǎn)為執(zhí)行時(shí)間點(diǎn),下一次的執(zhí)行時(shí)間點(diǎn)為16點(diǎn),再下一次的執(zhí)行時(shí)間點(diǎn)是20點(diǎn),依次類推。當(dāng)然,該時(shí)間間隔可根據(jù)具體情況設(shè)置,可以是4-48小時(shí)等等。當(dāng)系統(tǒng)較為空閑時(shí),可以設(shè)置較短的時(shí)間間隔(例如每隔4小時(shí))執(zhí)行一次“根據(jù)熱歌榜單的網(wǎng)絡(luò)地址獲取熱歌榜單的原始數(shù)據(jù)”的步驟;當(dāng)系統(tǒng)較為繁忙時(shí),可以設(shè)置較長(zhǎng)的時(shí)間間隔(例如每隔24小時(shí))執(zhí)行一次“根據(jù)熱歌榜單的網(wǎng)絡(luò)地址獲取熱歌榜單的原始數(shù)據(jù)”的步驟。通過設(shè)置定時(shí)自動(dòng)進(jìn)行獲取熱歌榜單的原始數(shù)據(jù),保證歌曲庫(kù)更新的及時(shí)性。
[0052]為了簡(jiǎn)化軟件開發(fā)的流程,本發(fā)明使用應(yīng)用開發(fā)框架和任務(wù)調(diào)度框架進(jìn)行自動(dòng)隊(duì)列設(shè)計(jì)。具體實(shí)現(xiàn)的流程包括:搭建應(yīng)用開發(fā)框架和任務(wù)調(diào)度框架;調(diào)配多個(gè)抓取熱歌的自動(dòng)化隊(duì)列,并設(shè)置自動(dòng)化程序開啟的時(shí)間點(diǎn);部署程序,當(dāng)?shù)竭_(dá)預(yù)設(shè)的執(zhí)行時(shí)間點(diǎn),自動(dòng)化隊(duì)列開始抓歌。在某些實(shí)施例中,應(yīng)用開發(fā)框架可以采用Spring,任務(wù)調(diào)度框架可以是Quartz,則本發(fā)明定時(shí)進(jìn)行熱歌自動(dòng)抓取的框架機(jī)制可以采用Spr ing+Quartz任務(wù)調(diào)度的框架。Spr ing是個(gè)開源的輕量級(jí)的Java開發(fā)框架,Quartz是一個(gè)完全由java編寫的開源作業(yè)調(diào)度框架,本發(fā)明優(yōu)選采用該框架的理由在于JavaWeb的項(xiàng)目通常情況下沒有多線程去運(yùn)行自動(dòng)的定時(shí)任務(wù),然后quartz是一個(gè)專門來做作業(yè)調(diào)度的框架,它還可以完全與JavaWeb相結(jié)合,無(wú)縫適配Spring框架。Quartz工作原理圖如圖2,可以根據(jù)需要設(shè)置不同的trigger (觸發(fā))條件,至Ij達(dá)觸發(fā)條件即可以對(duì)進(jìn)程(scheduler)進(jìn)行動(dòng)作,包括start (開始)、stop(停止)等。本發(fā)明采用多個(gè)java工具進(jìn)行軟件實(shí)現(xiàn),同時(shí)本發(fā)明的方法也可以采用java語(yǔ)言開發(fā),可以實(shí)現(xiàn)各個(gè)功能模塊間的兼容,從而提高開發(fā)效率,節(jié)省工作時(shí)間。本發(fā)明中,應(yīng)用開發(fā)框架還可以是Struts2(Struts的下一代產(chǎn)品)、Wicket(開發(fā)Java Web應(yīng)用程序框架)或Tapes try (MVC框架)等等;任務(wù)調(diào)度框架還可以是j crontab (由Java語(yǔ)言編寫的日程處理程序)、Gos4j(多任務(wù)處理順序軟件)或Fulcrum Scheduler等等。
[0053]以及本發(fā)明還提供一種抓取熱歌的裝置,如圖3所示,包括如下模塊:原始數(shù)據(jù)獲取模塊303:用于根據(jù)熱歌榜單的網(wǎng)絡(luò)地址獲取熱歌榜單的原始數(shù)據(jù);原始數(shù)據(jù)解析模塊304:用于根據(jù)網(wǎng)絡(luò)地址對(duì)應(yīng)的解析規(guī)則對(duì)原始數(shù)據(jù)進(jìn)行解析,得到熱歌榜單的目錄;熱歌榜單比對(duì)模塊305:用于將熱歌榜單的目錄與預(yù)存的歌曲庫(kù)進(jìn)行對(duì)比;榜單歌曲增加模塊306:用于增加歌曲庫(kù)中缺少的歌曲。本裝置通過獲取熱歌榜單的原始數(shù)據(jù)后,自動(dòng)對(duì)熱歌榜單進(jìn)行解析得到熱歌榜單目錄,并自動(dòng)與數(shù)據(jù)庫(kù)的歌曲進(jìn)行比對(duì),并顯示出對(duì)比結(jié)果,而后工作人員只需要查看比對(duì)結(jié)果就可以進(jìn)行缺歌上報(bào),大大減少了工作人員的工作時(shí)間,提高了工作效率。針對(duì)該方案,本發(fā)明進(jìn)一步還采用一些特定的工具的組合,可以在最快實(shí)現(xiàn)本發(fā)明目的的同時(shí)大大減少軟件開發(fā)的時(shí)間。
[0054]在某些實(shí)施例中,所述解析規(guī)則包括:將原始數(shù)據(jù)轉(zhuǎn)成字符串;通過網(wǎng)頁(yè)腳本解析器將字符串轉(zhuǎn)化成規(guī)格文檔;根據(jù)正則表達(dá)式逐層解析規(guī)格文檔得到熱歌榜單的目錄。本發(fā)明中的網(wǎng)頁(yè)腳本解析器優(yōu)選采用Jsoup(—款Java的HTML解析器),還可以是Htmlparser(java寫的html解析的庫(kù))、NekoHTML(HTML掃描器和標(biāo)簽補(bǔ)償器)、JTidy(可做為處理HTML文件的DOM解析器)或HtmlCleaner (Java語(yǔ)言的Html文檔解析器)等等。通過這樣的解析規(guī)貝1J,可以獲得熱歌榜單的目錄。
[0055]為了便于不同數(shù)量的熱歌榜單的獲取,所述原始數(shù)據(jù)獲取模塊還用于采用爬蟲工具,獲取全部所需的熱歌網(wǎng)址的原始數(shù)據(jù)。本發(fā)明中使用的爬蟲工具優(yōu)選采用Crawler,還可以是GECCO (輕量化網(wǎng)絡(luò)爬蟲工具)等等。
[0056]進(jìn)一步地,還包括模塊:執(zhí)行時(shí)間檢測(cè)模塊301:用于檢測(cè)時(shí)間是否到達(dá)預(yù)設(shè)的執(zhí)行時(shí)間點(diǎn);抓取動(dòng)作執(zhí)行模塊302:在時(shí)間到達(dá)預(yù)設(shè)的執(zhí)行時(shí)間點(diǎn)后,使能原始數(shù)據(jù)獲取模塊。這樣可以及時(shí)獲取到當(dāng)前的熱歌榜單的目錄。
[0057]在某些實(shí)施例中,所述抓取動(dòng)作執(zhí)行模塊還用于使用應(yīng)用開發(fā)框架和任務(wù)調(diào)度框架使能原始數(shù)據(jù)獲取模塊。本發(fā)明定時(shí)進(jìn)行熱歌自動(dòng)抓取的框架機(jī)制優(yōu)選采用Spring+Quartz任務(wù)調(diào)度的框架。應(yīng)用開發(fā)框架Spring和Quartz都是java類的框架,可以實(shí)現(xiàn)各個(gè)功能模塊間的兼容,從而提高開發(fā)效率,節(jié)省工作時(shí)間。其中,應(yīng)用開發(fā)框架還可以是Struts2(Struts的下一代產(chǎn)品)、Wicket(開發(fā)Java Web應(yīng)用程序框架)或Tapestry (MVC框架)等等;任務(wù)調(diào)度框架還可以是jcrontab(由Java語(yǔ)言編寫的日程處理程序)、Gos4j(多任務(wù)處理順序軟件)或Fulcrum Scheduler等等。
[0058]需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設(shè)備所固有的要素。在沒有更多限制的情況下,由語(yǔ)句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者終端設(shè)備中還存在另外的要素。此夕卜,在本文中,“大于”、“小于”、“超過”等理解為不包括本數(shù);“以上”、“以下”、“以內(nèi)”等理解為包括本數(shù)。
[0059]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,上述各實(shí)施例可提供為方法、裝置、或計(jì)算機(jī)程序產(chǎn)品。這些實(shí)施例可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。上述各實(shí)施例涉及的方法中的全部或部分步驟可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲(chǔ)于計(jì)算機(jī)設(shè)備可讀取的存儲(chǔ)介質(zhì)中,用于執(zhí)行上述各實(shí)施例方法所述的全部或部分步驟。所述計(jì)算機(jī)設(shè)備,包括但不限于:個(gè)人計(jì)算機(jī)、服務(wù)器、通用計(jì)算機(jī)、專用計(jì)算機(jī)、網(wǎng)絡(luò)設(shè)備、嵌入式設(shè)備、可編程設(shè)備、智能移動(dòng)終端、智能家居設(shè)備、穿戴式智能設(shè)備、車載智能設(shè)備等;所述的存儲(chǔ)介質(zhì),包括但不限于:RAM、R0M、磁碟、磁帶、光盤、閃存、U盤、移動(dòng)硬盤、存儲(chǔ)卡、記憶棒、網(wǎng)絡(luò)服務(wù)器存儲(chǔ)、網(wǎng)絡(luò)云存儲(chǔ)等。
[0060]上述各實(shí)施例是參照根據(jù)實(shí)施例所述的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到計(jì)算機(jī)設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
[0061]這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)設(shè)備以特定方式工作的計(jì)算機(jī)設(shè)備可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)設(shè)備可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
[0062]這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)設(shè)備上,使得在計(jì)算機(jī)設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
[0063]盡管已經(jīng)對(duì)上述各實(shí)施例進(jìn)行了描述,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例做出另外的變更和修改,所以以上所述僅為本發(fā)明的實(shí)施例,并非因此限制本發(fā)明的專利保護(hù)范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種抓取熱歌的方法,其特征在于,包括如下步驟: 根據(jù)熱歌榜單的網(wǎng)絡(luò)地址獲取熱歌榜單的原始數(shù)據(jù); 根據(jù)網(wǎng)絡(luò)地址對(duì)應(yīng)的解析規(guī)則對(duì)原始數(shù)據(jù)進(jìn)行解析,得到熱歌榜單的目錄; 將熱歌榜單的目錄與預(yù)存的歌曲庫(kù)進(jìn)行對(duì)比,增加歌曲庫(kù)中缺少的歌曲。2.根據(jù)權(quán)利要求1所述的一種抓取熱歌的方法,其特征在于,所述解析規(guī)則包括: 將原始數(shù)據(jù)轉(zhuǎn)成字符串; 通過網(wǎng)頁(yè)腳本解析器將字符串轉(zhuǎn)化成規(guī)格文檔; 根據(jù)正則表達(dá)式逐層解析規(guī)格文檔得到熱歌榜單的目錄。3.根據(jù)權(quán)利要求2所述的一種抓取熱歌的方法,其特征在于,所述“根據(jù)熱歌榜單的網(wǎng)絡(luò)地址獲取熱歌榜單的原始數(shù)據(jù)”包括: 采用爬蟲工具,獲取全部所需的熱歌網(wǎng)址的原始數(shù)據(jù)。4.根據(jù)權(quán)利要求1所述的一種抓取熱歌的方法,其特征在于,所述“根據(jù)熱歌榜單的網(wǎng)絡(luò)地址獲取熱歌榜單的原始數(shù)據(jù)”步驟前還包括步驟: 檢測(cè)時(shí)間是否到達(dá)預(yù)設(shè)的執(zhí)行時(shí)間點(diǎn); 在時(shí)間到達(dá)預(yù)設(shè)的執(zhí)行時(shí)間點(diǎn)后,執(zhí)行“根據(jù)熱歌榜單的網(wǎng)絡(luò)地址獲取熱歌榜單的原始數(shù)據(jù)”的步驟。5.根據(jù)權(quán)利要求4所述的一種抓取熱歌的方法,其特征在于,所述執(zhí)行“根據(jù)熱歌榜單的網(wǎng)絡(luò)地址獲取熱歌榜單的原始數(shù)據(jù)”步驟包括: 使用應(yīng)用開發(fā)框架和任務(wù)調(diào)度框架執(zhí)行“根據(jù)熱歌榜單的網(wǎng)絡(luò)地址獲取熱歌榜單的原始數(shù)據(jù)”步驟。6.一種抓取熱歌的裝置,其特征在于,包括如下模塊: 原始數(shù)據(jù)獲取模塊:用于根據(jù)熱歌榜單的網(wǎng)絡(luò)地址獲取熱歌榜單的原始數(shù)據(jù); 原始數(shù)據(jù)解析模塊:用于根據(jù)網(wǎng)絡(luò)地址對(duì)應(yīng)的解析規(guī)則對(duì)原始數(shù)據(jù)進(jìn)行解析,得到熱歌榜單的目錄; 熱歌榜單比對(duì)模塊:用于將熱歌榜單的目錄與預(yù)存的歌曲庫(kù)進(jìn)行對(duì)比; 榜單歌曲增加模塊:用于增加歌曲庫(kù)中缺少的歌曲。7.根據(jù)權(quán)利要求6所述的一種抓取熱歌的裝置,其特征在于,所述解析規(guī)則包括: 將原始數(shù)據(jù)轉(zhuǎn)成字符串; 通過網(wǎng)頁(yè)腳本解析器將字符串轉(zhuǎn)化成規(guī)格文檔; 根據(jù)正則表達(dá)式逐層解析規(guī)格文檔得到熱歌榜單的目錄。8.根據(jù)權(quán)利要求7所述的一種抓取熱歌的裝置,其特征在于,所述原始數(shù)據(jù)獲取模塊還用于采用爬蟲工具,獲取全部所需的熱歌網(wǎng)址的原始數(shù)據(jù)。9.根據(jù)權(quán)利要求6所述的一種抓取熱歌的裝置,其特征在于,還包括模塊: 執(zhí)行時(shí)間檢測(cè)模塊:用于檢測(cè)時(shí)間是否到達(dá)預(yù)設(shè)的執(zhí)行時(shí)間點(diǎn); 抓取動(dòng)作執(zhí)行模塊:在時(shí)間到達(dá)預(yù)設(shè)的執(zhí)行時(shí)間點(diǎn)后,使能原始數(shù)據(jù)獲取模塊。10.根據(jù)權(quán)利要求9所述的一種抓取熱歌的裝置,其特征在于,所述抓取動(dòng)作執(zhí)行模塊還用于使用應(yīng)用開發(fā)框架和任務(wù)調(diào)度框架使能原始數(shù)據(jù)獲取模塊。
【文檔編號(hào)】G06F17/30GK105843921SQ201610177779
【公開日】2016年8月10日
【申請(qǐng)日】2016年3月25日
【發(fā)明人】陳開登, 馬利濱, 劉旺, 林劍宇, 林鎏娟
【申請(qǐng)人】福建星網(wǎng)視易信息系統(tǒng)有限公司