網頁抓取方法及裝置的制造方法
【專利摘要】本申請公開一種網頁抓取方法,包括:確定不同任務類型的可以執行的網頁抓取任務;分別為不同任務類型的可以執行的網頁抓取任務分配抓取資源;利用分配的抓取資源,執行所述可以執行的網頁抓取任務。該方法通過給不同任務類型的網頁抓取任務分配抓取資源,使得不同任務類型的網頁抓取任務能夠同時執行,克服了現有技術中存在的網頁抓取效率的普遍偏低的問題。本申請還公開一種網頁抓取裝置。
【專利說明】
網頁抓取方法及裝置
技術領域
[0001]本申請涉及計算機技術領域,尤其涉及一種網頁抓取方法及裝置。
【背景技術】
[0002]現有技術中,大部分的網頁抓取系統(如Heritrix、Lucene等開源系統)一般都采用分布式的抓取方式進行網頁抓取,即在分布式抓取服務器集群環境下,根據用戶輸入的種子URL以及配置的URL抓取規則,采用抓取服務器執行網頁抓取任務的方式進行大規模的網頁抓取。一般情況下,針對不同的網頁抓取需求,用戶需要配置不同的URL抓取規則從而形成不同任務類型的網頁抓取任務。
[0003]然而,上述網頁抓取方式存在的缺陷在于:所有的網頁抓取任務直接共享分布式抓取服務器集群的抓取資源(抓取資源為硬件資源和/或網絡資源),即,不同任務類型的網頁抓取任務不能同時進行,只能排隊依序進行。
[0004]由于上述缺陷的存在,現有的網頁抓取系統的網頁抓取效率普遍偏低。
【發明內容】
[0005]本申請實施例提供一種網頁抓取方法,用以解決現有技術中網頁抓取效率偏低的問題。
[0006]本申請實施例提供一種網頁抓取裝置,用以解決現有技術中網頁抓取效率偏低的問題。
[0007]本申請實施例提供一種網頁抓取方法,包括:
[0008]確定不同任務類型的可以執行的網頁抓取任務;
[0009]分別為不同任務類型的可以執行的網頁抓取任務分配抓取資源;
[0010]利用分配的抓取資源,執行所述可以執行的網頁抓取任務。
[0011]本申請實施例提供一種網頁抓取裝置,包括:
[0012]確定模塊,用于確定不同任務類型的可以執行的網頁抓取任務;
[0013]分配模塊,用于分別為不同任務類型的可以執行的網頁抓取任務分配抓取資源;
[0014]抓取模塊,用于利用分配的抓取資源,執行所述可以執行的網頁抓取任務。
[0015]在本申請實施例中,由于不同類型的網頁抓取任務能夠分配到各自的抓取資源,使得抓取服務器的硬件資源及配置于抓取服務器上的網絡資源均能夠得到充分、有效的分配和利用,因此本申請提供的網頁抓取方法及裝置克服了現有技術中存在的網頁抓取效率的普遍偏低的問題。
【附圖說明】
[0016]此處所說明的附圖用來提供對本申請的進一步理解,構成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構成對本申請的不當限定。在附圖中:
[0017]圖1為本申請實施例提供的一種網頁抓取方法;
[0018]圖2為本申請實施例提供的一種網頁抓取方法的一個步驟的具體內容;
[0019]圖3為本申請實施例提供的一種網頁抓取裝置。
【具體實施方式】
[0020]為使本申請的目的、技術方案和優點更加清楚,下面將結合本申請具體實施例及相應的附圖對本申請技術方案進行清楚、完整地描述。顯然,所描述的實施例僅是本申請一部分實施例,而不是全部的實施例。基于本申請中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
[0021]圖1為本申請實施例提供的一種網頁抓取方法,該網頁抓取方法在一個分布式實時計算系統(Jstorm)上運行,而Jstorm系統則運行在網頁抓取服務器上。Jstorm是一個分布式實時計算系統,類似Hadoop Mapreduce,用戶按照規定的編程規范實現一個任務或程序,將任務或程序放到Jstorm上,Jstorm就將任務或程序7*24小時調度起來。本申請實施例提供的網頁抓取方法即為一個任務或程序。
[0022]本申請實施例提供的一種網頁抓取方法,具體包括以下步驟:
[0023]SlOl:確定不同任務類型的可以執行的網頁抓取任務。
[0024]在本申請實施例中,網頁抓取采用分布式的抓取方式,即由多臺網頁抓取服務器協同工作共同完成網頁抓取,并且多臺網頁抓取服務器可以采用主從式(Master-Slave)的協同工作方式。分布式集群內的多臺網頁抓取服務器包括一臺主網頁抓取服務器及若干臺從網頁抓取服務器。步驟SlOl可以是由主網頁抓取服務器來完成。
[0025]在本申請實施例中,用戶提交的網頁抓取任務內包括了要抓取網頁對應的若干統一資源定位符(Uniform Resource Locator,URL)。用戶可以根據自己的網頁抓取需求來配置網頁抓取的類型,從而形成不同任務類型的網頁抓取任務。具體地,網頁抓取的任務類型由網頁抓取任務的抓取規則決定,而抓取規則由網頁抓取深度及網頁抓取頻次兩個參數決定。優選地,在本申請實施例中,網頁抓取的任務類型包括四種,具體包括:任務類型A:分別為網頁抓取頻次為一次性抓取,網頁抓取深度為一層;任務類型B:網頁抓取頻次為一次性抓取,網頁抓取深度為二層;任務類型C:網頁抓取頻次為周期性抓取,網頁抓取深度為一層;任務類型D:網頁抓取頻次為周期性抓取,網頁抓取深度為二層。
[0026]需要進一步說明的是,當網頁抓取頻次為周期性抓取時,所述抓取規則還包括用戶配置的網頁抓取的抓取周期,即需要配置crontab表達式來實現定時的網頁抓取。當網頁抓取深度為二層時,抓取規則還包括用戶配置的第二層網頁抓取時網頁提取時的Xpath表達式。Xpath是一門在XML文檔中查找信息的語言。Xpath可用來在XML文檔中對元素和屬性進行遍歷。
[0027]在一種實施方式中,請參考圖2,步驟SlOl:確定不同任務類型的可以執行的網頁抓取任務,具體包括以下步驟:
[0028]SlOll:輪詢不同任務類型的各個網頁抓取任務的運行狀態。
[0029]在本申請實施例中,各種任務類型包括均包括用戶提交的若干個網頁抓取任務,上述每種任務類型的若干個網頁抓取任務按用戶提交的時間順序,依次排隊等待執行,當然每種任務類型內可能包括運行結束的網頁抓取任務。輪詢不同任務類型的各個網頁抓取任務的運行狀態由主網頁抓取服務器來完成。網頁抓取任務的運行狀態包括待運行、運行中、運行結束等狀態。比如,任務類型A包括若干用戶提交網頁抓取任務al、a2、a3、a4等,上述網頁抓取任務al、a2、a3、a4依次排隊且分別具有對應的運行狀態,網頁抓取任務al處于運行結束狀態,網頁抓取任務a2、a3、a4處于待運行狀態。
[0030]S1012:根據網頁抓取任務的運行狀態,標識出不同任務類型的可以執行的網頁抓取任務。
[0031]在本申請實施例中,根據每種任務類型的各個網頁抓取任務的運行狀態及運行順序來標識每種任務類型的可以執行的網頁抓取任務。上述可以執行的網頁抓取任務指上一個網頁抓取任務已運行結束,將要輪到執行的待運行網頁抓取任務。標識出不同任務類型的可以執行的網頁抓取任務也是由主網頁抓取服務器來完成。繼續沿用上例來說明,當網頁抓取任務al處于運行結束狀態時,排在網頁抓取任務al后面的網頁抓取任務a2就被標識為一個可以執行的網頁抓取任務。
[0032]通過以上兩個步驟,就可以確定不同任務類型的可以執行的網頁抓取任務。
[0033]S102:分別為不同任務類型的可以執行的網頁抓取任務分配抓取資源。
[0034]在本申請實施例中,主網頁抓取服務器分別為不同任務類型的可以執行的網頁抓取任務分配互不沖突的抓取資源。抓取資源具體包括從網頁抓取服務器中央處理器創建的線程及配置于從網頁抓取服務器上的互聯網協議地址(Internet Protocol Address,IP地址)。
[0035]主網頁抓取服務器針對不同任務類型的網頁抓取任務分別分配抓取資源,抓取資源的分配原則按網頁抓取任務的任務類型的繁重程度來進行分配。任務類型較為繁重的網頁抓取任務,主網頁抓取服務器針對此類型的網頁抓取任務分配的抓取資源較多,反之,任務類型較為簡單的網頁抓取任務,主網頁抓取服務器針對此類型的網頁抓取任務分配的抓取資源則較少。
[0036]主網頁抓取服務器分別為不同類型的可以執行的網頁抓取任務分配若干由不同從網頁抓取服務器中央處理器創建的線程。另外,主網頁抓取服務器也分別為不同任務類型的可以執行的網頁抓取任務分配IP地址給其對應的網頁抓取服務器創建的線程來使用。
[0037]比如,分布式集群內共有4臺從網頁抓取服務器,每臺從網頁抓取服務器具有I個中央處理器(Central Processing Unit,CPU),每臺從網頁抓取服務器均配置了 70個不同的IP地址。主網頁抓取服務器可以給任務類型A分配4個進程,上述4個進程分散于4臺從網頁抓取服務器,每個進程分配4個線程,那么針對任務類型A的網頁抓取任務,主網頁抓取服務器分配了 16個線程來處理。同時,每臺從網頁抓取服務器上用于進行任務類型A的網頁抓取的4個線程可以利用配置于該臺網頁抓取服務器上的IP地址。當然,任務類型A的一個網頁抓取任務是要抓取同一網站上的若干URL對應的網頁,那么該從網頁抓取服務器上創建的4個線程之間都是在70個不同的IP地址中輪流獲取IP地址,并且通過對IP地址加同步鎖,防止不同線程之間同一時刻獲取到相同的IP地址。
[0038]針對任務類型B,主網頁抓取服務器可以給任務類型B分配8個進程,每臺從網頁抓取服務器被分配2個進程,每個進程分配4個線程,那么針對任務類型B的網頁抓取任務,主網頁抓取服務器分配了 32個線程來處理。同時,每臺從網頁抓取服務器上用于進行任務類型B的網頁抓取的8個線程也可以利用配置于該臺網頁抓取服務器上的IP地址。需要說明的是,任務類型B內的一個網頁抓取任務是要抓取不同網站的URL對應的網頁。這樣,分配在一個從網頁抓取服務器上,用于處理任務類型B內網頁抓取任務的不同的線程,可以在同一時刻獲取相同的IP地址。
[0039]因此,配置于一個從網頁抓取服務器上的線程包括用于進行任務類型A網頁抓取的4個線程及任務類型B網頁抓取的8個線程。
[0040]當任務類型A及任務類型B各自的網頁抓取任務同時進行時,配置于從網頁抓取服務器上的一個IP地址,可以被兩個不同線程使用,上述兩個不同線程分別用于任務類型A及任務類型B各自的網頁抓取任務。
[0041]由此可見,同一個從網頁抓取服務器上配置的IP資源可以供分配于不同類型的網頁抓取任務的線程同時使用,也可以供分配于一個網頁抓取任務上的不同線程同時使用,且不會相互影響。
[0042]任務類型C、D的可以執行的網頁抓取任務也可獲得各自的抓取資源,包括從網頁抓取服務器中央處理器創建的線程及配置于從網頁抓取服務器上的IP資源。
[0043]S103:利用分配到的抓取資源,執行SlOl中所述的可以執行的網頁抓取任務。
[0044]當各個任務類型的可以執行的網頁抓取任務得到抓取資源(IP地址及線程)后,各個從網頁抓取服務器中央處理器創建的線程使用超文本傳輸協議(Hypertext transferprotocol, HTTP)訪問可以執行的網頁抓取任務內的各個URL并獲取URL對應的網頁。
[0045]當然,并非網頁抓取任務內的每個URL對應的網頁都能順利抓取,若出現URL對應網頁抓取失敗時,就將網頁抓取失敗的URL進行初始化,再利用分配到的抓取資源進行抓取。當網頁抓取失敗的次數高于預設次數時,則從網頁抓取任務內獲取下一個URL,進行網頁抓取。
[0046]需要說明的是,當網頁抓取任務的任務類型被配置為網頁抓取的深度為二層時,即本申請實施例中任務類型B、D,那么任務類型B、D內URL對應的網頁抓取的步驟包括:
[0047]先對抓取任務內排在最前面的一個URL對應的網頁進行抓取;
[0048]讀取用戶預先配置的第二層網頁抓取的Xpath表達式;
[0049]在抓取得到的網頁上運行預先配置好的Xpath表達式,得到該網頁上的若干URL ;
[0050]對提取到的若干URL進行去重處理;
[0051]對經過去重處理后的URL對應的網頁進行抓取。
[0052]通過以上步驟,就完成任務類型B、D的網頁抓取任務的內一個URL的網頁抓取。重復上述步驟,網頁抓取任務內的其它的URL對應的網頁均會被抓取出來。
[0053]當可以執行的網頁抓取任務完成后,網頁抓取服務器將重復上述網頁抓取的方法,繼續抓取各個任務類型內的可以執行的網頁抓取任務。
[0054]進一步地,本申請的一種網頁抓取方法還包括以下步驟:
[0055]S104:將每個已完成的網頁抓取任務內的部分URL對應的網頁壓縮為相應的子壓縮文件。
[0056]由于網頁抓取任務內的URL被分配到不同的從網頁抓取服務器進行抓取,因此會先將網頁抓取任務內的部分URL對應的網頁壓縮為相應的子壓縮文件,上述子壓縮文件分散在不同的從網頁抓取服務器上。
[0057]S105:將壓縮得到的所有分散的子壓縮文件合成為一總壓縮文件。
[0058]通過文件傳輸的方式,將每個已完成的網頁抓取任務的所有子壓縮文件合成為一個總壓縮文件。
[0059]S106:保存總壓縮文件至一臺服務器上以供創建所述網頁抓取任務的用戶調取。
[0060]圖3為本申請實施例提供的一種網頁抓取裝置結構示意圖,具體包括:
[0061]確定模塊201,用于確定不同任務類型的可以執行的網頁抓取任務;
[0062]分配模塊202,用于分別為不同任務類型的可以執行的網頁抓取任務分配抓取資源;
[0063]抓取模塊203,用于利用分配的抓取資源,執行所述可以執行的網頁抓取任務。
[0064]進一步地,所述任務類型由網頁抓取任務的抓取規則決定。
[0065]進一步地,所述抓取規則由網頁抓取深度及網頁抓取頻次決定。
[0066]進一步地,所述抓取規則包括:
[0067]網頁抓取頻次為一次性抓取,網頁抓取深度為一層;
[0068]網頁抓取頻次為一次性抓取,網頁抓取深度為二層;
[0069]網頁抓取頻次為周期性抓取,網頁抓取深度為一層;
[0070]網頁抓取頻次為周期性抓取,網頁抓取深度為二層。
[0071]進一步地,所述網頁抓取深度為二層時,所述抓取規則還包括配置第二層網頁抓取時網頁提取的Xpath表達式。
[0072]進一步地,所述網頁抓取頻次為周期性抓取時,所述抓取規則還包括需要配置網頁抓取的抓取周期。
[0073]所述確定模塊201,具體包括:
[0074]查詢單元2011,用于輪詢不同任務類型的各個網頁抓取任務的運行狀態;
[0075]識別單元2012,用于根據網頁抓取任務的運行狀態,標識出不同任務類型的可以執行的網頁抓取任務。
[0076]進一步地,所述運行狀態包括:待運行、運行中、運行結束。
[0077]進一步地,所述分配模塊,具體用于分別為不同任務類型的可以執行的網頁抓取任務分配互不沖突的抓取資源。
[0078]進一步地,所述抓取資源包括網頁抓取服務器處理器創建的線程及配置于網頁抓取服務器的IP地址。
[0079]進一步地,所述分配模塊,具體用于分別為不同類型的可以執行的網頁抓取任務分配不同從網頁抓取服務器處理器創建的線程。
[0080]進一步地,所述分配模塊,具體用于分配IP地址給對應的網頁抓取服務器創建的線程來使用。
[0081]進一步地,所述抓取模塊,具體用于調用超文本傳輸協議訪問可以執行的網頁抓取任務內的URL并獲取URL對應的網頁。
[0082]進一步地,所述裝置還包括:
[0083]壓縮模塊204,用于將每個已完成的網頁抓取任務內的部分URL對應的網頁壓縮為相應的子壓縮文件;
[0084]集合模塊205,用于將壓縮得到的所有分散的子壓縮文件合成為一總壓縮文件;
[0085]保存模塊206,用于保存總壓縮文件至一臺服務器上以供創建所述網頁抓取任務的用戶調取。
[0086]在本申請實施例中,由于不同類型的網頁抓取任務能夠分配到各自的抓取資源,使得抓取服務器的硬件資源及配置于抓取服務器上的網絡資源均能夠得到充分、有效的分配和利用,因此本申請提供的網頁抓取方法及裝置克服了現有技術中存在的網頁抓取效率的普遍偏低的問題。
[0087]本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或計算機程序產品。因此,本發明可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產品的形式。
[0088]本發明是參照根據本發明實施例的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0089]這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0090]這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0091]在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出接口、網絡接口和內存。
[0092]內存可能包括計算機可讀介質中的非永久性存儲器,隨機存取存儲器(RAM)和/或非易失性內存等形式,如只讀存儲器(ROM)或閃存(flashRAM)。內存是計算機可讀介質的示例。
[0093]計算機可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現信息存儲。信息可以是計算機可讀指令、數據結構、程序的模塊或其他數據。計算機的存儲介質的例子包括,但不限于相變內存(PRAM)、靜態隨機存取存儲器(SRAM)、動態隨機存取存儲器(DRAM)、其他類型的隨機存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)、快閃記憶體或其他內存技術、只讀光盤只讀存儲器(CD-ROM)、數字多功能光盤(DVD)或其他光學存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設備或任何其他非傳輸介質,可用于存儲可以被計算設備訪問的信息。按照本文中的界定,計算機可讀介質不包括暫存電腦可讀媒體(transitory media),如調制的數據信號和載波。
[0094]還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
[0095]本領域技術人員應明白,本申請的實施例可提供為方法、系統或計算機程序產品。因此,本申請可采用完全硬件實施例、完全軟件實施例或結合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產品的形式。
[0096]以上所述僅為本申請的實施例而已,并不用于限制本申請。對于本領域技術人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本申請的權利要求范圍之內。
【主權項】
1.一種網頁抓取方法,其特征在于,包括: 確定不同任務類型的可以執行的網頁抓取任務; 分別為不同任務類型的可以執行的網頁抓取任務分配抓取資源; 利用分配的抓取資源,執行所述可以執行的網頁抓取任務。2.如權利要求1所述的方法,其特征在于:所述任務類型由網頁抓取任務的抓取規則決定。3.如權利要求2所述的方法,其特征在于,所述抓取規則由網頁抓取深度及網頁抓取頻次決定。4.如權利要求3所述的方法,其特征在于,所述抓取規則包括: 網頁抓取頻次為一次性抓取,網頁抓取深度為一層; 網頁抓取頻次為一次性抓取,網頁抓取深度為二層; 網頁抓取頻次為周期性抓取,網頁抓取深度為一層; 網頁抓取頻次為周期性抓取,網頁抓取深度為二層。5.如權利要求4所述的方法,其特征在于,所述網頁抓取深度為二層時,所述抓取規則還包括配置第二層網頁抓取時網頁提取的Xpath表達式。6.如權利要求4所述的方法,其特征在于,所述網頁抓取頻次為周期性抓取時,所述抓取規則還包括需要配置網頁抓取的抓取周期。7.如權利要求1所述的方法,其特征在于,所述確定不同任務類型的可以執行的網頁抓取任務,具體包括: 輪詢不同任務類型的各個網頁抓取任務的運行狀態; 根據網頁抓取任務的運行狀態,標識出不同任務類型的可以執行的網頁抓取任務。8.如權利要求7所述的方法,其特征在于,所述運行狀態包括:待運行、運行中、運行結束。9.如權利要求1所述的方法,其特征在于,所述分別為不同任務類型的可以執行的網頁抓取任務分配抓取資源,具體包括: 分別為不同任務類型的可以執行的網頁抓取任務分配互不沖突的抓取資源。10.如權利要求1所述的方法,其特征在于,所述抓取資源包括網頁抓取服務器處理器創建的線程及配置于網頁抓取服務器上的IP地址。11.如權利要求10所述的方法,其特征在于,所述分別為不同任務類型的可以執行的網頁抓取任務分配抓取資源,具體包括: 分別為不同類型的可以執行的網頁抓取任務分配由不同網頁抓取服務器處理器創建的線程。12.如權利要求11所述的方法,其特征在于,所述分別為不同任務類型的可以執行的網頁抓取任務分配抓取資源,還包括: 分配IP地址給對應的網頁抓取服務器創建的線程來使用。13.如權利要求1所述的方法,其特征在于,利用分配到的抓取資源,執行所述可以執行的網頁抓取任務,具體包括: 調用超文本傳輸協議訪問可以執行的網頁抓取任務內的URL并獲取URL對應的網頁。14.如權利要求13所述的方法,其特征在于,所述方法還包括: 將每個已完成的網頁抓取任務內的部分URL對應的網頁壓縮為相應的子壓縮文件; 將壓縮得到的所有分散的子壓縮文件合成為一總壓縮文件; 保存總壓縮文件至一臺服務器上以供創建所述網頁抓取任務的用戶調取。15.一種網頁抓取裝置,其特征在于,包括: 確定模塊,用于確定不同任務類型的可以執行的網頁抓取任務; 分配模塊,用于分別為不同任務類型的可以執行的網頁抓取任務分配抓取資源; 抓取模塊,用于利用分配的抓取資源,執行所述可以執行的網頁抓取任務。16.如權利要求15所述的裝置,其特征在于:所述任務類型由網頁抓取任務的抓取規則決定。17.如權利要求16所述的裝置,其特征在于,所述抓取規則由網頁抓取深度及網頁抓取頻次決定。18.如權利要求17所述的裝置,其特征在于,所述抓取規則包括: 網頁抓取頻次為一次性抓取,網頁抓取深度為一層; 網頁抓取頻次為一次性抓取,網頁抓取深度為二層; 網頁抓取頻次為周期性抓取,網頁抓取深度為一層; 網頁抓取頻次為周期性抓取,網頁抓取深度為二層。19.如權利要求18所述的裝置,其特征在于,所述網頁抓取深度為二層時,所述抓取規則還包括配置第二層網頁抓取時網頁提取的Xpath表達式。20.如權利要求18所述的裝置,其特征在于,所述網頁抓取頻次為周期性抓取時,所述抓取規則還包括需要配置網頁抓取的抓取周期。21.如權利要求15所述的裝置,其特征在于,所述確定模塊,具體包括: 查詢單元,用于輪詢不同任務類型的各個網頁抓取任務的運行狀態; 識別單元,用于根據網頁抓取任務的運行狀態,標識出不同任務類型的可以執行的網頁抓取任務。22.如權利要求21所述的裝置,其特征在于,所述運行狀態包括:待運行、運行中、運行結束。23.如權利要求15所述的裝置,其特征在于,所述分配模塊具體用于分別為不同任務類型的可以執行的網頁抓取任務分配互不沖突的抓取資源。24.如權利要求15所述的裝置,其特征在于,所述抓取資源包括網頁抓取服務器處理器創建的線程及配置于網頁抓取服務器的IP地址。25.如權利要求24所述的裝置,其特征在于,所述分配模塊具體用于分別為不同類型的可以執行的網頁抓取任務分配不同從網頁抓取服務器處理器創建的線程。26.如權利要求25所述的裝置,其特征在于,所述分配模塊具體用于分配IP地址給對應的網頁抓取服務器創建的線程來使用。27.如權利要求15所述的裝置,其特征在于,所述抓取模塊具體用于調用超文本傳輸協議訪問可以執行的網頁抓取任務內的URL并獲取URL對應的網頁。28.如權利要求15所述的裝置,其特征在于,所述裝置還包括: 壓縮模塊,用于將每個已完成的網頁抓取任務內的部分URL對應的網頁壓縮為相應的子壓縮文件; 集合模塊,用于將壓縮得到的所有分散的子壓縮文件合成為一總壓縮文件; 保存模塊,用于保存總壓縮文件至一臺服務器上以供創建所述網頁抓取任務的用戶調取。
【文檔編號】G06F17/30GK105989151SQ201510093164
【公開日】2016年10月5日
【申請日】2015年3月2日
【發明人】王林青
【申請人】阿里巴巴集團控股有限公司