本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,具體而言,涉及一種網(wǎng)頁(yè)數(shù)據(jù)獲取方法和裝置。
背景技術(shù):
目前,在網(wǎng)頁(yè)數(shù)據(jù)處理領(lǐng)域,通常采用爬蟲(chóng)程序來(lái)爬取網(wǎng)頁(yè)數(shù)據(jù)。爬蟲(chóng)程序是一種自動(dòng)提取網(wǎng)頁(yè)數(shù)據(jù)的程序,開(kāi)發(fā)者可以使用爬蟲(chóng)程序下載到網(wǎng)頁(yè)數(shù)據(jù)并分析處理,為數(shù)據(jù)應(yīng)用服務(wù)提供基礎(chǔ),創(chuàng)造商業(yè)價(jià)值。然而,目前很多網(wǎng)站不僅需要對(duì)訪問(wèn)者進(jìn)行身份驗(yàn)證,而且會(huì)統(tǒng)計(jì)當(dāng)前登陸用戶在一定時(shí)間內(nèi)的對(duì)不同頁(yè)面的訪問(wèn)次數(shù),也即是這些網(wǎng)站采用了反爬蟲(chóng)策略來(lái)限制爬蟲(chóng)程序爬取網(wǎng)頁(yè)數(shù)據(jù),而這對(duì)網(wǎng)頁(yè)數(shù)據(jù)的爬取帶來(lái)了阻礙。當(dāng)用戶使用爬蟲(chóng)程序獲取某個(gè)特定網(wǎng)站系統(tǒng)的網(wǎng)頁(yè)數(shù)據(jù)時(shí),該爬蟲(chóng)程序通常會(huì)被網(wǎng)站系統(tǒng)的反爬蟲(chóng)策略識(shí)別為惡意訪客并采取多種措施阻止爬蟲(chóng)程序繼續(xù)訪問(wèn)。同時(shí),發(fā)明人發(fā)現(xiàn),即使爬蟲(chóng)程序利用在先注冊(cè)賬號(hào)登陸訪問(wèn)網(wǎng)站,也會(huì)受到訪問(wèn)次數(shù)的限制,這使得用戶難以快速獲取網(wǎng)站的網(wǎng)頁(yè)數(shù)據(jù)。
針對(duì)上述的問(wèn)題,目前尚未提出有效的解決方案。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種網(wǎng)頁(yè)數(shù)據(jù)獲取方法和裝置,以至少解決難以快速獲取網(wǎng)站的網(wǎng)頁(yè)數(shù)據(jù)的技術(shù)問(wèn)題。
根據(jù)本發(fā)明實(shí)施例的一個(gè)方面,提供了一種網(wǎng)頁(yè)數(shù)據(jù)獲取方法,包括:獲取多個(gè)賬號(hào),其中,所述多個(gè)賬號(hào)為具有目標(biāo)網(wǎng)站的登錄權(quán)限的賬號(hào);以及從所述多個(gè)賬號(hào)中選擇賬號(hào),利用選擇的賬號(hào)訪問(wèn)所述目標(biāo)網(wǎng)站的網(wǎng)頁(yè),爬取所述選擇的賬號(hào)所訪問(wèn)的網(wǎng)頁(yè)的網(wǎng)頁(yè)數(shù)據(jù),其中,相鄰兩次選擇的賬號(hào)不相同。
進(jìn)一步地,所述多個(gè)賬號(hào)的賬號(hào)數(shù)量為n,所述n大于等于2,從所述多個(gè)賬號(hào)中選擇賬號(hào),利用選擇的賬號(hào)訪問(wèn)所述目標(biāo)網(wǎng)站的網(wǎng)頁(yè),爬取所述選擇的賬號(hào)所訪問(wèn)的網(wǎng)頁(yè)的網(wǎng)頁(yè)數(shù)據(jù)包括:從所述多個(gè)賬號(hào)中選擇第i賬號(hào),利用所述第i賬號(hào)訪問(wèn)目標(biāo)網(wǎng)站的第j網(wǎng)頁(yè),其中,所述i=1,……n,所述j=1,2,3……,當(dāng)所述i大于或者等于2時(shí),所述第i賬號(hào)為與第i-1賬號(hào)不同的賬號(hào),當(dāng)所述j大于等于2時(shí),所述第j 網(wǎng)頁(yè)為所述目標(biāo)網(wǎng)站的一個(gè)或者多個(gè)網(wǎng)頁(yè),所述第j網(wǎng)頁(yè)為與第1網(wǎng)頁(yè)至第j-1網(wǎng)頁(yè)均不同的網(wǎng)頁(yè);爬取所述第j網(wǎng)頁(yè)的網(wǎng)頁(yè)數(shù)據(jù);判斷所述i是否等于所述n;如果判斷出所述i等于所述n,則將所述i的值置1,,所述j的值加1返回執(zhí)行從所述多個(gè)賬號(hào)中選擇第i賬號(hào),利用所述第i賬號(hào)訪問(wèn)目標(biāo)網(wǎng)站的第j網(wǎng)頁(yè)的步驟;如果判斷出所述i小于所述n,則所述i的值加1,所述j的值加1,并返回執(zhí)行從所述多個(gè)賬號(hào)中選擇第i賬號(hào),利用所述第i賬號(hào)訪問(wèn)目標(biāo)網(wǎng)站的第j網(wǎng)頁(yè)的步驟;判斷所述目標(biāo)網(wǎng)站的網(wǎng)頁(yè)數(shù)據(jù)的爬取量是否達(dá)到預(yù)設(shè)值;如果判斷出所述目標(biāo)網(wǎng)站的網(wǎng)頁(yè)數(shù)據(jù)的爬取量達(dá)到所述預(yù)設(shè)值,則停止所述目標(biāo)網(wǎng)站的網(wǎng)頁(yè)數(shù)據(jù)爬取。
進(jìn)一步地,在利用所述第i賬號(hào)訪問(wèn)目標(biāo)網(wǎng)站的第j網(wǎng)頁(yè)之后,所述方法還包括:對(duì)所述第j網(wǎng)頁(yè)進(jìn)行標(biāo)記,其中,標(biāo)記后的網(wǎng)頁(yè)后續(xù)不再訪問(wèn)。
進(jìn)一步地,獲取多個(gè)賬號(hào)包括:獲取配置文件,其中,所述配置文件中配置有所述多個(gè)賬號(hào)及其對(duì)應(yīng)的密碼;加載所述配置文件,獲取所述多個(gè)賬號(hào)及其對(duì)應(yīng)的密碼,其中,在獲取多個(gè)賬號(hào)之后,所述方法還包括:利用所述多個(gè)賬號(hào)及其對(duì)應(yīng)的密碼登陸所述目標(biāo)網(wǎng)站,并緩存識(shí)別信息,其中,所述識(shí)別信息為所述目標(biāo)網(wǎng)站識(shí)別所述多個(gè)賬號(hào)的信息。
進(jìn)一步地,利用選擇的賬號(hào)訪問(wèn)所述目標(biāo)網(wǎng)站的網(wǎng)頁(yè)包括:判斷所述選擇的賬號(hào)登陸所述目標(biāo)網(wǎng)站是否出現(xiàn)異常;如果判斷出所述選擇的賬號(hào)登陸所述目標(biāo)網(wǎng)站出現(xiàn)異常,則將登陸異常的賬號(hào)從所述多個(gè)賬號(hào)中移除,并重新從移除后的多個(gè)賬號(hào)中選擇賬號(hào);如果判斷所述選擇的賬號(hào)登陸所述目標(biāo)網(wǎng)站未出現(xiàn)異常,則利用所述選擇的賬號(hào)訪問(wèn)所述目標(biāo)網(wǎng)站的網(wǎng)頁(yè)。
根據(jù)本發(fā)明實(shí)施例的另一方面,還提供了一種網(wǎng)頁(yè)數(shù)據(jù)獲取裝置,包括:獲取單元,用于獲取多個(gè)賬號(hào),其中,所述多個(gè)賬號(hào)為具有目標(biāo)網(wǎng)站的登錄權(quán)限的賬號(hào);以及爬取單元,用于從所述多個(gè)賬號(hào)中選擇賬號(hào),利用選擇的賬號(hào)訪問(wèn)所述目標(biāo)網(wǎng)站的網(wǎng)頁(yè),爬取所述選擇的賬號(hào)所訪問(wèn)的網(wǎng)頁(yè)的網(wǎng)頁(yè)數(shù)據(jù),其中,相鄰兩次選擇的賬號(hào)不相同。
進(jìn)一步地,所述多個(gè)賬號(hào)的賬號(hào)數(shù)量為n,所述n大于等于2,所述爬取單元包括:第一訪問(wèn)模塊,用于從所述多個(gè)賬號(hào)中選擇第i賬號(hào),利用所述第i賬號(hào)訪問(wèn)目標(biāo)網(wǎng)站的第j網(wǎng)頁(yè),其中,所述i=1,……n,所述j=1,2,3……,當(dāng)所述i大于或者等于2時(shí),所述第i賬號(hào)為與第i-1賬號(hào)不同的賬號(hào),當(dāng)所述j大于等于2時(shí),所述第j網(wǎng)頁(yè)為所述目標(biāo)網(wǎng)站的一個(gè)或者多個(gè)網(wǎng)頁(yè),所述第j網(wǎng)頁(yè)為與第1網(wǎng)頁(yè)至第j-1網(wǎng)頁(yè)均不同的網(wǎng)頁(yè);爬取模塊,用于爬取所述第j網(wǎng)頁(yè)的網(wǎng)頁(yè)數(shù)據(jù);第一判斷模塊,用于判斷所述i是否等于所述n;第一訪問(wèn)模塊還用于如果判斷出所述i等于所述n,則將所 述i的值置1,所述j的值加1,從所述多個(gè)賬號(hào)中選擇第i賬號(hào),利用所述第i賬號(hào)訪問(wèn)目標(biāo)網(wǎng)站的第j網(wǎng)頁(yè);第一訪問(wèn)模塊還用于如果判斷出所述i小于所述n,則所述i的值加1,所述j的值加1,從所述多個(gè)賬號(hào)中選擇第i賬號(hào),利用所述第i賬號(hào)訪問(wèn)目標(biāo)網(wǎng)站的第j網(wǎng)頁(yè);第二判斷模塊,用于判斷所述目標(biāo)網(wǎng)站的網(wǎng)頁(yè)數(shù)據(jù)的爬取量是否達(dá)到預(yù)設(shè)值;停止模塊,用于如果判斷出所述目標(biāo)網(wǎng)站的網(wǎng)頁(yè)數(shù)據(jù)的爬取量達(dá)到所述預(yù)設(shè)值,則停止所述目標(biāo)網(wǎng)站的網(wǎng)頁(yè)數(shù)據(jù)爬取。
進(jìn)一步地,所述裝置還包括:標(biāo)記單元,用于在利用所述第i賬號(hào)訪問(wèn)目標(biāo)網(wǎng)站的第j網(wǎng)頁(yè)之后,對(duì)所述第j網(wǎng)頁(yè)進(jìn)行標(biāo)記,其中,標(biāo)記后的網(wǎng)頁(yè)后續(xù)不再訪問(wèn)。
進(jìn)一步地,所述獲取單元包括:獲取模塊,用于獲取配置文件,其中,所述配置文件中配置有所述多個(gè)賬號(hào)及其對(duì)應(yīng)的密碼;加載模塊,用于加載所述配置文件,獲取所述多個(gè)賬號(hào)及其對(duì)應(yīng)的密碼,其中,所述裝置還包括:登錄單元,用于在獲取多個(gè)賬號(hào)之后,利用所述多個(gè)賬號(hào)及其對(duì)應(yīng)的密碼登陸所述目標(biāo)網(wǎng)站,并緩存識(shí)別信息,其中,所述識(shí)別信息為所述目標(biāo)網(wǎng)站識(shí)別所述多個(gè)賬號(hào)的信息。
進(jìn)一步地,所述爬取單元包括:第三判斷模塊,用于判斷所述選擇的賬號(hào)登陸所述目標(biāo)網(wǎng)站是否出現(xiàn)異常;移除模塊,用于如果判斷出所述選擇的賬號(hào)登陸所述目標(biāo)網(wǎng)站出現(xiàn)異常,則將登陸異常的賬號(hào)從所述多個(gè)賬號(hào)中移除,并重新從移除后的多個(gè)賬號(hào)中選擇賬號(hào);第二訪問(wèn)模塊,用于如果判斷所述選擇的賬號(hào)登陸所述目標(biāo)網(wǎng)站未出現(xiàn)異常,則利用所述選擇的賬號(hào)訪問(wèn)所述目標(biāo)網(wǎng)站的網(wǎng)頁(yè)。
根據(jù)本發(fā)明實(shí)施例,通過(guò)獲取多個(gè)賬號(hào),每次從多個(gè)賬號(hào)中選擇賬號(hào)來(lái)訪問(wèn)目標(biāo)網(wǎng)站,爬取目標(biāo)網(wǎng)站的網(wǎng)頁(yè)數(shù)據(jù),可以避免由于網(wǎng)站對(duì)賬號(hào)訪問(wèn)的限制策略阻礙網(wǎng)頁(yè)數(shù)據(jù)的獲取,解決了難以快速獲取網(wǎng)站的網(wǎng)頁(yè)數(shù)據(jù)的技術(shù)問(wèn)題,達(dá)到了快速獲取網(wǎng)站的網(wǎng)頁(yè)數(shù)據(jù)的效果。
附圖說(shuō)明
此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
圖1是根據(jù)本發(fā)明實(shí)施例的網(wǎng)頁(yè)數(shù)據(jù)獲取方法的流程圖;
圖2是根據(jù)本發(fā)明實(shí)施例優(yōu)選的網(wǎng)頁(yè)數(shù)據(jù)獲取方法的流程圖;以及
圖3是根據(jù)本發(fā)明實(shí)施例的網(wǎng)頁(yè)數(shù)據(jù)獲取裝置的示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分的實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
需要說(shuō)明的是,本發(fā)明的說(shuō)明書(shū)和權(quán)利要求書(shū)及上述附圖中的術(shù)語(yǔ)“第一”、“第二”等是用于區(qū)別類似的對(duì)象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實(shí)施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語(yǔ)“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過(guò)程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒(méi)有清楚地列出的或?qū)τ谶@些過(guò)程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
根據(jù)本發(fā)明實(shí)施例,提供了一種網(wǎng)頁(yè)數(shù)據(jù)獲取方法的實(shí)施例,該網(wǎng)頁(yè)數(shù)據(jù)獲取方法可以用于從目標(biāo)網(wǎng)站上爬取網(wǎng)頁(yè)數(shù)據(jù),尤其是對(duì)于具有反爬蟲(chóng)策略的目標(biāo)網(wǎng)站,其網(wǎng)頁(yè)數(shù)據(jù)爬取的效果更加顯著。
需要說(shuō)明的是,在附圖的流程圖示出的步驟可以在諸如一組計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
圖1是根據(jù)本發(fā)明實(shí)施例的網(wǎng)頁(yè)數(shù)據(jù)獲取方法的流程圖,如圖1所示,該方法包括如下步驟:
步驟S102,獲取多個(gè)賬號(hào),其中,多個(gè)賬號(hào)為具有目標(biāo)網(wǎng)站的登錄權(quán)限的賬號(hào)。
步驟S104,從多個(gè)賬號(hào)中選擇賬號(hào),利用選擇的賬號(hào)訪問(wèn)目標(biāo)網(wǎng)站的網(wǎng)頁(yè),爬取選擇的賬號(hào)所訪問(wèn)的網(wǎng)頁(yè)的網(wǎng)頁(yè)數(shù)據(jù),其中,相鄰兩次選擇的賬號(hào)不相同。
目標(biāo)網(wǎng)站為需要獲取網(wǎng)頁(yè)數(shù)據(jù)的網(wǎng)站,預(yù)先在該網(wǎng)站上注冊(cè)多個(gè)賬號(hào),以獲得該網(wǎng)站的登錄權(quán)限。在獲取目標(biāo)網(wǎng)站的網(wǎng)頁(yè)數(shù)據(jù)時(shí),先獲取多個(gè)賬號(hào),然后可以依次從多個(gè)賬號(hào)中選擇賬號(hào)來(lái)訪問(wèn)目標(biāo)網(wǎng)站的網(wǎng)頁(yè),然后爬取訪問(wèn)的網(wǎng)頁(yè)的網(wǎng)頁(yè)數(shù)據(jù)。
本發(fā)明實(shí)施例中,可以采用爬蟲(chóng)程序來(lái)爬取網(wǎng)頁(yè)數(shù)據(jù),多個(gè)賬號(hào)可以配置在配置文件中,由爬蟲(chóng)程序從該配置文件中加載數(shù)據(jù),獲取多個(gè)賬號(hào)及其對(duì)應(yīng)的密碼。對(duì)于賬號(hào)的選擇可以按照預(yù)先設(shè)置的規(guī)則來(lái)選擇,該規(guī)則可以是每次從多個(gè)賬號(hào)中隨機(jī)選 擇與上一次不相同的賬號(hào)來(lái)訪問(wèn)目標(biāo)網(wǎng)站,也可以是按照固定順序從多個(gè)賬號(hào)中選擇賬號(hào)訪問(wèn)目標(biāo)網(wǎng)站。每次選擇的賬號(hào)可以訪問(wèn)一個(gè)或者多個(gè)目標(biāo)網(wǎng)站的網(wǎng)頁(yè),其中,當(dāng)每個(gè)賬號(hào)訪問(wèn)多個(gè)目標(biāo)網(wǎng)站的網(wǎng)頁(yè)時(shí),訪問(wèn)的網(wǎng)頁(yè)數(shù)量可以相同,也可以不相同。優(yōu)選地,為了避免賬號(hào)被網(wǎng)站系統(tǒng)限制,每次選擇的賬號(hào)訪問(wèn)目標(biāo)網(wǎng)站的一個(gè)網(wǎng)頁(yè);或者,當(dāng)每次選擇的賬號(hào)訪問(wèn)目標(biāo)網(wǎng)站多個(gè)網(wǎng)頁(yè)時(shí),所訪問(wèn)的網(wǎng)頁(yè)數(shù)量低于該網(wǎng)站在預(yù)設(shè)時(shí)間內(nèi)所限制訪問(wèn)的次數(shù)。例如,當(dāng)目標(biāo)網(wǎng)站的限制策略為單個(gè)賬號(hào)在5分鐘內(nèi)發(fā)起訪問(wèn)請(qǐng)求的次數(shù)不能超過(guò)30次,因此,在選擇賬號(hào)后,限制該選擇的賬號(hào)在當(dāng)前被選擇的狀態(tài)下訪問(wèn)目標(biāo)網(wǎng)站的網(wǎng)頁(yè)數(shù)量低于30。另外,為了避免多個(gè)賬號(hào)同時(shí)訪問(wèn)相同的網(wǎng)頁(yè),本發(fā)明的實(shí)施例中優(yōu)選每次選擇一個(gè)賬號(hào)進(jìn)行網(wǎng)頁(yè)訪問(wèn)。在每次訪問(wèn)網(wǎng)頁(yè)之后,記錄當(dāng)前訪問(wèn)的網(wǎng)頁(yè)的位置,或者對(duì)訪問(wèn)過(guò)的網(wǎng)頁(yè)進(jìn)行標(biāo)記,避免后續(xù)賬號(hào)訪問(wèn)之前已經(jīng)訪問(wèn)過(guò)的網(wǎng)頁(yè)。
根據(jù)本發(fā)明實(shí)施例,通過(guò)獲取多個(gè)賬號(hào),每次從多個(gè)賬號(hào)中選擇賬號(hào)來(lái)訪問(wèn)目標(biāo)網(wǎng)站,爬取目標(biāo)網(wǎng)站的網(wǎng)頁(yè)數(shù)據(jù),可以避免由于網(wǎng)站對(duì)賬號(hào)訪問(wèn)的限制策略阻礙網(wǎng)頁(yè)數(shù)據(jù)的獲取,解決了難以快速獲取網(wǎng)站的網(wǎng)頁(yè)數(shù)據(jù)的技術(shù)問(wèn)題,達(dá)到了快速獲取網(wǎng)站的網(wǎng)頁(yè)數(shù)據(jù)的效果。
對(duì)于采用單位時(shí)間內(nèi)定期執(zhí)行任務(wù)的方式,由于受到時(shí)間的限制,其網(wǎng)頁(yè)數(shù)據(jù)獲取的效率低。本發(fā)明實(shí)施例則可以利用多個(gè)賬號(hào)的輪換不斷地獲取網(wǎng)頁(yè)數(shù)據(jù),不受時(shí)間的影響,相對(duì)于采用單位時(shí)間內(nèi)定期執(zhí)行任務(wù)的方式,網(wǎng)頁(yè)數(shù)據(jù)獲取的效率更高。
圖2是根據(jù)本發(fā)明實(shí)施例優(yōu)選的網(wǎng)頁(yè)數(shù)據(jù)獲取方法的流程圖。該實(shí)施例的方法可以作為上述實(shí)施例的一種優(yōu)選實(shí)施方式。多個(gè)賬號(hào)的賬號(hào)數(shù)量為n,n為大于等于2的自然數(shù)。
如圖2所示,該方法包括:
步驟S202,獲取多個(gè)賬號(hào)。其中,多個(gè)賬號(hào)為具有目標(biāo)網(wǎng)站的登錄權(quán)限的賬號(hào)。
步驟S204,從多個(gè)賬號(hào)中選擇第i賬號(hào),利用第i賬號(hào)訪問(wèn)目標(biāo)網(wǎng)站的第j網(wǎng)頁(yè)。其中,i=1,……n,j=1,2,3……,當(dāng)i大于等于2時(shí),第i賬號(hào)為與第i-1賬號(hào)不同的賬號(hào),當(dāng)j大于等于2時(shí),第j網(wǎng)頁(yè)為目標(biāo)網(wǎng)站的一個(gè)或者多個(gè)網(wǎng)頁(yè),第j網(wǎng)頁(yè)為與第1網(wǎng)頁(yè)至第j-1網(wǎng)頁(yè)均不同的網(wǎng)頁(yè)。這里的i遍歷1至n中每一個(gè)自然數(shù),j為自然數(shù)。
步驟S206,爬取第j網(wǎng)頁(yè)的網(wǎng)頁(yè)數(shù)據(jù)。
步驟S208,判斷i是否等于n。
步驟S210,如果判斷出i等于n,則將i的值置1,j的值加1,返回執(zhí)行從多個(gè)賬號(hào)中選擇第i賬號(hào),利用第i賬號(hào)訪問(wèn)目標(biāo)網(wǎng)站的第j網(wǎng)頁(yè)的步驟。
步驟S212,如果判斷出i小于n,則i的值加1,j的值加1,并返回執(zhí)行從多個(gè)賬號(hào)中選擇第i賬號(hào),利用第i賬號(hào)訪問(wèn)目標(biāo)網(wǎng)站的第j網(wǎng)頁(yè)的步驟。
步驟S214,判斷目標(biāo)網(wǎng)站的網(wǎng)頁(yè)數(shù)據(jù)的爬取量是否達(dá)到預(yù)設(shè)值。
步驟S216,如果判斷出目標(biāo)網(wǎng)站的網(wǎng)頁(yè)數(shù)據(jù)的爬取量達(dá)到預(yù)設(shè)值,則停止目標(biāo)網(wǎng)站的網(wǎng)頁(yè)數(shù)據(jù)爬取。
可選地,本發(fā)明實(shí)施例的步驟S214中的預(yù)設(shè)值可以根據(jù)需要進(jìn)行設(shè)置,可以設(shè)置為目標(biāo)網(wǎng)站的全部網(wǎng)頁(yè)數(shù)據(jù)、一個(gè)設(shè)定的數(shù)值或目標(biāo)網(wǎng)站全部網(wǎng)頁(yè)數(shù)據(jù)的預(yù)設(shè)比例(如目標(biāo)網(wǎng)站全部網(wǎng)頁(yè)數(shù)據(jù)的95%)等。
本實(shí)施例中,可以是在每次爬取到網(wǎng)頁(yè)數(shù)據(jù)之后判斷目標(biāo)網(wǎng)站的網(wǎng)頁(yè)數(shù)據(jù)的爬取量是否達(dá)到預(yù)設(shè)值,如果目標(biāo)網(wǎng)站的網(wǎng)頁(yè)數(shù)據(jù)的爬取量已經(jīng)達(dá)到預(yù)設(shè)值,則可以終止爬取任務(wù)。
例如,以10個(gè)賬號(hào)為例,從第1個(gè)賬號(hào)開(kāi)始,訪問(wèn)目標(biāo)網(wǎng)站的網(wǎng)頁(yè),并爬取網(wǎng)頁(yè)數(shù)據(jù),輪詢遍歷到第10個(gè)賬號(hào)后,如果網(wǎng)頁(yè)數(shù)據(jù)還沒(méi)有爬取完,則從第1個(gè)賬號(hào)重新開(kāi)始,訪問(wèn)目標(biāo)網(wǎng)站的網(wǎng)頁(yè),繼續(xù)爬取網(wǎng)頁(yè)數(shù)據(jù)。
本實(shí)施例中,利用多個(gè)賬號(hào)輪換并循環(huán)獲取網(wǎng)頁(yè)數(shù)據(jù),從而提高了賬號(hào)的利用率,且提高了網(wǎng)頁(yè)數(shù)據(jù)的爬取效率。
優(yōu)選地,在利用第i賬號(hào)訪問(wèn)目標(biāo)網(wǎng)站的第j網(wǎng)頁(yè)之后,方法還包括:對(duì)第j網(wǎng)頁(yè)進(jìn)行標(biāo)記,其中,標(biāo)記后的網(wǎng)頁(yè)后續(xù)不再訪問(wèn)。
本實(shí)施例中,在每次訪問(wèn)目標(biāo)網(wǎng)站的網(wǎng)頁(yè)之后,對(duì)訪問(wèn)過(guò)的網(wǎng)頁(yè)進(jìn)行標(biāo)記,在爬取完上述網(wǎng)頁(yè)的網(wǎng)頁(yè)數(shù)據(jù)之后,如果網(wǎng)站的網(wǎng)頁(yè)數(shù)據(jù)未爬取完,則再次選擇賬號(hào),訪問(wèn)未被標(biāo)記的網(wǎng)頁(yè)。這樣,通過(guò)對(duì)已經(jīng)訪問(wèn)過(guò)的網(wǎng)頁(yè)進(jìn)行標(biāo)記,從而避免重復(fù)訪問(wèn)相同的網(wǎng)頁(yè),獲取相同的網(wǎng)頁(yè)數(shù)據(jù)。
優(yōu)選地,獲取多個(gè)賬號(hào)包括:獲取配置文件,其中,配置文件中配置有多個(gè)賬號(hào)及其對(duì)應(yīng)的密碼;加載配置文件,獲取多個(gè)賬號(hào)及其對(duì)應(yīng)的密碼,其中,在獲取多個(gè)賬號(hào)之后,方法還包括:利用多個(gè)賬號(hào)及其對(duì)應(yīng)的密碼登陸目標(biāo)網(wǎng)站,并緩存識(shí)別信息,其中,識(shí)別信息為目標(biāo)網(wǎng)站識(shí)別多個(gè)賬號(hào)的信息。
本發(fā)明實(shí)施例中,將多個(gè)賬號(hào)及其對(duì)應(yīng)的密碼配置在配置文件中,通過(guò)獲取該配 置文件,并加載其中的數(shù)據(jù)以獲取多個(gè)賬號(hào)及其對(duì)應(yīng)的密碼。其中,配置文件可以是默認(rèn)的配置文件,也可以是外部配置的配置文件,配置文件中的賬號(hào)的數(shù)量可以根據(jù)需求進(jìn)行配置。
在獲取到多個(gè)賬號(hào)之后,可以利用該多個(gè)賬號(hào)模擬登錄目標(biāo)網(wǎng)站,并緩存登錄的識(shí)別信息,以便于后續(xù)對(duì)目標(biāo)網(wǎng)站的訪問(wèn)免登錄。其中,識(shí)別信息可以是例如cookie等信息。
以爬蟲(chóng)程序?yàn)槔?,爬蟲(chóng)程序可以在獲取第一個(gè)登陸賬號(hào)時(shí)加載配置文件中的數(shù)據(jù),若用戶未提供外部配置文件,爬蟲(chóng)程序?qū)⒓虞d默認(rèn)配置文件,為保證外部系統(tǒng)并發(fā)訪問(wèn)爬蟲(chóng)程序,此過(guò)程可以均采用ReentrantLock機(jī)制,成功獲取賬號(hào)后,記錄獲取到的賬號(hào)對(duì)應(yīng)的位置,從而在下一次獲取賬號(hào)時(shí)可以獲取記錄的位置的下一個(gè)位置對(duì)應(yīng)的賬號(hào)。
在獲取到多個(gè)賬號(hào)之后,利用獲取到的賬號(hào)密碼進(jìn)行模擬登陸,并緩存cookie,以備下次需要使用該賬號(hào)時(shí)免登陸,此過(guò)程同樣可以采用ReentrantLock機(jī)制。
本發(fā)明實(shí)施例中,通過(guò)利用配置文件來(lái)獲取多個(gè)賬號(hào),這樣,可以根據(jù)網(wǎng)頁(yè)數(shù)據(jù)爬取量來(lái)配置賬號(hào)的數(shù)量。另外,通過(guò)模擬登錄,并存儲(chǔ)識(shí)別信息,使得下次登錄時(shí)無(wú)需登錄直接進(jìn)行訪問(wèn)。
優(yōu)選地,利用選擇的賬號(hào)訪問(wèn)目標(biāo)網(wǎng)站的網(wǎng)頁(yè)包括:判斷選擇的賬號(hào)登陸目標(biāo)網(wǎng)站是否出現(xiàn)異常;如果判斷出選擇的賬號(hào)登陸目標(biāo)網(wǎng)站出現(xiàn)異常,則將登陸異常的賬號(hào)從多個(gè)賬號(hào)中移除,并重新從移除后的多個(gè)賬號(hào)中選擇賬號(hào);如果判斷選擇的賬號(hào)登陸目標(biāo)網(wǎng)站未出現(xiàn)異常,則利用選擇的賬號(hào)訪問(wèn)目標(biāo)網(wǎng)站的網(wǎng)頁(yè)。
由于在網(wǎng)頁(yè)數(shù)據(jù)獲取過(guò)程中,可能會(huì)存在賬號(hào)登陸異常,或者,賬號(hào)被網(wǎng)站限制訪問(wèn),因此,在利用賬號(hào)訪問(wèn)目標(biāo)網(wǎng)站時(shí),可以先判斷該賬號(hào)是否出現(xiàn)登錄異常,如果出現(xiàn)異常,則將該賬號(hào)從上述多個(gè)賬號(hào)中移除,避免下次使用到該賬號(hào),并重新選擇賬號(hào)訪問(wèn)目標(biāo)網(wǎng)站的網(wǎng)頁(yè),如果未出現(xiàn)異常,則可以用該選擇的賬號(hào)繼續(xù)訪問(wèn)目標(biāo)網(wǎng)站。
進(jìn)一步地,若在此過(guò)程中因?yàn)榈顷戀~號(hào)異常導(dǎo)致獲取數(shù)據(jù)失敗,則會(huì)將當(dāng)前登陸賬號(hào)從系統(tǒng)中的賬號(hào)組中暫時(shí)移除,避免下次使用到此賬號(hào),休息一段時(shí)間后,還可以將該賬號(hào)添加進(jìn)賬號(hào)組執(zhí)行爬取任務(wù)。
本發(fā)明實(shí)施例還提供了一種網(wǎng)頁(yè)數(shù)據(jù)獲取裝置,該裝置可以用于執(zhí)行本發(fā)明上述實(shí)施例的網(wǎng)頁(yè)數(shù)據(jù)獲取方法。
圖3是根據(jù)本發(fā)明實(shí)施例的網(wǎng)頁(yè)數(shù)據(jù)獲取裝置的示意圖。如圖3所示,該網(wǎng)頁(yè)數(shù)據(jù)獲取裝置包括:獲取單元10和爬取單元20。
獲取單元10用于獲取多個(gè)賬號(hào),其中,多個(gè)賬號(hào)為具有目標(biāo)網(wǎng)站的登錄權(quán)限的賬號(hào)。
爬取單元20用于從多個(gè)賬號(hào)中選擇賬號(hào),利用選擇的賬號(hào)訪問(wèn)目標(biāo)網(wǎng)站的網(wǎng)頁(yè),爬取選擇的賬號(hào)所訪問(wèn)的網(wǎng)頁(yè)的網(wǎng)頁(yè)數(shù)據(jù),其中,相鄰兩次選擇的賬號(hào)不相同。
目標(biāo)網(wǎng)站為需要獲取網(wǎng)頁(yè)數(shù)據(jù)的網(wǎng)站,預(yù)先在該網(wǎng)站上注冊(cè)多個(gè)賬號(hào),以獲得該網(wǎng)站的登錄權(quán)限。在獲取目標(biāo)網(wǎng)站的網(wǎng)頁(yè)數(shù)據(jù)時(shí),先獲取多個(gè)賬號(hào),然后依次從多個(gè)賬號(hào)中選擇賬號(hào)來(lái)訪問(wèn)目標(biāo)網(wǎng)站的網(wǎng)頁(yè),然后爬取訪問(wèn)的網(wǎng)頁(yè)的網(wǎng)頁(yè)數(shù)據(jù)。
本發(fā)明實(shí)施例中,可以采用爬蟲(chóng)程序來(lái)爬取網(wǎng)頁(yè)數(shù)據(jù),多個(gè)賬號(hào)可以配置在配置文件中,由爬蟲(chóng)程序從該配置文件中加載數(shù)據(jù),獲取多個(gè)賬號(hào)及其對(duì)應(yīng)的密碼。對(duì)于賬號(hào)的選擇可以按照預(yù)先設(shè)置的規(guī)則來(lái)選擇,該規(guī)則可以是每次從多個(gè)賬號(hào)中隨機(jī)選擇與上一次不相同的賬號(hào)來(lái)訪問(wèn)目標(biāo)網(wǎng)站,也可以是按照固定順序從多個(gè)賬號(hào)中選擇賬號(hào)訪問(wèn)目標(biāo)網(wǎng)站。每次選擇的賬號(hào)可以訪問(wèn)一個(gè)或者多個(gè)目標(biāo)網(wǎng)站的網(wǎng)頁(yè),其中,當(dāng)每個(gè)賬號(hào)訪問(wèn)多個(gè)目標(biāo)網(wǎng)站的網(wǎng)頁(yè)時(shí),訪問(wèn)的網(wǎng)頁(yè)數(shù)量可以相同,也可以不相同。優(yōu)選地,為了避免賬號(hào)被網(wǎng)站系統(tǒng)限制,每次選擇的賬號(hào)訪問(wèn)目標(biāo)網(wǎng)站的一個(gè)網(wǎng)頁(yè);或者,當(dāng)每次選擇的賬號(hào)訪問(wèn)目標(biāo)網(wǎng)站多個(gè)網(wǎng)頁(yè)時(shí),所訪問(wèn)的網(wǎng)頁(yè)數(shù)量低于該網(wǎng)站在預(yù)設(shè)時(shí)間內(nèi)所限制訪問(wèn)的次數(shù)。例如,當(dāng)目標(biāo)網(wǎng)站的限制策略為單個(gè)賬號(hào)在5分鐘內(nèi)發(fā)起訪問(wèn)請(qǐng)求的次數(shù)不能超過(guò)30次,因此,在選擇賬號(hào)后,限制該選擇的賬號(hào)在當(dāng)前被選擇的狀態(tài)下訪問(wèn)目標(biāo)網(wǎng)站的網(wǎng)頁(yè)數(shù)量低于30。另外,為了避免多個(gè)賬號(hào)同時(shí)訪問(wèn)相同的網(wǎng)頁(yè),本發(fā)明的實(shí)施例中優(yōu)選每次選擇一個(gè)賬號(hào)進(jìn)行網(wǎng)頁(yè)訪問(wèn)。在每次訪問(wèn)網(wǎng)頁(yè)之后,記錄當(dāng)前訪問(wèn)的網(wǎng)頁(yè)的位置,或者對(duì)訪問(wèn)過(guò)的網(wǎng)頁(yè)進(jìn)行標(biāo)記,避免后續(xù)賬號(hào)訪問(wèn)之前已經(jīng)訪問(wèn)過(guò)的網(wǎng)頁(yè)。
根據(jù)本發(fā)明實(shí)施例,通過(guò)獲取多個(gè)賬號(hào),每次從多個(gè)賬號(hào)中選擇賬號(hào)來(lái)訪問(wèn)目標(biāo)網(wǎng)站,爬取目標(biāo)網(wǎng)站的網(wǎng)頁(yè)數(shù)據(jù),可以避免由于網(wǎng)站對(duì)賬號(hào)訪問(wèn)的限制策略阻礙網(wǎng)頁(yè)數(shù)據(jù)的獲取,解決了難以快速獲取網(wǎng)站的網(wǎng)頁(yè)數(shù)據(jù)的技術(shù)問(wèn)題,達(dá)到了快速獲取網(wǎng)站的網(wǎng)頁(yè)數(shù)據(jù)的效果。
對(duì)于采用單位時(shí)間內(nèi)定期執(zhí)行任務(wù)的方式,由于受到時(shí)間的限制,其網(wǎng)頁(yè)數(shù)據(jù)獲取的效率低。本發(fā)明實(shí)施例則可以利用多個(gè)賬號(hào)的輪換不斷地獲取網(wǎng)頁(yè)數(shù)據(jù),不受時(shí)間的影響,相對(duì)于采用單位時(shí)間內(nèi)定期執(zhí)行任務(wù)的方式,網(wǎng)頁(yè)數(shù)據(jù)獲取的效率更高。
優(yōu)選地,多個(gè)賬號(hào)的賬號(hào)數(shù)量為n,n大于等于2,爬取單元包括:第一訪問(wèn)模塊, 用于從多個(gè)賬號(hào)中選擇第i賬號(hào),利用第i賬號(hào)訪問(wèn)目標(biāo)網(wǎng)站的第j網(wǎng)頁(yè),其中,i=1,……n,j=1,2,3……,當(dāng)i大于等于2時(shí),第i賬號(hào)為與第i-1賬號(hào)不同的賬號(hào),當(dāng)j大于等于2時(shí),第j網(wǎng)頁(yè)為目標(biāo)網(wǎng)站的一個(gè)或者多個(gè)網(wǎng)頁(yè),第j網(wǎng)頁(yè)為與第1網(wǎng)頁(yè)至第j-1網(wǎng)頁(yè)均不同的網(wǎng)頁(yè);爬取模塊,用于爬取第j網(wǎng)頁(yè)的網(wǎng)頁(yè)數(shù)據(jù);第一判斷模塊,用于判斷i是否等于n;第一訪問(wèn)模塊還用于如果判斷出i等于n,則將i的值置1,j的值加1,從多個(gè)賬號(hào)中選擇第i賬號(hào),利用第i賬號(hào)訪問(wèn)目標(biāo)網(wǎng)站的第j網(wǎng)頁(yè);第一訪問(wèn)模塊還用于如果判斷出i小于n,則i的值加1,j的值加1,從多個(gè)賬號(hào)中選擇第i賬號(hào),利用第i賬號(hào)訪問(wèn)目標(biāo)網(wǎng)站的第j網(wǎng)頁(yè);第二判斷模塊,用于判斷目標(biāo)網(wǎng)站的網(wǎng)頁(yè)數(shù)據(jù)的爬取量是否達(dá)到預(yù)設(shè)值;停止模塊,用于如果判斷出目標(biāo)網(wǎng)站的網(wǎng)頁(yè)數(shù)據(jù)的爬取量達(dá)到預(yù)設(shè)值,則停止目標(biāo)網(wǎng)站的網(wǎng)頁(yè)數(shù)據(jù)爬取。
本實(shí)施例中,可以是在每次爬取到網(wǎng)頁(yè)數(shù)據(jù)之后判斷目標(biāo)網(wǎng)站的網(wǎng)頁(yè)數(shù)據(jù)的爬取量是否達(dá)到預(yù)設(shè)值,如果目標(biāo)網(wǎng)站的網(wǎng)頁(yè)數(shù)據(jù)的爬取量已經(jīng)達(dá)到預(yù)設(shè)值,則可以終止爬取任務(wù)。
例如,以10個(gè)賬號(hào)為例,從第1個(gè)賬號(hào)開(kāi)始,訪問(wèn)目標(biāo)網(wǎng)站的網(wǎng)頁(yè),并爬取網(wǎng)頁(yè)數(shù)據(jù),輪詢遍歷到第10個(gè)賬號(hào)后,如果網(wǎng)頁(yè)數(shù)據(jù)還沒(méi)有爬取完,則從第1個(gè)賬號(hào)重新開(kāi)始,訪問(wèn)目標(biāo)網(wǎng)站的網(wǎng)頁(yè),繼續(xù)爬取網(wǎng)頁(yè)數(shù)據(jù)。
本實(shí)施例中,利用多個(gè)賬號(hào)輪換并循環(huán)獲取網(wǎng)頁(yè)數(shù)據(jù),從而提高了賬號(hào)的利用率,且提高了網(wǎng)頁(yè)數(shù)據(jù)的爬取效率。
優(yōu)選地,裝置還包括:標(biāo)記單元,用于在利用第i賬號(hào)訪問(wèn)目標(biāo)網(wǎng)站的第j網(wǎng)頁(yè)之后,對(duì)第j網(wǎng)頁(yè)進(jìn)行標(biāo)記,其中,標(biāo)記后的網(wǎng)頁(yè)后續(xù)不再訪問(wèn)。
本實(shí)施例中,在每次訪問(wèn)目標(biāo)網(wǎng)站的網(wǎng)頁(yè)之后,對(duì)訪問(wèn)過(guò)的網(wǎng)頁(yè)進(jìn)行標(biāo)記,在爬取完上述網(wǎng)頁(yè)的網(wǎng)頁(yè)數(shù)據(jù)之后,如果網(wǎng)站的網(wǎng)頁(yè)數(shù)據(jù)未爬取完,則再次選擇賬號(hào),訪問(wèn)未被標(biāo)記的網(wǎng)頁(yè)。這樣,通過(guò)對(duì)已經(jīng)訪問(wèn)過(guò)的網(wǎng)頁(yè)進(jìn)行標(biāo)記,從而避免重復(fù)訪問(wèn)相同的網(wǎng)頁(yè),獲取相同的網(wǎng)頁(yè)數(shù)據(jù)。
優(yōu)選地,獲取單元包括:獲取模塊,用于獲取配置文件,其中,配置文件中配置有多個(gè)賬號(hào)及其對(duì)應(yīng)的密碼;加載模塊,用于加載配置文件,獲取多個(gè)賬號(hào)及其對(duì)應(yīng)的密碼,其中,裝置還包括:登錄單元,用于在獲取多個(gè)賬號(hào)之后,利用多個(gè)賬號(hào)及其對(duì)應(yīng)的密碼登陸目標(biāo)網(wǎng)站,并緩存識(shí)別信息,其中,識(shí)別信息為目標(biāo)網(wǎng)站識(shí)別多個(gè)賬號(hào)的信息。
本發(fā)明實(shí)施例中,將多個(gè)賬號(hào)及其對(duì)應(yīng)的密碼配置在配置文件中,通過(guò)獲取該配置文件,并加載其中的數(shù)據(jù)以獲取多個(gè)賬號(hào)及其對(duì)應(yīng)的密碼。其中,配置文件可以是 默認(rèn)的配置文件,也可以是外部配置的配置文件,配置文件中的賬號(hào)的數(shù)量可以根據(jù)需求進(jìn)行配置。
在獲取到多個(gè)賬號(hào)之后,可以利用該多個(gè)賬號(hào)模擬登錄目標(biāo)網(wǎng)站,并緩存登錄的識(shí)別信息,以便于后續(xù)對(duì)目標(biāo)網(wǎng)站的訪問(wèn)免登錄。其中,識(shí)別信息可以是例如cookie等信息。
以爬蟲(chóng)程序?yàn)槔老x(chóng)程序可以在獲取第一個(gè)登陸賬號(hào)時(shí)加載配置文件中的數(shù)據(jù),若用戶未提供外部配置文件,爬蟲(chóng)程序?qū)⒓虞d默認(rèn)配置文件,為保證外部系統(tǒng)并發(fā)訪問(wèn)爬蟲(chóng)程序,此過(guò)程可以均采用ReentrantLock機(jī)制,成功獲取賬號(hào)后,記錄位置,保證下一次獲取賬號(hào)時(shí)輪遞個(gè)下一個(gè)賬號(hào)
在獲取到多個(gè)賬號(hào)之后,利用獲取到的賬號(hào)密碼進(jìn)行模擬登陸,并緩存cookie,以備下次需要使用該賬號(hào)時(shí)免登陸,此過(guò)程同樣可以采用ReentrantLock機(jī)制。
本發(fā)明實(shí)施例中,通過(guò)利用配置文件來(lái)獲取多個(gè)賬號(hào),這樣,可以根據(jù)網(wǎng)頁(yè)數(shù)據(jù)爬取量來(lái)配置賬號(hào)的數(shù)量。另外,通過(guò)模擬登錄,并存儲(chǔ)識(shí)別信息,使得下次登錄時(shí)無(wú)需登錄直接進(jìn)行訪問(wèn)。
優(yōu)選地,爬取單元包括:第三判斷模塊,用于判斷選擇的賬號(hào)登陸目標(biāo)網(wǎng)站是否出現(xiàn)異常;移除模塊,用于如果判斷出選擇的賬號(hào)登陸目標(biāo)網(wǎng)站出現(xiàn)異常,則將登陸異常的賬號(hào)從多個(gè)賬號(hào)中移除,并重新從移除后的多個(gè)賬號(hào)中選擇賬號(hào);第二訪問(wèn)模塊,用于如果判斷選擇的賬號(hào)登陸目標(biāo)網(wǎng)站未出現(xiàn)異常,則利用選擇的賬號(hào)訪問(wèn)目標(biāo)網(wǎng)站的網(wǎng)頁(yè)。
由于在網(wǎng)頁(yè)數(shù)據(jù)獲取過(guò)程中,可能會(huì)存在賬號(hào)登陸異常,或者,賬號(hào)被網(wǎng)站限制訪問(wèn),因此,在利用賬號(hào)訪問(wèn)目標(biāo)網(wǎng)站時(shí),可以先判斷該賬號(hào)是否出現(xiàn)登錄異常,如果出現(xiàn)異常,則將該賬號(hào)從上述多個(gè)賬號(hào)中移除,避免下次使用到該賬號(hào),并重新選擇賬號(hào)訪問(wèn)目標(biāo)網(wǎng)站的網(wǎng)頁(yè),如果未出現(xiàn)異常,則可以用該選擇的賬號(hào)繼續(xù)訪問(wèn)目標(biāo)網(wǎng)站。
進(jìn)一步地,若在此過(guò)程中因?yàn)榈顷戀~號(hào)異常導(dǎo)致獲取數(shù)據(jù)失敗,則會(huì)將當(dāng)前登陸賬號(hào)從系統(tǒng)中的賬號(hào)組中暫時(shí)移除,避免下次使用到此賬號(hào),休息一段時(shí)間后,還可以將該賬號(hào)添加進(jìn)賬號(hào)組執(zhí)行爬取任務(wù)。
上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
在本發(fā)明的上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒(méi)有詳述的部分,可以參見(jiàn)其他實(shí)施例的相關(guān)描述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的技術(shù)內(nèi)容,可通過(guò)其它的方式實(shí)現(xiàn)。其中,以上所描述的裝置實(shí)施例僅僅是示意性的,例如所述單元的劃分,可以為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可為個(gè)人計(jì)算機(jī)、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、移動(dòng)硬盤、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。