專利名稱:一種b/s結構系統的數據抓取方法
技術領域:
本發明屬于計算機及互聯網技術領域,涉及一種數據抓取方法,尤其涉及一種B/S 結構系統的數據抓取方法。
背景技術:
目前在電子政務的推動工作中,往往要遇到這樣一個問題各政府部門條線系統在建設各自的信息系統時,對于與其他部門的信息系統的對接問題的考慮不周,這導致了各個系統之間缺乏橫向聯系,無法共享一些公共的數據信息。這種現象引發了一系列的問題包括系統數據的冗余,數據的 缺失,甚至是不同系統中相通對象的描述數據嚴重不符;還存在二次數據錄入的問題,相關系統數據維護者可能要向多個系統錄入相關的數據,客觀上加重了系統數據維護者的工作量。這一現象是與系統建設推動工作效率、減輕工作強度的初衷相違背的。但是要合理解決上述問題,不僅僅要靠技術上突破,還往往需要政府拿出切實可行政務電子化的發展方針,要有一個合理并彈性的,能協調各條線部門聯橫發展的路線來。例如,上海各區縣鎮都在進行電子政務的建設,大都遇到一個問題,民政和勞保兩條線中都有各自先前建設的老系統,一個是B/S結構的,一個是C/S結構的。遇到的實際困難是這兩個系統的后臺數據庫是無法向第三方公開的,也就是說,第三方無法直接向這些數據庫中讀寫維護相關數據,所以客觀上講,第三方只有通過現有這兩個系統來(合法地) 完成數據維護。同時由于第三方要建立由上海區縣政府所使用信息系統,這不可避免的會使用到民政和勞保的數據信息。如果采用同步錄入數據,也就出現了前節所提到的二次錄入的問題。此外,還有一些業務數據只能通過網頁的方式訪問、查看,很難成為可以直接利用的數據資源,數據展示格式已固定不變,不能夠靈活運用。
發明內容
本發明所要解決的技術問題是提供一種B/S結構系統的數據抓取方法,可方便快捷地抓取其他B/S結構業務系統的數據,并提供給其他業務系統錄入。為解決上述技術問題,本發明采用如下技術方案一種上述數據抓取系統的數據抓取方法,所述方法包括地址列表獲取步驟,獲取需要抓取的網頁的地址列表信息;網頁數據請求步驟,根據網頁的地址列表信息提出請求,得到網頁的內容;網頁數據抓取步驟,分析網頁的結構,并提取出想要的內容。作為本發明的一種優選方案,所述方法進一步包括模擬登錄步驟,根據登錄驗證信息模擬登錄;登錄后,再進行數據的抓取。作為本發明的一種優選方案,所述網頁數據抓取步驟中,根據數據發送的源地址與目標地址抓取所需的網頁中的數據,抓取的數據為TCP/IP數據包,對TCP/IP數據包進行解析后獲得HTTP協議中的文本數據。作為本發明的一種優選方案,所述方法包括C/S數據抓取流程,抓取C/S結構系統的數據;包括如下步驟鉤子加載步驟鉤子加載模塊根據進程數量生成設定數量的抓取鉤子模塊,配置給需要抓取的進程;一個進程配置一個抓取鉤子模塊,或者多個進程配置一個抓取鉤子模塊,或者一個進程配置多個抓取鉤子模塊;數據抓取步驟抓取鉤子模塊監控其對應進程中業務數據的傳遞,并抓取相應的業務數據;
配置文件生成步驟配置文件生成模塊將所述抓取鉤子模塊抓取的業務數據按照可配置的格式寫入配置文件中,供其他系統進行數據錄入。數據利用步驟,根據所述配置文件生成模塊生成的配置文件獲取相應數據,并進行數據錄入。本發明的有益效果在于本發明提出的B/S結構系統的數據抓取方法,可方便快捷地抓取其他B/S結構業務系統的數據,并提供給其他業務系統錄入。本發明使用WINDOWS SOCKET的方法抓取流經網絡的網頁中的數據,當用戶提交網頁數據時,B/S程序就能夠根據數據發送的源地址與目標地址抓取所需的網頁中的數據,因為是抓取的TCP/IP數據包,需要對其進行解析從而獲得HTTP協議中的文本數據。
圖I為實施例一中數據抓取系統的框架圖。圖2為實施例一中數據抓取系統的組成示意圖。圖3為實施例一中第一數據抓取子系統的組成示意圖。圖4為實施例一中第一數據抓取流程的流程圖。圖5為實施例一中第二數據抓取流程的流程圖。圖6為實施例二中B/S結構系統的數據抓取系統的組成示意圖。
具體實施例方式下面結合附圖詳細說明本發明的優選實施例。實施例一請參閱圖I、圖2,本發明揭示了一種數據抓取系統,所述系統包括兩大子系統第一數據抓取子系統10、第二數據抓取子系統20。即,本實施例中,本發明可方便快捷地抓取其他B/S結構業務系統、C/S結構業務系統的數據。第一數據抓取子系統10用以抓取C/S結構系統30的數據,包括所述鉤子加載模塊11、抓取鉤子模塊12、配置文件生成模塊13 ;第二數據抓取子系統20用以抓取B/S結構系統40的數據;所述第二數據抓取子系統20包括地址列表獲取模塊21、網頁數據請求模塊22、網頁數據抓取模塊23。第一數據抓取子系統請參閱圖2、圖3,第一數據抓取子系統10中,鉤子加載模塊11用以根據進程數量生成設定數量的抓取鉤子模塊,配置給需要抓取的進程;一個進程配置一個抓取鉤子模塊,或者多個進程配置一個抓取鉤子模塊,或者一個進程配置多個抓取鉤子模塊。抓取鉤子模塊12用以監控其對應進程中業務數據的傳遞,并抓取相應的業務數據。配置文件生成模塊13用以將所述抓取鉤子模塊抓取的業務數據按照可配置的格式寫入配置文件中,供其他系統進行數據錄入。所述鉤子加載模塊11、抓取鉤子模塊12、配置文件生成模塊13設置于第一 C/S業務系統對應的計算機中;所述系統還包括設置于第二 C/S業務系統對應的計算機中的數據利用模塊50,用以根據所述配置文件生成模塊生成的配置文件獲取相應數據,并進行數據錄入。第二數據抓取子系統第二數據抓取子系統20中,地址列表獲取模塊21用以獲取需要抓取的網頁的地址列表信息。網頁數據請求模塊22用以根據網頁的地址列表信息提出請求,得到網頁的內容。網頁數據抓取模塊23用以分析網頁的結構,并提取出想要的內容。所述網頁數據抓取模塊用以根據數 據發送的源地址與目標地址抓取所需的網頁中的數據,抓取的數據為 TCP/IP數據包,對TCP/IP數據包進行解析后獲得HTTP協議中的文本數據。由于某些網站的數據需要登錄后才能夠訪問,對于這類安全性高的數據,需要模擬登錄,對數據頁面進行解析,然后才能抓取利用。所述第二數據抓取子系統包括模擬登錄模塊,用以根據登錄驗證信息模擬登錄;登錄后,再進行數據的抓取。以上介紹了本發明數據抓取系統的組成,本發明在揭示上述數據抓取系統的同時,還揭示一種上述數據抓取系統的數據抓取方法,所述方法包括第一數據抓取流程、第二數據抓取流程。請參閱圖4,第一數據抓取流程具體包括如下步驟鉤子加載步驟鉤子加載模塊根據進程數量生成設定數量的抓取鉤子模塊,配置給需要抓取的進程;一個進程配置一個抓取鉤子模塊,或者多個進程配置一個抓取鉤子模塊,或者一個進程配置多個抓取鉤子模塊;數據抓取步驟抓取鉤子模塊監控其對應進程中業務數據的傳遞,并抓取相應的業務數據;配置文件生成步驟配置文件生成模塊將所述抓取鉤子模塊抓取的業務數據按照可配置的格式寫入配置文件中,供其他系統進行數據錄入。數據利用步驟,根據所述配置文件生成模塊生成的配置文件獲取相應數據,并進行數據錄入。請參閱圖5,第二數據抓取流程具體包括如下步驟地址列表獲取步驟,獲取需要抓取的網頁的地址列表信息。模擬登錄步驟,根據登錄驗證信息模擬登錄;登錄后,再進行數據的抓取。本步驟主要是針對一些需要登錄后才能夠訪問數據的網站,對于這類安全性高的數據,需要模擬登錄,對數據頁面進行解析,然后才能抓取利用。網頁數據請求步驟,根據網頁的地址列表信息提出請求,得到網頁的內容。網頁數據抓取步驟,分析網頁的結構,并提取出想要的內容。具體地,根據數據發送的源地址與目標地址抓取所需的網頁中的數據,抓取的數據為TCP/IP數據包,對TCP/IP 數據包進行解析后獲得HTTP協議中的文本數據。實施例二請參閱圖6,本發明揭示了一種B/S結構系統的數據抓取系統200,所述系統包括 地址列表獲取模塊210、網頁數據請求模塊220、網頁數據抓取模塊230。地址列表獲取模塊210用以獲取需要抓取的網頁的地址列表信息。網頁數據請求模塊220用以根據網頁的地址列表信息提出請求,得到網頁的內容。網頁數據抓取模塊230用以分析網頁的結構,并提取出想要的內容。所述網頁數據抓取模塊用以根據數據發送的源地址與目標地址抓取所需的網頁中的數據,抓取的數據為TCP/IP數據包,對TCP/IP數據包進行解析后獲得HTTP協議中的文本數據。 由于某些網站的數據需要登錄后才能夠訪問,對于這類安全性高的數據,需要模擬登錄,對數據頁面進行解析,然后才能抓取利用。所述第二數據抓取子系統包括模擬登錄模塊,用以根據登錄驗證信息模擬登錄;登錄后,再進行數據的抓取。以上介紹了本發明B/S結構系統的數據抓取系統的組成,本發明在揭示上述數據抓取系統的同時,還揭示一種上述數據抓取系統的數據抓取方法,具體包括如下步驟地址列表獲取步驟,獲取需要抓取的網頁的地址列表信息。模擬登錄步驟,根據登錄驗證信息模擬登錄;登錄后,再進行數據的抓取。本步驟主要是針對一些需要登錄后才能夠訪問數據的網站,對于這類安全性高的數據,需要模擬登錄,對數據頁面進行解析,然后才能抓取利用。網頁數據請求步驟,根據網頁的地址列表信息提出請求,得到網頁的內容。網頁數據抓取步驟,分析網頁的結構,并提取出想要的內容。具體地,根據數據發送的源地址與目標地址抓取所需的網頁中的數據,抓取的數據為TCP/IP數據包,對TCP/IP 數據包進行解析后獲得HTTP協議中的文本數據。綜上所述,本發明提出的B/S結構系統的數據抓取方法,可方便快捷地抓取其他 B/S結構業務系統的數據,并提供給其他業務系統錄入。本發明使用WINDOWS SOCKET的方法抓取流經網絡的網頁中的數據,當用戶提交網頁數據時,B/S程序就能夠根據數據發送的源地址與目標地址抓取所需的網頁中的數據,因為是抓取的TCP/IP數據包,需要對其進行解析從而獲得HTTP協議中的文本數據。這里本發明的描述和應用是說明性的,并非想將本發明的范圍限制在上述實施例中。這里所披露的實施例的變形和改變是可能的,對于那些本領域的普通技術人員來說實施例的替換和等效的各種部件是公知的。本領域技術人員應該清楚的是,在不脫離本發明的精神或本質特征的情況下,本發明可以以其它形式、結構、布置、比例,以及用其它組件、 材料和部件來實現。在不脫離本發明范圍和精神的情況下,可以對這里所披露的實施例進行其它變形和改變。
權利要求
1.ー種B/S結構系統的數據抓取方法,其特征在于,所述方法包括 地址列表獲取步驟,獲取需要抓取的網頁的地址列表信息; 網頁數據請求步驟,根據網頁的地址列表信息提出請求,得到網頁的內容; 網頁數據抓取步驟,分析網頁的結構,并提取出想要的內容。
2.根據權利要求I所述的數據抓取方法,其特征在干 所述方法進ー步包括模擬登錄步驟,根據登錄驗證信息模擬登錄;登錄后,再進行數據的抓取。
3.根據權利要求I所述的數據抓取方法,其特征在于 所述網頁數據抓取步驟中,根據數據發送的源地址與目標地址抓取所需的網頁中的數據,抓取的數據為TCP/IP數據包,對TCP/IP數據包進行解析后獲得HTTP協議中的文本數據。
4.根據權利要求3所述的數據抓取方法,其特征在于 所述方法包括C/S數據抓取流程,抓取C/S結構系統的數據;包括如下步驟 鉤子加載步驟鉤子加載模塊根據進程數量生成設定數量的抓取鉤子模塊,配置給需要抓取的進程;一個進程配置ー個抓取鉤子模塊,或者多個進程配置ー個抓取鉤子模塊,或者一個進程配置多個抓取鉤子模塊; 數據抓取步驟抓取鉤子模塊監控其對應進程中業務數據的傳遞,并抓取相應的業務數據; 配置文件生成步驟配置文件生成模塊將所述抓取鉤子模塊抓取的業務數據按照可配置的格式寫入配置文件中,供其他系統進行數據錄入。
數據利用步驟,根據所述配置文件生成模塊生成的配置文件獲取相應數據,并進行數據錄入。
全文摘要
本發明揭示了一種B/S結構系統的數據抓取方法,所述方法包括地址列表獲取步驟,獲取需要抓取的網頁的地址列表信息;網頁數據請求步驟,根據網頁的地址列表信息提出請求,得到網頁的內容;網頁數據抓取步驟,分析網頁的結構,并提取出想要的內容。本發明提出的B/S結構系統的數據抓取方法,可方便快捷地抓取其他B/S結構業務系統的數據,并提供給其他業務系統錄入。
文檔編號G06F17/30GK102708178SQ201210141010
公開日2012年10月3日 申請日期2012年5月8日 優先權日2012年5月8日
發明者吳衛平 申請人:上海互聯網軟件有限公司, 上海互軟信息科技有限公司