登錄類型網(wǎng)站的數(shù)據(jù)采集系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)信息采集的技術(shù)領(lǐng)域,具體說(shuō)是一種登錄類型網(wǎng)站的數(shù)據(jù)采集系統(tǒng)。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)行業(yè)的發(fā)展壯大,眾多網(wǎng)站對(duì)于“匿名”訪問(wèn)者僅提供了“有限數(shù)據(jù)展示”,需要獲取其“注冊(cè)會(huì)員資格”并登錄其網(wǎng)站之后,對(duì)方才會(huì)提供更加詳實(shí)的數(shù)據(jù)。目前針對(duì)此類情況采取的基本采集手段已經(jīng)無(wú)法滿足用戶對(duì)于信息的時(shí)效性性、完整性等多方面的要求。
【發(fā)明內(nèi)容】
[0003]本發(fā)明要解決的技術(shù)問(wèn)題是提供一種登錄類型網(wǎng)站的數(shù)據(jù)采集系統(tǒng)。
[0004]本發(fā)明為解決公知技術(shù)中存在的技術(shù)問(wèn)題所采取的技術(shù)方案是:
本發(fā)明的登錄類型網(wǎng)站的數(shù)據(jù)采集系統(tǒng),包括以下模塊:采集任務(wù)管理模塊、采集賬號(hào)管理模塊、采集策略管理模塊、采集工作者模塊、采集結(jié)果處理模塊和系統(tǒng)狀態(tài)管理模塊;采集任務(wù)管理模塊分發(fā)下載任務(wù),將各類數(shù)據(jù)采集工作抽象為統(tǒng)一的采集任務(wù)對(duì)象,生成采集任務(wù)隊(duì)列,交由后續(xù)的采集工作者完成數(shù)據(jù)采集工作;采集賬號(hào)管理模塊管理采集工作者模塊在工作中需要使用的網(wǎng)站賬號(hào);采集策略管理模塊根據(jù)采集工作者模塊的不同采集任務(wù)需求,完成采集資源分配和采集策略變更的工作;采集工作者模塊通過(guò)獲取采集任務(wù)隊(duì)列中的采集任務(wù),完成數(shù)據(jù)采集工作,并將結(jié)果返回采集任務(wù)管理模塊;采集結(jié)果處理模塊接收分析采集工作者處理后的采集結(jié)果,向采集任務(wù)管理模塊發(fā)送相關(guān)數(shù)據(jù)下載任務(wù),并向系統(tǒng)狀態(tài)管理模塊發(fā)送狀態(tài)信息;系統(tǒng)狀態(tài)管理模塊接收采集任務(wù)管理模塊、采集工作者模塊和采集結(jié)果處理模塊的狀態(tài)信息。
[0005]本發(fā)明還可以采用以下技術(shù)措施:
采集任務(wù)管理模塊中包括:任務(wù)歸一化處理,將各類采集要求,統(tǒng)一格式化為采集任務(wù);任務(wù)緩沖,提供多級(jí)的緩沖機(jī)制;任務(wù)消重,將不同類型的采集要求抽象為同一個(gè)采集任務(wù);任務(wù)分發(fā),將生成好的采集任務(wù)發(fā)送到任務(wù)隊(duì)列中,分發(fā)程序主動(dòng)監(jiān)控任務(wù)隊(duì)列的情況,在任務(wù)隊(duì)列滿載時(shí)主動(dòng)進(jìn)行等待,直到隊(duì)列中的任務(wù)量少于預(yù)定的基線值時(shí)再進(jìn)行分發(fā),該任務(wù)隊(duì)列基于開(kāi)源的GEARMAN系統(tǒng);任務(wù)隊(duì)列管理,根據(jù)不同的任務(wù)類型信息,將采集任務(wù)分配到若干個(gè)任務(wù)隊(duì)列中。
[0006]采集賬號(hào)管理模塊中包括:賬號(hào)管理,根據(jù)采集工作者給出的各類情況記錄賬號(hào)信息,采集賬號(hào)管理程序;賬號(hào)分發(fā),根據(jù)不同的采集工作者的要求為其提供特定站點(diǎn)、特定數(shù)量的賬號(hào)信息;賬號(hào)狀態(tài)記錄,收集采集工作者的處理信息,并根據(jù)信息自動(dòng)分析、記錄賬號(hào)狀態(tài)信息以及相關(guān)日志。
[0007]采集策略管理模塊中包括:采集策略管理,提供基于B/S的方式統(tǒng)一管理采集工作策略;集策略接口,提供給采集工作者訪問(wèn),以確定采集工作者自身需要完成的任務(wù)類型,工作方式等信息。
[0008]采集工作者模塊中使用PHANTOMJS作為基礎(chǔ),并根據(jù)不同的網(wǎng)站使用與其對(duì)應(yīng)的程序模擬瀏覽器與用戶的交互行為完成登錄請(qǐng)求;在完成站點(diǎn)登錄行為的模擬后,對(duì)登錄結(jié)果的有效性進(jìn)行判斷;將各類數(shù)據(jù)采集工作抽象為統(tǒng)一的采集任務(wù)對(duì)象,對(duì)任務(wù)中的站點(diǎn)特征進(jìn)行分析,并從現(xiàn)有的緩存中獲取可用的登錄憑證或自動(dòng)完成登錄流程后獲取憑證,使用該憑證作為身份信息向?qū)Ψ骄W(wǎng)站請(qǐng)求獲取數(shù)據(jù);在獲取到采集結(jié)果后,程序會(huì)先對(duì)結(jié)果內(nèi)容自動(dòng)進(jìn)行編碼轉(zhuǎn)換,將不同的編碼類型統(tǒng)一格式化為UTF-8的編碼方式;定期主動(dòng)的向采集策略管理模塊獲取運(yùn)行配置,系統(tǒng)在發(fā)現(xiàn)策略更新后會(huì)進(jìn)行相應(yīng)的功能變更。
[0009]采集結(jié)果處理模塊中包括:預(yù)處理結(jié)果分析,對(duì)采集結(jié)果的預(yù)處理信息進(jìn)行分析,匯總結(jié)果信息;數(shù)據(jù)結(jié)構(gòu)化分析,根據(jù)采集結(jié)果中的站點(diǎn)、任務(wù)類型等信息調(diào)用對(duì)應(yīng)的處理規(guī)則,將數(shù)據(jù)內(nèi)容結(jié)構(gòu)化為預(yù)定義好的數(shù)據(jù)結(jié)構(gòu)并將結(jié)果交由后續(xù)的工作流程進(jìn)行處理;相關(guān)數(shù)據(jù)下載分析,根據(jù)采集結(jié)果的結(jié)構(gòu)化分析結(jié)果、采集站點(diǎn)、任務(wù)描述等內(nèi)容進(jìn)行分析,確定是否需要額外下載相關(guān)數(shù)據(jù),根據(jù)要求生成對(duì)應(yīng)于相關(guān)數(shù)據(jù)下載的采集任務(wù)并將任務(wù)轉(zhuǎn)交給采集任務(wù)管理模塊。
[0010]系統(tǒng)狀態(tài)管理模塊中包括:系統(tǒng)狀態(tài)收集,將各個(gè)不同子系統(tǒng)的運(yùn)行狀態(tài)信息,統(tǒng)一匯總并記錄;系統(tǒng)狀態(tài)統(tǒng)計(jì),根據(jù)收到的系統(tǒng)運(yùn)行狀態(tài)信息,生成統(tǒng)一的、可閱讀的狀態(tài)信息報(bào)告;系統(tǒng)信息獲取接口,可以通過(guò)該接口實(shí)時(shí)獲取系統(tǒng)當(dāng)前的運(yùn)行狀態(tài),監(jiān)控系統(tǒng)狀態(tài),保證系統(tǒng)的正常運(yùn)行。
[0011 ]本發(fā)明具有的優(yōu)點(diǎn)和積極效果是:
本發(fā)明的登錄類型網(wǎng)站的數(shù)據(jù)采集系統(tǒng)中,包括采集任務(wù)管理模塊、采集賬號(hào)管理模塊、采集策略管理模塊、采集工作者模塊、采集結(jié)果處理模塊和系統(tǒng)狀態(tài)管理模塊;通過(guò)將各種類型的采集任務(wù)統(tǒng)一為標(biāo)準(zhǔn)的采集任務(wù)對(duì)象,該對(duì)象涵蓋了對(duì)于站點(diǎn)、數(shù)據(jù)類型、處理方式、工作流轉(zhuǎn)信息等等多方面的內(nèi)容,可以滿足幾乎所有對(duì)于網(wǎng)絡(luò)數(shù)據(jù)采集工作的描述要求?;贖TTP協(xié)議的采集賬號(hào)管理平臺(tái)將各類站點(diǎn)登錄需要使用的賬戶進(jìn)行統(tǒng)一管理,并根據(jù)要求統(tǒng)一分配賬號(hào),并能夠根據(jù)結(jié)果信息,自動(dòng)分析處理并記錄賬號(hào)的使用情況,當(dāng)前狀態(tài)等信息?;谌蝿?wù)驅(qū)動(dòng)的采集工作策略機(jī)制可根據(jù)系統(tǒng)的要求動(dòng)態(tài)調(diào)整采集資源配比,變更采集策略,實(shí)現(xiàn)系統(tǒng)資源的快速水平擴(kuò)展。高度自動(dòng)化的管理機(jī)制,可大量降低人工介入的工作,降低人工成本以及錯(cuò)誤率。
【附圖說(shuō)明】
[0012]圖1是本發(fā)明的登錄類型網(wǎng)站的數(shù)據(jù)采集系統(tǒng)的架構(gòu)示意圖;
圖2是本發(fā)明的登錄類型網(wǎng)站的數(shù)據(jù)采集系統(tǒng)的流程圖。
【具體實(shí)施方式】
[0013]以下通過(guò)附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。
[0014]如圖1和圖2所示,本發(fā)明的登錄類型網(wǎng)站的數(shù)據(jù)采集系統(tǒng),包括以下模塊:采集任務(wù)管理模塊、采集賬號(hào)管理模塊、采集策略管理模塊、采集工作者模塊、采集結(jié)果處理模塊和系統(tǒng)狀態(tài)管理模塊;采集任務(wù)管理模塊分發(fā)下載任務(wù),將各類數(shù)據(jù)采集工作抽象為統(tǒng)一的采集任務(wù)對(duì)象,生成采集任務(wù)隊(duì)列,交由后續(xù)的采集工作者完成數(shù)據(jù)采集工作;采集賬號(hào)管理模塊管理采集工作者模塊在工作中需要使用的網(wǎng)站賬號(hào);采集策略管理模塊根據(jù)采集工作者模塊的不同采集任務(wù)需求,完成采集資源分配和采集策略變更的工作;采集工作者模塊通過(guò)獲取采集任務(wù)隊(duì)列中的采集任務(wù),完成數(shù)據(jù)采集工作,并將結(jié)果返回采集任務(wù)管理模塊;采集結(jié)果處理模塊接收分析采集工作者處理后的采集結(jié)果,向采集任務(wù)管理模塊發(fā)送相關(guān)數(shù)據(jù)下載任務(wù),并向系統(tǒng)狀態(tài)管理模塊發(fā)送狀態(tài)信息;系統(tǒng)狀態(tài)管理模塊接收采集任務(wù)管理模塊、采集工作者模塊和采集結(jié)果處理模塊的狀態(tài)信息。
[0015]采集任務(wù)管理模塊中包括:任務(wù)歸一化處理,將各類采集要求,統(tǒng)一格式化為采集任務(wù);任務(wù)緩沖,提供多級(jí)的緩沖機(jī)制;任務(wù)消重,將不同類型的采集要求抽象為同一個(gè)采集任務(wù);任務(wù)分發(fā),將生成好的采集任務(wù)發(fā)送到任務(wù)隊(duì)列中,分發(fā)程序主動(dòng)監(jiān)控任務(wù)隊(duì)列的情況,在任務(wù)隊(duì)列滿載時(shí)主動(dòng)進(jìn)行等待,直到隊(duì)列中的任務(wù)量少于預(yù)定的基線值時(shí)再進(jìn)行分發(fā),該任務(wù)隊(duì)列基于開(kāi)源的GEARMAN系統(tǒng);任務(wù)隊(duì)列管理,根據(jù)不同的任務(wù)類型信息,將采集任務(wù)分配到若干個(gè)任務(wù)隊(duì)列中。
[0016]采集賬號(hào)管理模塊中包括:賬號(hào)管理,根據(jù)采集工作者給出的各類情況記錄賬號(hào)信息,采集賬號(hào)管理程序;賬號(hào)分發(fā),根據(jù)不同的采集工作者的要求為其提供特定站點(diǎn)、特定數(shù)量的賬號(hào)信息;賬號(hào)狀態(tài)記錄,收集采集工作者的處理信息,并根據(jù)信息自動(dòng)分析、記錄賬號(hào)狀態(tài)信息以及相關(guān)日志。
[0017]采集策略管理模塊中包括:采集策略管理,提供基于B/S的方式統(tǒng)一管理采集工作策略;集策略接口,提供給采集工作者訪問(wèn),以確定采集工作者自身需要完成的任務(wù)類型,工作方式等信息。
[0018]采集工作者模塊中使用PHANTOMJS作為基礎(chǔ),并根據(jù)不同的網(wǎng)站使用與其對(duì)應(yīng)的程序模擬瀏覽器與用戶的交互行為完成登錄請(qǐng)求,最終實(shí)現(xiàn)網(wǎng)站登錄操作;針對(duì)目前的各類主流網(wǎng)站的登錄流程進(jìn)行分析后將其詳細(xì)的步驟進(jìn)行抽象形成一個(gè)通用化的功能框架,并針對(duì)不同的站點(diǎn)通過(guò)分析其網(wǎng)絡(luò)數(shù)據(jù)的交互行為,通過(guò)程序進(jìn)行模