本發(fā)明屬于信息的識別技術(shù)領(lǐng)域,具體涉及一種基于眾包的驗證信息的識別系統(tǒng)及方法。
背景技術(shù):
網(wǎng)絡(luò)爬蟲已經(jīng)成了很普及網(wǎng)絡(luò)技術(shù),除了專門做搜索的google,yahoo,微軟必應(yīng),百度等等,幾乎每個大型門戶網(wǎng)站都有自己的搜索引擎,現(xiàn)在的爬蟲工具特別多,已知的開源爬蟲框架就有幾十種不等。一般來說,企業(yè)級別的網(wǎng)絡(luò)爬蟲一般是部署在集群上面,通過不同的網(wǎng)絡(luò)線路出口,并行地從互聯(lián)網(wǎng)上下載所需的信息。
各個網(wǎng)站為了保護自己的網(wǎng)站不被惡意攻擊,都會有自己的請求和響應(yīng)策略。一般來說,目標(biāo)網(wǎng)站則根據(jù)訪問頻率,瀏覽網(wǎng)頁速度,cookies等因素來封鎖線路,同時也會根據(jù)賬戶登錄狀態(tài),輸入驗證碼是否正確,flash封裝,ajax混淆,js加密,圖片驗證,css混淆等技術(shù)來保護自己的網(wǎng)站。然而這樣一些因素會導(dǎo)致爬蟲不能正常爬取。其中,最主要的因素就是網(wǎng)絡(luò)線路的封鎖,很多目標(biāo)網(wǎng)站會對在一段時間頻繁請求的爬蟲采取完全封鎖的策略。這樣便誤封鎖了一部分爬蟲的正常爬取。
人工的監(jiān)控成本也很大,不知道線路何時被封鎖了,何時被解封,以至于不能迅速反應(yīng)。而數(shù)據(jù)的抓取是一個長期連續(xù)的過程,如不能及時地應(yīng)對目標(biāo)網(wǎng)站的封鎖策略,并立即采取應(yīng)對策略,那么爬蟲的抓取質(zhì)量和效率則是很低的。
現(xiàn)有技術(shù)中網(wǎng)絡(luò)爬蟲在抓取數(shù)據(jù)時,需要填寫驗證碼。若程序無法識別驗證碼,則無法抓取到數(shù)據(jù)。
技術(shù)實現(xiàn)要素:
要解決的技術(shù)問題
為了解決現(xiàn)有技術(shù)當(dāng)程序無法識別驗證碼時,不能抓取數(shù)據(jù)的技術(shù)問題,本發(fā)明的目的是提供一種基于眾包的驗證信息的識別方法及系統(tǒng)。
發(fā)明的技術(shù)方案
本發(fā)明的第一方面,提供一種基于眾包的驗證信息的識別方法,該方法包括如下步驟:
步驟s1:任務(wù)處理裝置接收需求提交者上傳的驗證碼識別的任務(wù)需求,任務(wù)處理裝置接收并根據(jù)任務(wù)定價裝置輸出的任務(wù)執(zhí)行者設(shè)定規(guī)則確定任務(wù)執(zhí)行者,發(fā)送驗證碼的網(wǎng)址;
步驟s2:用戶裝置接收驗證碼的網(wǎng)址,輸出驗證碼訪問請求;
步驟s3:任務(wù)處理裝置接收驗證碼訪問請求,輸出驗證碼圖片;
步驟s4:用戶裝置接收驗證碼圖片,輸出驗證碼識別結(jié)果;
步驟s5:監(jiān)測裝置定時監(jiān)測任務(wù)處理裝置接收的驗證碼識別結(jié)果,驗證碼識別結(jié)果正確則執(zhí)行步驟s6,驗證碼識別結(jié)果錯誤則執(zhí)行步驟s7;
步驟s6:任務(wù)處理裝置接收驗證碼識別結(jié)果,輸出給需求提交者;
步驟s7:任務(wù)定價裝置接收修改定價指令,對定價進(jìn)行更改并輸出任務(wù)執(zhí)行者設(shè)定規(guī)則。
本發(fā)明的第二方面,提供使用所述一種基于眾包的驗證信息的識別方法的基于眾包的驗證信息的識別系統(tǒng),該系統(tǒng)包括與任務(wù)定價裝置、監(jiān)測裝置連接的任務(wù)處理裝置、用戶裝置,其中:
任務(wù)處理裝置接收需求提交者上傳的驗證碼識別具有驗證碼網(wǎng)址的任務(wù)需求,任務(wù)處理裝置接收并根據(jù)任務(wù)定價裝置輸出的任務(wù)執(zhí)行者設(shè)定規(guī)則確定任務(wù)執(zhí)行者,發(fā)送驗證碼的網(wǎng)址;
用戶裝置與任務(wù)處理裝置雙向連接,接收驗證碼的網(wǎng)址,輸出驗證碼訪問請求;
任務(wù)處理裝置接收驗證碼訪問請求,輸出驗證碼圖片;用戶裝置接收驗證碼圖片,輸出驗證碼識別結(jié)果;任務(wù)處理裝置接收驗證碼識別結(jié)果,輸出給需求提交者;
監(jiān)測裝置用于定時監(jiān)測任務(wù)處理裝置接收的驗證碼識別結(jié)果,根據(jù)驗證碼識別結(jié)果輸出修改定價指令;
任務(wù)定價裝置接收修改定價指令,對定價進(jìn)行更改并輸出任務(wù)執(zhí)行者設(shè)定規(guī)則。
發(fā)明的有益效果:
本發(fā)明通過眾包的形式識別驗證碼,保證程序抓取到數(shù)據(jù),從而解決了當(dāng)識別系統(tǒng)無法識別驗證碼時,不能抓取數(shù)據(jù)的問題。本發(fā)明的系統(tǒng)和方法提高了系統(tǒng)和方法的速度,本發(fā)明的發(fā)眾包任務(wù)技術(shù)方案工作過程僅僅需要在秒級。本發(fā)明在確定任務(wù)執(zhí)行者的過程中,需要根據(jù)供求平衡關(guān)系進(jìn)行定價,根據(jù)定價結(jié)果確定任務(wù)執(zhí)行者,保證本發(fā)明的系統(tǒng)和方法工作的時效性。
本發(fā)明的系統(tǒng)和方法能夠獨立運行,耦合度低,占用資源少,響應(yīng)迅速,本發(fā)明所提供的數(shù)據(jù)都經(jīng)過了眾包的形式識別驗證碼驗證,以確保提供的網(wǎng)絡(luò)資源精準(zhǔn)有效;響應(yīng)及時。高容錯性,本發(fā)明可以在網(wǎng)絡(luò)線路出問題的時候,自動測試,直至選擇出正確的線路,以保證爬蟲線路的暢通;通過使用本發(fā)明提供的系統(tǒng)和的方法和裝置,能夠使爬蟲數(shù)據(jù)的抓取效率大大提高,并且不需要人工干預(yù),實現(xiàn)網(wǎng)絡(luò)線路的負(fù)載均衡。
附圖說明
圖1為本發(fā)明一種基于眾包的驗證信息的識別方法流程圖;
圖2為本發(fā)明一種基于眾包的驗證信息的識別系統(tǒng)結(jié)構(gòu)圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)發(fā)明和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明的各實施方式進(jìn)行詳細(xì)的闡述。然而,本領(lǐng)域的普通技術(shù)人員可以理解,在本發(fā)明各實施方式中,為了使讀者更好地理解本申請而提出了許多技術(shù)細(xì)節(jié)。但是,即使沒有這些技術(shù)細(xì)節(jié)和基于以下各實施方式的種種變化和修改,也可以實現(xiàn)本申請各權(quán)利要求所要求保護的技術(shù)發(fā)明。
請參閱圖1示出一種基于眾包的驗證信息的識別方法,該方法包括如下步驟:
步驟s1:任務(wù)處理裝置接收需求提交者上傳的驗證碼識別的任務(wù)需求,任務(wù)處理裝置接收并根據(jù)任務(wù)定價裝置輸出的任務(wù)執(zhí)行者設(shè)定規(guī)則確定任務(wù)執(zhí)行者,發(fā)送驗證碼的網(wǎng)址;
步驟s2:用戶裝置接收驗證碼的網(wǎng)址,輸出驗證碼訪問請求;
步驟s3:任務(wù)處理裝置接收驗證碼訪問請求,輸出驗證碼圖片并顯示給任務(wù)執(zhí)行者;
步驟s4:用戶裝置接收驗證碼圖片,輸出驗證碼識別結(jié)果;
步驟s5:監(jiān)測裝置定時監(jiān)測任務(wù)處理裝置接收的驗證碼識別結(jié)果,驗證碼識別結(jié)果正確則執(zhí)行步驟s6,驗證碼識別結(jié)果錯誤則執(zhí)行步驟s7;
步驟s6:任務(wù)處理裝置接收驗證碼識別結(jié)果,輸出給需求提交者;
步驟s7:任務(wù)定價裝置接收修改定價指令,對定價進(jìn)行更改并輸出任務(wù)執(zhí)行者設(shè)定規(guī)則。
優(yōu)選實施例,確定所述任務(wù)執(zhí)行者的過程是需要根據(jù)供求平衡關(guān)系對任務(wù)執(zhí)行者進(jìn)行定價,根據(jù)定價結(jié)果確定任務(wù)執(zhí)行者。
優(yōu)選實施例,所述任務(wù)執(zhí)行者設(shè)定規(guī)則是檢測當(dāng)前隊列中的爬蟲任務(wù)量,以及當(dāng)前在線的用戶量、平均響應(yīng)時間,根據(jù)爬蟲任務(wù)量、在線用戶量、平均響應(yīng)時間的動態(tài)平衡關(guān)系,確定任務(wù)執(zhí)行者的價格。
優(yōu)選實施例,所述的任務(wù)執(zhí)行者設(shè)定規(guī)則是結(jié)合當(dāng)前預(yù)測價格與預(yù)測的響應(yīng)情況確定任務(wù)執(zhí)行者價格。
優(yōu)選實施例,所述定時監(jiān)測的時間間隔為秒級。如設(shè)定定時監(jiān)測的時間間隔小于1秒。
請參閱圖2示出一種基于眾包的驗證信息的識別系統(tǒng),所述系統(tǒng)包括與任務(wù)定價裝置、監(jiān)測裝置連接的任務(wù)處理裝置、用戶裝置,其中:
任務(wù)處理裝置接收需求提交者上傳的驗證碼識別具有驗證碼網(wǎng)址的任務(wù)需求,任務(wù)處理裝置接收并根據(jù)任務(wù)定價裝置輸出的任務(wù)執(zhí)行者設(shè)定規(guī)則確定任務(wù)執(zhí)行者,發(fā)送驗證碼的網(wǎng)址;
用戶裝置與任務(wù)處理裝置雙向連接,接收驗證碼的網(wǎng)址,輸出驗證碼訪問請求;
任務(wù)處理裝置接收驗證碼訪問請求,輸出驗證碼圖片;用戶裝置接收驗證碼圖片,輸出驗證碼識別結(jié)果;任務(wù)處理裝置接收驗證碼識別結(jié)果,輸出給需求提交者;
監(jiān)測裝置用于定時監(jiān)測任務(wù)處理裝置接收的驗證碼識別結(jié)果,根據(jù)驗證碼識別結(jié)果輸出修改定價指令;
任務(wù)定價裝置接收修改定價指令,對定價進(jìn)行更改并輸出任務(wù)執(zhí)行者設(shè)定規(guī)則。
優(yōu)選實施例,確定所述的任務(wù)定價裝置輸出的任務(wù)執(zhí)行者的過程是需要根據(jù)供求平衡關(guān)系對任務(wù)執(zhí)行者進(jìn)行定價,根據(jù)定價結(jié)果確定任務(wù)執(zhí)行者。
優(yōu)選實施例,所述的任務(wù)定價裝置輸出的任務(wù)執(zhí)行者設(shè)定規(guī)則是檢測當(dāng)前隊列中的爬蟲任務(wù)量,以及當(dāng)前在線的用戶量、平均響應(yīng)時間,根據(jù)爬蟲任務(wù)量、在線用戶量、平均響應(yīng)時間的動態(tài)平衡關(guān)系,確定任務(wù)執(zhí)行者的價格。
優(yōu)選實施例,所述的任務(wù)定價裝置輸出的任務(wù)執(zhí)行者設(shè)定規(guī)則是結(jié)合當(dāng)前預(yù)測價格與預(yù)測的響應(yīng)情況確定任務(wù)執(zhí)行者價格。
優(yōu)選實施例,所述監(jiān)測裝置定時監(jiān)測的時間間隔為秒級。如設(shè)定定時監(jiān)測的時間間隔小于1秒。
本發(fā)明接收到驗證碼識別的任務(wù)需求,該任務(wù)需求中包括驗證碼的網(wǎng)址;按照設(shè)定的規(guī)則確定任務(wù)執(zhí)行者,并向任務(wù)執(zhí)行者發(fā)送驗證碼的網(wǎng)址;接收到任務(wù)執(zhí)行者發(fā)送的驗證碼訪問請求,將驗證碼圖片顯示給任務(wù)執(zhí)行者;接收任務(wù)執(zhí)行者發(fā)送的驗證碼識別結(jié)果并發(fā)送給需求提交者。
驗證碼過期在分鐘級,因此,該眾包任務(wù)流程需要在秒級。為了保證時效性,在確定任務(wù)執(zhí)行者的過程中,需要根據(jù)供求平衡關(guān)系進(jìn)行定價,根據(jù)定價結(jié)果確定任務(wù)執(zhí)行者。
例如,檢測當(dāng)前隊列中的爬蟲任務(wù)量,以及當(dāng)前在線的用戶量,平均響應(yīng)時間,根據(jù)爬蟲任務(wù)量、在線用戶量、平均響應(yīng)時間的動態(tài)平衡關(guān)系,確定價格。
盡管上面結(jié)合附圖對本發(fā)明的優(yōu)選實施例進(jìn)行了描述,但是本發(fā)明并不局限于上述的具體實施方式,上述的具體實施方式僅僅是示意性的,并不是限制性的,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的啟示下,在不脫離本發(fā)明宗旨和權(quán)利要求所保護的范圍情況下,還可以作出很多形式,將以上各個實施例中不相矛盾的技術(shù)手段相互組合,構(gòu)成具體實施方式部分中沒有直接描述的技術(shù)方案。這些均屬于本發(fā)明的保護范圍之內(nèi)。