国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種網(wǎng)頁數(shù)據(jù)采集方法、系統(tǒng)的制作方法

      文檔序號:6431027閱讀:198來源:國知局
      專利名稱:一種網(wǎng)頁數(shù)據(jù)采集方法、系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及數(shù)據(jù)采集領(lǐng)域,尤其涉及一種網(wǎng)頁數(shù)據(jù)采集方法、裝置。
      背景技術(shù)
      隨著網(wǎng)絡(luò)信息技術(shù)的發(fā)展、網(wǎng)站、論壇、博客等網(wǎng)頁信息越來越大,搜索引擎、內(nèi)容分析、輿情分析等技術(shù)都是對這些信息進行某種分析處理的,他們都用到了網(wǎng)頁數(shù)據(jù)采集這一技術(shù)。網(wǎng)絡(luò)數(shù)據(jù)采集方法也稱作網(wǎng)絡(luò)爬蟲,是一種對網(wǎng)頁連接進行自動分析,并自動獲取信息存儲到本地的數(shù)據(jù)采集方法,本文全文中所述的網(wǎng)絡(luò)爬蟲即網(wǎng)絡(luò)數(shù)據(jù)采集方法。目前,現(xiàn)有的網(wǎng)頁數(shù)據(jù)采集系統(tǒng)通常采用封閉邏輯的處理辦法處理網(wǎng)頁數(shù)據(jù),其輸入一般采用自定義方式,沒有采用通用標準處理,用戶需要大量理解其自定義方式的含義,學習周期較長;另外,當輸出如中間文件(EXECL,XML等)時,即當輸出為中間文件時,通常將獲取的網(wǎng)頁數(shù)據(jù)以特定方式保存;操作人員還需要掌握數(shù)據(jù)庫或EXCLE等數(shù)據(jù)結(jié)構(gòu)等內(nèi)容;而且當用戶需要從數(shù)據(jù)庫或EXCLE將獲取的數(shù)據(jù)應(yīng)用到企業(yè)模型上時,操作人員也需要掌握數(shù)據(jù)庫或EXCLE等數(shù)據(jù)結(jié)構(gòu)等內(nèi)容,從而使得這項技術(shù)難以和現(xiàn)有企業(yè)模型結(jié)合使用,給企業(yè)造成使用上的困難。因此,傳統(tǒng)的僅僅下載網(wǎng)頁的網(wǎng)絡(luò)爬蟲已經(jīng)越來越不適合發(fā)展的需要了,需要一種新型的采用標準定義、并且能夠方便企業(yè)根據(jù)自身需要進行定制的網(wǎng)絡(luò)爬蟲。

      發(fā)明內(nèi)容
      本發(fā)明實施例的目的在于提出一種網(wǎng)頁數(shù)據(jù)采集方法、裝置,旨在解決現(xiàn)有網(wǎng)絡(luò)爬蟲不能夠與企業(yè)模型結(jié)合使用的技術(shù)問題。本發(fā)明提供的一種網(wǎng)頁數(shù)據(jù)采集系統(tǒng)包括擴展接口裝置、任務(wù)接收裝置、加載裝置;任務(wù)執(zhí)行裝置擴展接口裝置用于預置業(yè)務(wù)模型屬性;任務(wù)接收裝置與所述擴展接口裝置相連,用于接收屬于預置的業(yè)務(wù)模型屬性的網(wǎng)頁數(shù)據(jù)采集指令;加載裝置用于根據(jù)所述的網(wǎng)頁數(shù)據(jù)采集指令、預置的執(zhí)行邏輯描述文件、預置的業(yè)務(wù)模型數(shù)據(jù)形成執(zhí)行邏輯描述內(nèi)容;任務(wù)執(zhí)行裝置,用于根據(jù)爬蟲上下文進行網(wǎng)頁數(shù)據(jù)采集。其中,所述的任務(wù)接收裝置進一步用于根據(jù)所述指令構(gòu)建爬蟲上下文;所述的加載裝置包括執(zhí)行邏輯文件分析單元、存儲單元、業(yè)務(wù)模型處理單元、業(yè)務(wù)模型適配單元;所述的執(zhí)行邏輯文件分析單元,用于在接收到網(wǎng)頁數(shù)據(jù)采集指令后,根據(jù)所述網(wǎng)頁采集指令中攜帶的屬性,到存儲單元中定位預置的執(zhí)行邏輯描述文件,將所述執(zhí)行邏輯描述文件加載到爬蟲上下文中;所述的存儲單元,用于預置執(zhí)行邏輯描述文件;
      所述的業(yè)務(wù)模型處理單元,用于將預置的業(yè)務(wù)模型數(shù)據(jù)與執(zhí)行邏輯描述文件進行解析合并,更新爬蟲上下文;所述的業(yè)務(wù)模型適配單元,用于預置業(yè)務(wù)模型數(shù)據(jù)。其中,所述的任務(wù)執(zhí)行裝置可以包括連接單元、分析單元、循環(huán)處理單元、提取單元、轉(zhuǎn)換單元和第一操作單元;連接單元,用于根據(jù)所述的爬蟲上下文打開指定網(wǎng)頁采集地址;分析單元,用于分析網(wǎng)頁采集地址包含的有效鏈接;循環(huán)處理單元,用于循環(huán)打開有效連接,將有效連接的第一格式轉(zhuǎn)換為第二格式;提取單元,用于分析有效連接的第二格式并到對應(yīng)網(wǎng)頁提取需要的數(shù)據(jù)到臨時文件中;轉(zhuǎn)換單元,用于讀取所述的臨時文件中的數(shù)據(jù)并將其轉(zhuǎn)換成業(yè)務(wù)模型數(shù)據(jù);第一操作單元,用于調(diào)用所述的業(yè)務(wù)模型數(shù)據(jù)進行業(yè)務(wù)操作。其中,所述的任務(wù)執(zhí)行裝置可以包括連接單元、分析單元、更新單元、循環(huán)處理單元、分頁鏈接處理單元、提取單元、轉(zhuǎn)換單元、第二操作單元;連接單元,用于根據(jù)所述的爬蟲上下文打開指定網(wǎng)頁采集地址;分析單元,用于分析網(wǎng)頁采集地址包含的有效鏈接;更新單元,用于判斷有效鏈接是否已更新,如果已更新則設(shè)置相應(yīng)的標志,沒有更新的但已存在的則直接忽略;循環(huán)處理單元,用于循環(huán)打開有效連接,將有效連接的第一格式轉(zhuǎn)換為第二格式;分頁鏈接處理單元,用于重復分析第二格式的有效連接是否含有分頁鏈接地址, 若有則提取分頁鏈接屬性的值作為采集下一頁的依據(jù),直到所有分頁鏈接地址都已經(jīng)提?。惶崛卧?,用于分析有效連接第二格式并到對應(yīng)網(wǎng)頁提取需要的數(shù)據(jù)到臨時文件中;轉(zhuǎn)換單元,用于讀取所述的臨時文件中的數(shù)據(jù)并將其轉(zhuǎn)換成業(yè)務(wù)模型數(shù)據(jù);第二操作單元,用于調(diào)用所述的業(yè)務(wù)模型數(shù)據(jù)進行業(yè)務(wù)操作,并根據(jù)更新單元的標志進行有效連接的更新。本發(fā)明還提供了一種網(wǎng)頁數(shù)據(jù)采集方法,所述的方法包括接收網(wǎng)頁數(shù)據(jù)采集指令;根據(jù)所述的網(wǎng)頁數(shù)據(jù)采集指令、預置的執(zhí)行邏輯描述文件、預置的業(yè)務(wù)模型數(shù)據(jù)形成執(zhí)行邏輯描述內(nèi)容;根據(jù)所述執(zhí)行邏輯描述內(nèi)容進行網(wǎng)頁數(shù)據(jù)采集。其中,所述接收網(wǎng)頁數(shù)據(jù)采集指令后進一步根據(jù)所述指令構(gòu)建爬蟲上下文;所述的“根據(jù)所述的網(wǎng)頁數(shù)據(jù)采集指令、預置的執(zhí)行邏輯描述文件、預置的業(yè)務(wù)模型數(shù)據(jù)形成執(zhí)行邏輯描述內(nèi)容”具體為接收到網(wǎng)頁數(shù)據(jù)采集指令后,根據(jù)所述網(wǎng)頁采集指令中攜帶的屬性,到預置的執(zhí)行邏輯描述文件中定位執(zhí)行邏輯描述文件,將所述執(zhí)行邏輯描述文件加載到爬蟲上下文中;將預置的業(yè)務(wù)模型數(shù)據(jù)與執(zhí)行邏輯描述文件進行解析合并,更新爬蟲上下文。其中,所述的“根據(jù)所述執(zhí)行邏輯描述內(nèi)容進行網(wǎng)頁數(shù)據(jù)采集”具體為根據(jù)所述的爬蟲上下文打開指定的采集地址;分析采集地址包含的有效鏈接;循環(huán)打開有效鏈接,將所有有效連接由第一格式轉(zhuǎn)換成第二格式;分析有效連接第二格式并到對應(yīng)網(wǎng)頁提取需要的數(shù)據(jù)到臨時文件中;讀取所述的臨時文件中的數(shù)據(jù)并將其轉(zhuǎn)換成業(yè)務(wù)模型數(shù)據(jù);調(diào)用所述的業(yè)務(wù)模型數(shù)據(jù)進行業(yè)務(wù)操作。其中,所述的“根據(jù)所述執(zhí)行邏輯描述內(nèi)容進行網(wǎng)頁數(shù)據(jù)采集”具體為根據(jù)所述的爬蟲上下文打開指定網(wǎng)頁采集地址;分析網(wǎng)頁采集地址包含的有效鏈接;判斷被采集鏈接是否已更新,如果已更新則設(shè)置相應(yīng)的標志,沒有更新的但已存在的則直接忽略;循環(huán)打開有效連接,將有效連接由第一格式轉(zhuǎn)換為第二格式;重復分析第二格式鏈接是否含有分頁鏈接地址,若有則提取分頁鏈接屬性的值作為采集下一頁的依據(jù),直到所有分頁鏈接地址都已經(jīng)提??;分析有效連接第二格式并到對應(yīng)網(wǎng)頁提取需要的數(shù)據(jù)到臨時文件中;讀取所述的臨時文件中的數(shù)據(jù)并將其轉(zhuǎn)換成業(yè)務(wù)模型數(shù)據(jù);調(diào)用所述的業(yè)務(wù)模型數(shù)據(jù)進行業(yè)務(wù)操作。其中,所述的第一格式為超級文本標記語言;所述的第二格式為可擴展標記語言。其中,所述的“提取需要的數(shù)據(jù)到預置的臨時文件中”具體為根據(jù)指定的XPATH 表達式分析提取需要的數(shù)據(jù)到臨時文件中。本發(fā)明提供的網(wǎng)頁數(shù)據(jù)采集方法、裝置,通過擴展自定義網(wǎng)頁數(shù)據(jù)采集接口、預置業(yè)務(wù)模型模板,以及預置一個或多個執(zhí)行功能,能夠快速有效的獲取網(wǎng)頁數(shù)據(jù),與此同時由于可以將獲取的網(wǎng)頁數(shù)據(jù)直接應(yīng)用于企業(yè)模型中,不需將獲取的數(shù)據(jù)存入數(shù)據(jù)庫或EXCLE, 以及將獲取的數(shù)據(jù)從數(shù)據(jù)庫或EXCLE轉(zhuǎn)出、并應(yīng)用于企業(yè)模型等中間操作的情況,因此降低了用戶操作的難度,降低了獲取網(wǎng)頁數(shù)據(jù)的門檻;進一步的,本發(fā)明提供的網(wǎng)頁數(shù)據(jù)采集方法、裝置,可以通過企業(yè)根據(jù)自身需要自定義執(zhí)行功能,使得企業(yè)能夠以更加靈活的方式獲取網(wǎng)頁數(shù)據(jù);而不必受限于傳統(tǒng)網(wǎng)頁數(shù)據(jù)獲取方法的封閉模式;進一步的,本發(fā)明提供的網(wǎng)頁數(shù)據(jù)采集方法、裝置,可以支持多任務(wù)模式,提高了網(wǎng)頁數(shù)據(jù)獲取的速度;進一步的,本發(fā)明提供的網(wǎng)頁數(shù)據(jù)采集方法、裝置,可以實時更新網(wǎng)頁數(shù)據(jù)采集的邏輯,實現(xiàn)不間斷服務(wù);從而避免了現(xiàn)有技術(shù)中要實現(xiàn)新的邏輯時必須整體升級網(wǎng)頁數(shù)據(jù)采集的方法、裝置,導致間斷服務(wù)的缺陷。


      圖1是本發(fā)明實施例1的網(wǎng)頁數(shù)據(jù)采集方法流程圖2是本發(fā)明實施例2的網(wǎng)頁數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)示意圖;圖3是本發(fā)明實施例2的任務(wù)執(zhí)行裝置的結(jié)構(gòu)示意圖;圖4是本發(fā)明實施例2的任務(wù)執(zhí)行裝置的結(jié)構(gòu)示意圖。
      具體實施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖和實施例,對本發(fā)明進行進一步詳細說明,為了便于說明,僅示出了與本發(fā)明實施例相關(guān)的部分。應(yīng)當理解,此處所描寫的具體實施例,僅僅用于解釋本發(fā)明,并不用以限制本發(fā)明。實施例一本發(fā)明提供了一種網(wǎng)頁數(shù)據(jù)采集方法,參見圖1,該方法包括步驟101 接收網(wǎng)頁數(shù)據(jù)采集指令,根據(jù)所述網(wǎng)頁數(shù)據(jù)采集指令構(gòu)建爬蟲上下文;網(wǎng)頁數(shù)據(jù)采集指令中可以包括通用業(yè)務(wù)模型屬性,也可以包括預先自定義的業(yè)務(wù)模型屬性,(也就是擴展業(yè)務(wù)模型接口),這些屬性預置于系統(tǒng)中,其中自定義的屬性可以用于實現(xiàn)擴展業(yè)務(wù)模型。這里可以是接收多任務(wù)并發(fā)控制器或者計劃任務(wù)控制器發(fā)送的網(wǎng)頁數(shù)據(jù)采集指令;由于是多任務(wù)并發(fā)控制器發(fā)送網(wǎng)頁數(shù)據(jù)采集指令,那么相應(yīng)的在網(wǎng)頁數(shù)據(jù)采集過程中就可以是多任務(wù)模式,例如可以是3個或5個網(wǎng)頁數(shù)據(jù)采集任務(wù)同時執(zhí)行,也可以設(shè)置執(zhí)行網(wǎng)頁數(shù)據(jù)采集任務(wù)的閾值,達到閾值時其他任務(wù)則處于等待狀態(tài),當正在執(zhí)行的任務(wù)有一個完成時,處于等待的任務(wù)則結(jié)束等待狀態(tài)開始進行網(wǎng)頁數(shù)據(jù)采集。并且在該步驟中具體執(zhí)行時可以是接收包含有網(wǎng)頁采集指令的爬蟲上下文,并且該所述的網(wǎng)頁采集指令包含有需要采集的網(wǎng)頁地址。步驟102 根據(jù)所述的網(wǎng)頁數(shù)據(jù)采集指令、預置的執(zhí)行邏輯描述文件、預置的業(yè)務(wù)模型數(shù)據(jù)形成執(zhí)行邏輯描述內(nèi)容;該步驟中所述的加載執(zhí)行邏輯描述內(nèi)容可以具體為接收到網(wǎng)頁數(shù)據(jù)采集指令后,根據(jù)所述網(wǎng)頁采集指令中攜帶的屬性定位執(zhí)行邏輯描述文件,將所述執(zhí)行邏輯描述文件加載到爬蟲上下文中,再將業(yè)務(wù)模型數(shù)據(jù)解析合并到執(zhí)行邏輯描述文件中,更新爬蟲上下文。上述步驟中所述的爬蟲上下文即一種承載執(zhí)行邏輯描述文件以及屬性值等內(nèi)容的變量。上述的執(zhí)行邏輯描述文件即在系統(tǒng)中預置的在進行網(wǎng)頁數(shù)據(jù)采集過程中的邏輯; 上述的業(yè)務(wù)模型數(shù)據(jù)即承載了用戶實際需求數(shù)據(jù)的業(yè)務(wù)模型。例如上述的執(zhí)行邏輯描述文件可以是用戶可以根據(jù)自身需要,自行編寫一部分功能代碼;[#setting url—escaping—charset='utf-8'] < xml version=" 1.0" encoding="UTF-8" >
      名稱:Web站點爬蟲模板描述支持單層頁面采集版本號:XX 作者XXXX [include "function.ftl"] <config charset="UTF-8">
      <!--定義全局變量--> <!--下載路徑--> <var-def name="dirM>
      <template>${rootdir}/@{sys.date()}/${id}</template> </var-def> <!--儲存根路徑--> <var-def name=" storgeDirM>
      <template>${storgedir}</template> </var-def>
      <!--文件下載相對路徑--> <var-def name=·丨 fileDir"〉
      <template>@{sys.date()}/${id}</template> </var-def>
      <!--html轉(zhuǎn)換成XML后需要忽略的標簽--> <var-def name="omittags">
      <text>script,style,link,form,noscript,label</text> </var-def>
      <!--格式化日期格式--> <var-def name="dataFormatList">
      <text>yyyy-MM-dd HH:mm:ss,yyyy-MM-dd HH:mm,yyyy-MM-dd,yyyy 年 MM 月 dd 日 HH:mm:ss,yyyy 年 MM 月 dd 日 HH:mm,yyyy 年 MM 月 dd 日 HH:mm,yyyy 年 MM 月 dd 曰 </text>
      </var-def>
      <!--將種子地址轉(zhuǎn)換成XML--> <var-def name="feedURLData">
      <html-to-xmlomitcomments="true"prunetags="@{omittags}"
      outputtype=" simple"〉
      <httpurl="${FreemarkerUtil.encodeURL(targetURL)}7> </html-to-xml> </var-def> 在上述代碼中可以通過${}這樣的描述符來定義一種業(yè)務(wù)模型其中一個屬性,如 ${id}表示取得業(yè)務(wù)模型的id屬性值,上面代碼即是執(zhí)行邏輯描述文件的一部分;當網(wǎng)頁數(shù)據(jù)采集啟動后會取得預置的業(yè)務(wù)模型數(shù)據(jù)并讀取業(yè)務(wù)模型相關(guān)的屬性,即變量dir的值經(jīng)過解析最后輸出為/etc/20110703/01,此處所述的“/etc/20110703/01,,就是最后形成的執(zhí)行邏輯描述內(nèi)容的一部分。用戶需要將編寫好的XML格式執(zhí)行邏輯描述文件部署到網(wǎng)頁數(shù)據(jù)采集系統(tǒng)的特定位置。步驟103 根據(jù)所述執(zhí)行邏輯描述內(nèi)容進行網(wǎng)頁數(shù)據(jù)采集。該步驟的實現(xiàn)需要在系統(tǒng)中自定義一個或多個執(zhí)行單元;也就是說可以對應(yīng)于執(zhí)行邏輯描述文件的內(nèi)容,將每個執(zhí)行邏輯分成一個執(zhí)行單元,也可以將多個執(zhí)行邏輯合成一個執(zhí)行單元來進行;用于處理中間數(shù)據(jù)到自有業(yè)務(wù)模型數(shù)據(jù)的轉(zhuǎn)換(調(diào)用遠程接口做業(yè)務(wù)操作,如入庫等);該步驟中所述的網(wǎng)頁數(shù)據(jù)采集過程可以是步驟1031 根據(jù)爬蟲上下文打開指定的采集地址;步驟1032 根據(jù)指定的XPATH(XPath是一門在XML文檔中查找信息的語言。XPath 用于在XML文檔中通過元素和屬性進行導航。)分析采集地址包含的有效鏈接;步驟1033 循環(huán)打開有效鏈接,將所有有效連接由第一格式(本申請中第一格式鏈接即html (Hypertext Markup Language,超級文本標記語言)轉(zhuǎn)換成第二格式(本申請中所述第二格式鏈接即標準XML (Extensible Markup Language即可擴展標記語言);步驟10;34 通過Xquery (XQuery = XML Query,是W3C所制定的一套標準,用來從類XML文檔中提取信息,類XML文檔可以理解成一切符合XML數(shù)據(jù)模型和接口的實體)表達式分析,到第二格式對應(yīng)的有效連接地址對應(yīng)的網(wǎng)頁提取需要的數(shù)據(jù)到臨時文件中;步驟1035 讀取臨時文件夾中的數(shù)據(jù)轉(zhuǎn)換成業(yè)務(wù)模型數(shù)據(jù);步驟1036 調(diào)用所述的業(yè)務(wù)模型數(shù)據(jù)進行業(yè)務(wù)操作,如批量入庫等。以上步驟1031到1036僅是一個標準的網(wǎng)頁數(shù)據(jù)采集流程;用戶可以根據(jù)需要自定義開發(fā)需要的功能;也可以將上述步驟1031到步驟1036的每個步驟單獨設(shè)置一個執(zhí)行單元,也可以將上述步驟1031到步驟1036合成一個總的執(zhí)行單元,設(shè)置方法并不構(gòu)成對本發(fā)明的限制。又例如,步驟103中所述的網(wǎng)頁數(shù)據(jù)采集過程可以是步驟2031 根據(jù)爬蟲上下文打開指定的采集地址;步驟2032 根據(jù)指定的XPATH(XPath是一門在XML文檔中查找信息的語言。XPath 用于在XML文檔中通過元素和屬性進行導航。)分析采集地址包含的有效鏈接;步驟2033 判斷被采集鏈接是否已更新,如果已更新設(shè)置標志位為“需要更新的內(nèi)容”,沒有更新的但已存在的則直接忽略不采集。步驟2034:循環(huán)打開有效鏈接,將有效鏈接的第一格式(第一格式即 htmlHypertext Markup Language,超級文本標記語言)轉(zhuǎn)換成第二格式(第二格式即標準 XML Extensible Markup Language 艮口可擴展標i己i吾言)格式;步驟2035 通過預置XPATH表達式分析轉(zhuǎn)換后的XML是否含有分頁鏈接地址,如 <a href =” XXX” >下一頁</a>,此時可提取分頁鏈接屬性href (分頁鏈接的其中一種屬性)的值作為采集下一頁的依據(jù);重復執(zhí)行該步驟,直到所有分頁鏈接地址都已經(jīng)提取。步驟2036 通過Xquery表達式分析提取需要的數(shù)據(jù)到臨時文件中;步驟2037 讀取臨時文件數(shù)據(jù)轉(zhuǎn)換成業(yè)務(wù)模型數(shù)據(jù);步驟2038 調(diào)用所述的業(yè)務(wù)模型數(shù)據(jù)進行業(yè)務(wù)操作,如批量入庫等,在入庫前對每個抓取的內(nèi)容進行“是否更新”判斷(該狀態(tài)由2034步驟設(shè)置),如果需要更新,則在入庫時直接更新現(xiàn)有數(shù)據(jù)源(如數(shù)據(jù)庫,文件系統(tǒng)等)的數(shù)據(jù),否則新增一條內(nèi)容。以上步驟2031到2038僅是一個標準的網(wǎng)頁數(shù)據(jù)采集流程;用戶可以根據(jù)需要自定義開發(fā)需要的功能;也可以將上述步驟2031到2038的每個步驟單獨設(shè)置一個執(zhí)行單元, 也可以將上述步步驟2031到2038合成一個總的執(zhí)行單元,設(shè)置方法并不構(gòu)成對本發(fā)明的限制。通過本發(fā)明提供的網(wǎng)頁數(shù)據(jù)采集方法、裝置,通過擴展業(yè)務(wù)模型接口、預置執(zhí)行邏輯描述文件,以及預置一個或多個執(zhí)行功能,能夠快速有效的獲取網(wǎng)頁數(shù)據(jù),與此同時由于可以將獲取的網(wǎng)頁數(shù)據(jù)直接應(yīng)用于企業(yè)模型中,不需將獲取的數(shù)據(jù)存入數(shù)據(jù)庫或EXCLE,以及將獲取的數(shù)據(jù)從數(shù)據(jù)庫或EXCLE轉(zhuǎn)出、并應(yīng)用于企業(yè)模型等中間操作的情況,因此降低了用戶操作的難度,降低了獲取網(wǎng)頁數(shù)據(jù)的門檻;進一步的,本發(fā)明提供的網(wǎng)頁數(shù)據(jù)采集方法、裝置,可以通過企業(yè)根據(jù)自身需要自定義執(zhí)行功能,使得企業(yè)能夠以更加靈活的方式獲取網(wǎng)頁數(shù)據(jù);而不必受限于傳統(tǒng)網(wǎng)頁數(shù)據(jù)獲取方法的封閉模式;進一步的,本發(fā)明提供的網(wǎng)頁數(shù)據(jù)采集方法、裝置,可以支持多任務(wù)模式,提高了網(wǎng)頁數(shù)據(jù)獲取的速度;進一步的,本發(fā)明提供的網(wǎng)頁數(shù)據(jù)采集方法、裝置,由于只需將執(zhí)行邏輯描述文件進行更新就可以完成整個方法及系統(tǒng)的更新,因此可以實時更新網(wǎng)頁數(shù)據(jù)采集的邏輯,實現(xiàn)不間斷服務(wù);從而避免了現(xiàn)有技術(shù)中要實現(xiàn)新的邏輯時必須整體升級網(wǎng)頁數(shù)據(jù)采集的方法、裝置,導致間斷服務(wù)的缺陷。實施例二對應(yīng)于實施例一,本發(fā)明提供了一種網(wǎng)頁數(shù)據(jù)采集的系統(tǒng),參見圖2,該系統(tǒng)包括 擴展接口裝置、任務(wù)接收裝置、加載裝置;任務(wù)執(zhí)行裝置擴展接口裝置用于預置業(yè)務(wù)模型屬性;任務(wù)接收裝置與所述擴展接口裝置相連,用于接收屬于預置的業(yè)務(wù)模型屬性的網(wǎng)頁數(shù)據(jù)采集指令;該裝置可以接收任務(wù)并發(fā)控制器和/或計劃任務(wù)控制器的指令,然后爬蟲任務(wù)執(zhí)行裝置根據(jù)所述指令構(gòu)建爬蟲上下文;由多任務(wù)并發(fā)控制器和/或劃任務(wù)控制器發(fā)送網(wǎng)頁數(shù)據(jù)采集指令,該指令中可以包括預先自定義的業(yè)務(wù)模型屬性,(也就是擴展業(yè)務(wù)模型接口),這些屬性預置于系統(tǒng)中, 其中自定義的屬性可以用于實現(xiàn)擴展業(yè)務(wù)模型。并由爬蟲任務(wù)裝置構(gòu)建網(wǎng)頁數(shù)據(jù)采集上下文。加載裝置用于根據(jù)所述的網(wǎng)頁數(shù)據(jù)采集指令、預置的執(zhí)行邏輯描述文件、業(yè)務(wù)模型數(shù)據(jù)形成執(zhí)行邏輯描述內(nèi)容;其中所述的所述的任務(wù)接收裝置進一步用于根據(jù)所述指令構(gòu)建爬蟲上下文,那么所述加載裝置可以包括執(zhí)行邏輯文件分析單元、存儲單元、業(yè)務(wù)模型處理單元、業(yè)務(wù)模型適配單元;所述的執(zhí)行邏輯文件分析單元,用于接收到網(wǎng)頁數(shù)據(jù)采集指令后,根據(jù)所述網(wǎng)頁采集指令中攜帶的屬性到存儲單元中定位執(zhí)行邏輯描述文件,將所述執(zhí)行邏輯描述文件加載到爬蟲上下文中;所述的存儲單元,用于預置執(zhí)行邏輯描述文件;所述的業(yè)務(wù)模型處理單元,用于將預置的業(yè)務(wù)模型數(shù)據(jù)與執(zhí)行邏輯描述文件進行解析合并,更新爬蟲上下文;所述的業(yè)務(wù)模型適配單元,用于預置業(yè)務(wù)模型數(shù)據(jù);任務(wù)執(zhí)行裝置,用于根據(jù)爬蟲上下文進行網(wǎng)頁數(shù)據(jù)采集。其中任務(wù)執(zhí)行裝置的一種結(jié)構(gòu)可以為參加圖3,所述的任務(wù)執(zhí)行裝置可以包括連接單元、分析單元、循環(huán)處理單元、提取單元、轉(zhuǎn)換單元、第一操作單元;連接單元,用于根據(jù)所述的爬蟲上下文打開指定網(wǎng)頁采集地址;分析單元,用于根據(jù)指定XPATH分析網(wǎng)頁采集地址包含的有效鏈接;循環(huán)處理單元,用于循環(huán)打開有效連接,將有效連接的html轉(zhuǎn)換為標準XML格式;提取單元,用于通過Xquery分析提取需要的數(shù)據(jù)到臨時文件中;也就是用于分析有效連接的第二格式并到對應(yīng)網(wǎng)頁提取需要的數(shù)據(jù)到臨時文件中;轉(zhuǎn)換單元,用于讀取臨時文件數(shù)據(jù)轉(zhuǎn)換成業(yè)務(wù)模型數(shù)據(jù);第一操作單元,用于調(diào)用所述的業(yè)務(wù)模型數(shù)據(jù)進行業(yè)務(wù)操作,如批量入庫等。在上述的任務(wù)執(zhí)行裝置,還可以包括其他自定義的單元,用來完成新的功能。只要能夠完成網(wǎng)頁數(shù)據(jù)采集,所述的任務(wù)執(zhí)行裝置并不僅僅限于上述的幾種功能單元。其中任務(wù)執(zhí)行裝置的一種結(jié)構(gòu)可以為參見圖4,所述的任務(wù)執(zhí)行裝置可以包括連接單元、分析單元、更新單元、循環(huán)處理單元、分頁鏈接處理單元、提取單元、轉(zhuǎn)換單元、第二操作單元;連接單元,用于根據(jù)所述的爬蟲上下文打開指定網(wǎng)頁采集地址;分析單元,用于根據(jù)指定XPATH分析網(wǎng)頁采集地址包含的有效鏈接;更新單元,用于判斷有效鏈接是否已更新,如果已更新設(shè)置標志位為“需要更新的內(nèi)容”,沒有更新的但已存在的則直接忽略;循環(huán)處理單元,用于循環(huán)打開有效連接,將有效連接的html轉(zhuǎn)換為標準XML格式;分頁鏈接處理單元,用于重復分析預置的XPATH表達式分析轉(zhuǎn)換后的XML是否含有分頁鏈接地址,若有則提取分頁鏈接屬性href的值作為采集下一頁的依據(jù);直到所有分頁鏈接地址都已經(jīng)提取;提取單元,用于通過Xquery分析提取需要的數(shù)據(jù)到臨時文件中;也就是分析有效連接第二格式并到對應(yīng)網(wǎng)頁提取需要的數(shù)據(jù)到臨時文件中;轉(zhuǎn)換單元,用于讀取臨時文件數(shù)據(jù)轉(zhuǎn)換成業(yè)務(wù)模型數(shù)據(jù);第二操作單元,用于調(diào)用所述的業(yè)務(wù)模型數(shù)據(jù)進行業(yè)務(wù)操作,并根據(jù)更新單元的標志進行有效連接的更新。如批量入庫等,在入庫前對每個抓取的內(nèi)容進行“是否更新”判斷(該狀態(tài)由更新單元設(shè)置),如果需要更新,則在入庫時直接更新現(xiàn)有數(shù)據(jù)源(如數(shù)據(jù)庫, 文件系統(tǒng)等)的數(shù)據(jù),否則新增一條內(nèi)容。在上述的任務(wù)執(zhí)行裝置,還可以包括其他自定義的單元,用來完成新的功能。只要能夠完成網(wǎng)頁數(shù)據(jù)采集,所述的任務(wù)執(zhí)行裝置并不僅僅限于上述的幾種功能單元。通過本發(fā)明提供的網(wǎng)頁數(shù)據(jù)采集方法、系統(tǒng),通過擴展業(yè)務(wù)模型接口、預置執(zhí)行邏輯描述文件,以及預置一個或多個執(zhí)行功能,能夠快速有效的獲取網(wǎng)頁數(shù)據(jù),與此同時由于可以將獲取的網(wǎng)頁數(shù)據(jù)直接應(yīng)用于企業(yè)模型中,不需將獲取的數(shù)據(jù)存入數(shù)據(jù)庫或EXCLE,以及將獲取的數(shù)據(jù)從數(shù)據(jù)庫或EXCLE轉(zhuǎn)出、并應(yīng)用于企業(yè)模型等中間操作的情況,因此降低了用戶操作的難度,降低了獲取網(wǎng)頁數(shù)據(jù)的門檻;進一步的,本發(fā)明提供的網(wǎng)頁數(shù)據(jù)采集方法、裝置,可以通過企業(yè)根據(jù)自身需要自定義執(zhí)行功能,使得企業(yè)能夠以更加靈活的方式獲取網(wǎng)頁數(shù)據(jù);而不必受限于傳統(tǒng)網(wǎng)頁數(shù)據(jù)獲取方法的封閉模式;進一步的,本發(fā)明提供的網(wǎng)頁數(shù)據(jù)采集方法、裝置,可以支持多任務(wù)模式,提高了網(wǎng)頁數(shù)據(jù)獲取的速度;進一步的,本發(fā)明提供的網(wǎng)頁數(shù)據(jù)采集方法、裝置,由于只需將執(zhí)行邏輯描述文件進行更新就可以完成整個方法及系統(tǒng)的更新,因此可以實時更新網(wǎng)頁數(shù)據(jù)采集的邏輯,實現(xiàn)不間斷服務(wù);從而避免了現(xiàn)有技術(shù)中要實現(xiàn)新的邏輯時必須整體升級網(wǎng)頁數(shù)據(jù)采集的方法、裝置,導致間斷服務(wù)的缺陷。本領(lǐng)域的普通技術(shù)人員可以理解,實現(xiàn)上述實施例方法中的全部或部分步驟是可以通過程序指令相關(guān)硬件來完成的,所述的程序可以存儲于一計算機可讀取存儲介質(zhì)中, 所述的存儲介質(zhì)可以為ROM、RAM、磁盤、光盤等。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
      權(quán)利要求
      1.一種網(wǎng)頁數(shù)據(jù)采集系統(tǒng),其特征在于,所述的系統(tǒng)包括擴展接口裝置、任務(wù)接收裝置、加載裝置;任務(wù)執(zhí)行裝置擴展接口裝置用于預置業(yè)務(wù)模型屬性;任務(wù)接收裝置與所述擴展接口裝置相連,用于接收屬于預置的業(yè)務(wù)模型屬性的網(wǎng)頁數(shù)據(jù)采集指令;加載裝置用于根據(jù)所述的網(wǎng)頁數(shù)據(jù)采集指令、預置的執(zhí)行邏輯描述文件、預置的業(yè)務(wù)模型數(shù)據(jù)形成執(zhí)行邏輯描述內(nèi)容;任務(wù)執(zhí)行裝置,用于根據(jù)爬蟲上下文進行網(wǎng)頁數(shù)據(jù)采集。
      2.根據(jù)權(quán)利要求1所述的網(wǎng)頁數(shù)據(jù)采集系統(tǒng),其特征在于,所述的任務(wù)接收裝置進一步用于根據(jù)所述指令構(gòu)建爬蟲上下文;所述的加載裝置包括執(zhí)行邏輯文件分析單元、存儲單元、業(yè)務(wù)模型處理單元、業(yè)務(wù)模型適配單元;所述的執(zhí)行邏輯文件分析單元,用于在接收到網(wǎng)頁數(shù)據(jù)采集指令后,根據(jù)所述網(wǎng)頁采集指令中攜帶的屬性,到存儲單元中定位預置的執(zhí)行邏輯描述文件,將所述執(zhí)行邏輯描述文件加載到爬蟲上下文中;所述的存儲單元,用于預置執(zhí)行邏輯描述文件;所述的業(yè)務(wù)模型處理單元,用于將預置的業(yè)務(wù)模型數(shù)據(jù)與執(zhí)行邏輯描述文件進行解析合并,更新爬蟲上下文;所述的業(yè)務(wù)模型適配單元,用于預置業(yè)務(wù)模型數(shù)據(jù)。
      3.根據(jù)權(quán)利要求2所述的網(wǎng)頁數(shù)據(jù)采集系統(tǒng),其特征在于,所述的任務(wù)執(zhí)行裝置可以包括連接單元、分析單元、循環(huán)處理單元、提取單元、轉(zhuǎn)換單元和第一操作單元;連接單元,用于根據(jù)所述的爬蟲上下文打開指定網(wǎng)頁采集地址; 分析單元,用于分析網(wǎng)頁采集地址包含的有效鏈接;循環(huán)處理單元,用于循環(huán)打開有效連接,將有效連接的第一格式轉(zhuǎn)換為第二格式; 提取單元,用于分析有效連接的第二格式并到對應(yīng)網(wǎng)頁提取需要的數(shù)據(jù)到臨時文件中;轉(zhuǎn)換單元,用于讀取所述的臨時文件中的數(shù)據(jù)并將其轉(zhuǎn)換成業(yè)務(wù)模型數(shù)據(jù); 第一操作單元,用于調(diào)用所述的業(yè)務(wù)模型數(shù)據(jù)進行業(yè)務(wù)操作。
      4.根據(jù)權(quán)利要求2所述的網(wǎng)頁數(shù)據(jù)采集系統(tǒng),其特征在于,所述的任務(wù)執(zhí)行裝置可以包括連接單元、分析單元、更新單元、循環(huán)處理單元、分頁鏈接處理單元、提取單元、轉(zhuǎn)換單元、第二操作單元;連接單元,用于根據(jù)所述的爬蟲上下文打開指定網(wǎng)頁采集地址; 分析單元,用于分析網(wǎng)頁采集地址包含的有效鏈接;更新單元,用于判斷有效鏈接是否已更新,如果已更新則設(shè)置相應(yīng)的標志,沒有更新的但已存在的則直接忽略;循環(huán)處理單元,用于循環(huán)打開有效連接,將有效連接的第一格式轉(zhuǎn)換為第二格式; 分頁鏈接處理單元,用于重復分析第二格式的有效連接是否含有分頁鏈接地址,若有則提取分頁鏈接屬性的值作為采集下一頁的依據(jù),直到所有分頁鏈接地址都已經(jīng)提?。?提取單元,用于分析有效連接第二格式并到對應(yīng)網(wǎng)頁提取需要的數(shù)據(jù)到臨時文件中;轉(zhuǎn)換單元,用于讀取所述的臨時文件中的數(shù)據(jù)并將其轉(zhuǎn)換成業(yè)務(wù)模型數(shù)據(jù); 第二操作單元,用于調(diào)用所述的業(yè)務(wù)模型數(shù)據(jù)進行業(yè)務(wù)操作,并根據(jù)更新單元的標志進行有效連接的更新。
      5.一種網(wǎng)頁數(shù)據(jù)采集方法,其特征在于,所述的方法包括 接收網(wǎng)頁數(shù)據(jù)采集指令;根據(jù)所述的網(wǎng)頁數(shù)據(jù)采集指令、預置的執(zhí)行邏輯描述文件、預置的業(yè)務(wù)模型數(shù)據(jù)形成執(zhí)行邏輯描述內(nèi)容;根據(jù)所述執(zhí)行邏輯描述內(nèi)容進行網(wǎng)頁數(shù)據(jù)采集。
      6.根據(jù)權(quán)利要求5所述的網(wǎng)頁數(shù)據(jù)采集方法,其特征在于,所述接收網(wǎng)頁數(shù)據(jù)采集指令后進一步根據(jù)所述指令構(gòu)建爬蟲上下文;所述的“根據(jù)所述的網(wǎng)頁數(shù)據(jù)采集指令、預置的執(zhí)行邏輯描述文件、預置的業(yè)務(wù)模型數(shù)據(jù)形成執(zhí)行邏輯描述內(nèi)容”具體為接收到網(wǎng)頁數(shù)據(jù)采集指令后,根據(jù)所述網(wǎng)頁采集指令中攜帶的屬性,到預置的執(zhí)行邏輯描述文件中定位執(zhí)行邏輯描述文件,將所述執(zhí)行邏輯描述文件加載到爬蟲上下文中; 將預置的業(yè)務(wù)模型數(shù)據(jù)與執(zhí)行邏輯描述文件進行解析合并,更新爬蟲上下文。
      7.根據(jù)權(quán)利要求6所述的網(wǎng)頁數(shù)據(jù)采集方法,其特征在于, 所述的“根據(jù)所述執(zhí)行邏輯描述內(nèi)容進行網(wǎng)頁數(shù)據(jù)采集”具體為 根據(jù)所述的爬蟲上下文打開指定的采集地址;分析采集地址包含的有效鏈接;循環(huán)打開有效鏈接,將所有有效連接由第一格式轉(zhuǎn)換成第二格式; 分析有效連接第二格式并到對應(yīng)網(wǎng)頁提取需要的數(shù)據(jù)到臨時文件中; 讀取所述的臨時文件中的數(shù)據(jù)并將其轉(zhuǎn)換成業(yè)務(wù)模型數(shù)據(jù); 調(diào)用所述的業(yè)務(wù)模型數(shù)據(jù)進行業(yè)務(wù)操作。
      8.根據(jù)權(quán)利要求6所述的網(wǎng)頁數(shù)據(jù)采集方法,其特征在于,所述的“根據(jù)所述執(zhí)行邏輯描述內(nèi)容進行網(wǎng)頁數(shù)據(jù)采集”具體為根據(jù)所述的爬蟲上下文打開指定網(wǎng)頁采集地址; 分析網(wǎng)頁采集地址包含的有效鏈接;判斷被采集鏈接是否已更新,如果已更新則設(shè)置相應(yīng)的標志,沒有更新的但已存在的則直接忽略;循環(huán)打開有效連接,將有效連接由第一格式轉(zhuǎn)換為第二格式; 重復分析第二格式鏈接是否含有分頁鏈接地址,若有則提取分頁鏈接屬性的值作為采集下一頁的依據(jù),直到所有分頁鏈接地址都已經(jīng)提取;分析有效連接第二格式并到對應(yīng)網(wǎng)頁提取需要的數(shù)據(jù)到臨時文件中; 讀取所述的臨時文件中的數(shù)據(jù)并將其轉(zhuǎn)換成業(yè)務(wù)模型數(shù)據(jù); 調(diào)用所述的業(yè)務(wù)模型數(shù)據(jù)進行業(yè)務(wù)操作。
      9.根據(jù)權(quán)利要求7或8所述的網(wǎng)頁數(shù)據(jù)采集方法,其特征在于,所述的第一格式為超級文本標記語言;所述的第二格式為可擴展標記語言。
      10.根據(jù)權(quán)利要求7或8所述的網(wǎng)頁數(shù)據(jù)采集方法,其特征在于,所述的“提取需要的數(shù)據(jù)到預置的臨時文件中”具體為根據(jù)指定的XPATH表達式分析提取需要的數(shù)據(jù)到臨時文件中。
      全文摘要
      本發(fā)明提供的一種網(wǎng)頁數(shù)據(jù)采集系統(tǒng)包括擴展接口裝置、任務(wù)接收裝置、加載裝置;任務(wù)執(zhí)行裝置擴展接口裝置;本發(fā)明還提供了一種網(wǎng)頁數(shù)據(jù)采集方法。本發(fā)明提供的網(wǎng)頁數(shù)據(jù)采集方法、裝置,通過擴展自定義網(wǎng)頁數(shù)據(jù)采集接口、預置業(yè)務(wù)模型模板,以及預置一個或多個執(zhí)行功能,能夠快速有效的獲取網(wǎng)頁數(shù)據(jù),與此同時由于可以將獲取的網(wǎng)頁數(shù)據(jù)直接應(yīng)用于企業(yè)模型中,不需將獲取的數(shù)據(jù)存入數(shù)據(jù)庫或EXCLE,以及將獲取的數(shù)據(jù)從數(shù)據(jù)庫或EXCLE轉(zhuǎn)出、并應(yīng)用于企業(yè)模型等中間操作的情況,因此降低了用戶操作的難度,降低了獲取網(wǎng)頁數(shù)據(jù)的門檻。
      文檔編號G06F17/30GK102254046SQ20111023739
      公開日2011年11月23日 申請日期2011年8月18日 優(yōu)先權(quán)日2011年8月18日
      發(fā)明者阮航 申請人:深圳市融創(chuàng)天下科技股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1