[0084]S52、在所述插件管理中心2中,對(duì)發(fā)出所述上傳請(qǐng)求的插件開發(fā)平臺(tái)I進(jìn)行第一認(rèn)證,若第一認(rèn)證通過,則授權(quán)所述上傳請(qǐng)求,允許所述插件開發(fā)平臺(tái)I上傳所述插件;若第一認(rèn)證不通過,則所述插件開發(fā)平臺(tái)I返回第一認(rèn)證不通過的提示信息;一般情況下,采用0Auth2.0對(duì)上傳請(qǐng)求進(jìn)行認(rèn)證,認(rèn)證通過后允許上傳,上傳成功或失敗,都將向插件開發(fā)平臺(tái)返回對(duì)應(yīng)信息。
[0085]S53、所述插件上傳至插件管理中心2后,對(duì)所述插件進(jìn)行版本控制,將進(jìn)行版本控制后的插件存儲(chǔ)至插件管理中心2。即認(rèn)證通過后的插件會(huì)進(jìn)行版本控制,寫入版本信息后存儲(chǔ)至插件管理中心的數(shù)據(jù)庫(kù)。
[0086]圖4為本發(fā)明第二產(chǎn)品實(shí)施例提供的一種插件開發(fā)系統(tǒng)的方框圖,該系統(tǒng)與第一產(chǎn)品實(shí)施例提供的系統(tǒng)的區(qū)別在于在插件管理中心2中添加了插件認(rèn)證模塊21、版本控制模塊22和存儲(chǔ)模塊23 ;該系統(tǒng)具體包括:
[0087]用于生成定向網(wǎng)頁(yè)采集插件的插件開發(fā)平臺(tái)I和與所述插件開發(fā)平臺(tái)I連接的插件管理中心2,所述插件開發(fā)平臺(tái)I包括網(wǎng)頁(yè)分析模塊11、插件配置模塊12、插件測(cè)試模塊13和上傳模塊14 ;
[0088]所述網(wǎng)頁(yè)分析模塊11用于輸入待開發(fā)的URL地址,根據(jù)URL地址所得到的網(wǎng)頁(yè)解析為DOM樹結(jié)構(gòu);
[0089]所述插件配置模塊12用于根據(jù)URL地址所得到的網(wǎng)頁(yè),在自動(dòng)生成Java腳本抽取規(guī)則的方法和編輯Java腳本抽取規(guī)則的方法中選擇其中的一種,以得到Java腳本抽取規(guī)則;其中,自動(dòng)生成Java腳本抽取規(guī)則的方法為:根據(jù)在DOM樹結(jié)構(gòu)中框選待提取的內(nèi)容對(duì)應(yīng)的頁(yè)面元素節(jié)點(diǎn)路徑生成Java腳本抽取規(guī)則;編輯Java腳本抽取規(guī)則的方法為:采用Jsoup語(yǔ)法和正則表達(dá)式根據(jù)輸入的URL地址編輯Java腳本抽取規(guī)則;所述插件配置模塊12還用于根據(jù)所述Java腳本抽取規(guī)則生成插件;所述插件配置模塊12還用于若根據(jù)所述URL地址得到的網(wǎng)頁(yè)需要登錄操作,則錄制登錄網(wǎng)頁(yè)的過程,生成登陸腳本,根據(jù)所述Java腳本抽取規(guī)則和登陸腳本生成插件。
[0090]所述插件測(cè)試模塊13用于對(duì)所述插件進(jìn)行測(cè)試,并判斷測(cè)試是否通過;所述插件測(cè)試模塊13還用于選擇單元測(cè)試或集成測(cè)試中的一種測(cè)試方式,并根據(jù)所選擇的測(cè)試方式對(duì)所述插件進(jìn)行測(cè)試。
[0091]所述上傳模塊14用于將測(cè)試通過的插件上傳至插件管理中心2 ;所述上傳模塊14還用于向所述插件管理中心2發(fā)出上傳請(qǐng)求。
[0092]所述插件管理中心2用于接收并存儲(chǔ)所述插件,所述插件管理中心2包括插件認(rèn)證模塊21、版本控制模塊22和存儲(chǔ)模塊23 ;
[0093]所述插件認(rèn)證模塊21用于對(duì)發(fā)出所述上傳請(qǐng)求的插件開發(fā)平臺(tái)I進(jìn)行第一認(rèn)證,若第一認(rèn)證通過,則授權(quán)所述上傳請(qǐng)求,允許所述插件開發(fā)平臺(tái)I上傳所述插件;若第一認(rèn)證不通過,則所述插件開發(fā)平臺(tái)I返回第一認(rèn)證不通過的提示信息;插件認(rèn)證模塊21 —般為插件服務(wù)平臺(tái),用于對(duì)用戶身份進(jìn)行校驗(yàn),校驗(yàn)成功后,根據(jù)用戶對(duì)應(yīng)的權(quán)限提供插件上傳、查詢等功能,當(dāng)爬蟲控制節(jié)點(diǎn)獲取到插件后,可以動(dòng)態(tài)重復(fù)加載,無(wú)需重啟程序。
[0094]所述版本控制模塊22用于對(duì)所述插件進(jìn)行版本控制;版本控制模塊22 —般為版本控制服務(wù)器,采用SVN (subvers1n)、Git (分布式版本控制系統(tǒng))等對(duì)插件版本進(jìn)行維護(hù),為用戶提供最新版本的插件。
[0095]所述存儲(chǔ)模塊23用于存儲(chǔ)進(jìn)行版本控制后的插件。存儲(chǔ)模塊23 —般為插件管理中心2的數(shù)據(jù)庫(kù),存放了采用插件開發(fā)平臺(tái)I開發(fā)的插件。
[0096]如圖5所示,為本發(fā)明第三方法實(shí)施例提供的一種插件開發(fā)方法的流程圖,該第三方法實(shí)施例與上述的第二方法實(shí)施例的區(qū)別在于添加了客戶端3下載插件的步驟,該方法具體包括如下步驟:
[0097]S301、在插件開發(fā)平臺(tái)I中輸入待開發(fā)的URL地址,根據(jù)輸入的URL地址將網(wǎng)頁(yè)解析為DOM樹結(jié)構(gòu);
[0098]S302、根據(jù)URL地址所下載的網(wǎng)頁(yè),選擇自動(dòng)生成Java腳本抽取規(guī)則的方法或編輯Java腳本抽取規(guī)則的方法,以得到Java腳本抽取規(guī)則;根據(jù)所述Java腳本抽取規(guī)則生成插件;
[0099]其中,自動(dòng)生成Java腳本抽取規(guī)則的方法為:根據(jù)在DOM樹結(jié)構(gòu)中框選待提取的內(nèi)容對(duì)應(yīng)的頁(yè)面元素節(jié)點(diǎn)路徑生成Java腳本抽取規(guī)則;編輯Java腳本抽取規(guī)則的方法為:采用Jsoup語(yǔ)法和正則表達(dá)式根據(jù)輸入的URL地址編輯Java腳本抽取規(guī)則;
[0100]若根據(jù)所述URL地址得到的網(wǎng)頁(yè)需要登錄操作,則錄制登錄網(wǎng)頁(yè)的過程,生成登陸腳本;根據(jù)所述Java腳本抽取規(guī)則和登陸腳本生成插件。
[0101]S303、選擇單元測(cè)試或集成測(cè)試中的一種測(cè)試方式;根據(jù)所選擇的測(cè)試方式對(duì)所述插件進(jìn)行測(cè)試。
[0102]S304、若測(cè)試通過,轉(zhuǎn)至步驟S305 ;若測(cè)試不通過,轉(zhuǎn)至步驟S303 ;
[0103]S305、將所述插件上傳并存儲(chǔ)至插件管理中心2 ;
[0104]S306、將所述插件下載至客戶端3中;
[0105]其中,所述步驟S306包括以下子步驟:
[0106]S61、在客戶端3中向插件管理中心2發(fā)送所述插件的下載請(qǐng)求;
[0107]S62、在插件管理中心2中對(duì)發(fā)出所述下載請(qǐng)求的客戶端3進(jìn)行第二認(rèn)證,若第二認(rèn)證通過,則授權(quán)所述下載請(qǐng)求,允許所述客戶端3下載所述插件;若第二認(rèn)證不通過,則所述客戶端3返回第二認(rèn)證不通過的提示信息;第二認(rèn)證一般為0auth2.0認(rèn)證,認(rèn)證通過后允許客戶端3下載插件。
[0108]S63、將進(jìn)行版本控制后的插件下載至所述客戶端3。插件進(jìn)行版本控制后,為客戶端3提供最新版本的插件,從而使爬蟲控制節(jié)點(diǎn)動(dòng)態(tài)加載下載的插件,并立即生效。
[0109]圖6為本發(fā)明第三產(chǎn)品實(shí)施例提供的一種插件開發(fā)系統(tǒng)的方框圖,該第三產(chǎn)品實(shí)施例相對(duì)于上述第二產(chǎn)品實(shí)施例的區(qū)別在于添加了客戶端3,該系統(tǒng)具體包括:
[0110]用于生成定向網(wǎng)頁(yè)采集插件的插件開發(fā)平臺(tái)1、與所述插件開發(fā)平臺(tái)I連接的插件管理中心2和與所述插件管理中心2連接的客戶端3 ;
[0111]所述插件開發(fā)平臺(tái)I包括網(wǎng)頁(yè)分析模塊11、插件配置模塊12、插件測(cè)試模塊13和上傳模塊14 ;
[0112]所述網(wǎng)頁(yè)分析模塊11用于輸入待開發(fā)的URL地址,根據(jù)URL地址所得到的網(wǎng)頁(yè)解析為DOM樹結(jié)構(gòu);
[0113]所述插件配置模塊12用于根據(jù)URL地址所得到的網(wǎng)頁(yè),在自動(dòng)生成Java腳本抽取規(guī)則的方法和編輯Java腳本抽取規(guī)則的方法中選擇其中的一種,以得到Java腳本抽取規(guī)則;其中,自動(dòng)生成Java腳本抽取規(guī)則的方法為:根據(jù)在DOM樹結(jié)構(gòu)中框選待提取的內(nèi)容對(duì)應(yīng)的頁(yè)面元素節(jié)點(diǎn)路徑生成Java腳本抽取規(guī)則;編輯Java腳本抽取規(guī)則的方法為:采用Jsoup語(yǔ)法和正則表達(dá)式根據(jù)輸入的URL地址編輯Java腳本抽取規(guī)則;所述插件配置模塊12還用于根據(jù)所述Java腳本抽取規(guī)則生成插件;所述插件配置模塊12還用于若根據(jù)所述URL地址得到的網(wǎng)頁(yè)需要登錄操作,則錄制登錄網(wǎng)頁(yè)的過程,生成登陸腳本,根據(jù)所述Java腳本抽取規(guī)則和登陸腳本生成插件。
[0114]所述插件測(cè)試模塊13用于對(duì)所述插件進(jìn)行測(cè)試,并判斷測(cè)試是否通過;所述插件測(cè)試模塊13還用于選擇單元測(cè)試或集成測(cè)試中的一種測(cè)試方式,并根據(jù)所選擇的測(cè)試方式對(duì)所述插件進(jìn)行測(cè)試。
[0115]所述上傳模塊14用于將測(cè)試通過的插件上傳至插件管理中心2 ;所述上傳模塊14還用于向所述插件管理中心2發(fā)出上傳請(qǐng)求。
[0116]所述插件管理中心2用于接收并