




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
4.1離散數(shù)據(jù)獲取方法離線數(shù)據(jù)獲取方法概述離線數(shù)據(jù)的種類和來源內(nèi)部信息包括各種業(yè)務(wù)數(shù)據(jù)和各類文檔數(shù)據(jù),企業(yè)使用關(guān)系型數(shù)據(jù)庫MySQL和Oracle等來存儲數(shù)據(jù)。外部信息包括各類法律法規(guī)、市場信息、來自客戶端的數(shù)據(jù),企業(yè)通常使用非關(guān)系型數(shù)據(jù)庫存儲這些數(shù)據(jù)。企業(yè)的內(nèi)部信息企業(yè)的外部信息離線數(shù)據(jù)獲取方法概述離線數(shù)據(jù)來源廣泛、數(shù)據(jù)量龐大,需要進行一系列的清洗篩選工作,這個過程就是ETL過程,使用的工具就是ETL工具,經(jīng)過凈化后的數(shù)據(jù)被加載到數(shù)據(jù)倉庫中,便于后續(xù)提取分析。數(shù)據(jù)倉庫在計算機系統(tǒng)中存在著兩類的數(shù)據(jù)處理工作,分別是聯(lián)機事務(wù)處理(OLTP)和聯(lián)機分析處理(OLAP),這兩種數(shù)據(jù)處理工作之間的差異,使得傳統(tǒng)的數(shù)據(jù)庫技術(shù)無法同時滿足這兩類數(shù)據(jù)的處理要求,因此數(shù)據(jù)倉庫技術(shù)應(yīng)運而生。聯(lián)機事務(wù)處理聯(lián)機分析處理定義指對數(shù)據(jù)庫聯(lián)機的日常操作,通常是對一個或一組記錄的查詢和修改指對數(shù)據(jù)的查詢和分析操作,通常是對海量的歷史數(shù)據(jù)進行查詢和分析應(yīng)用場景例如火車售票系統(tǒng)、銀行通存通兌系統(tǒng)、稅務(wù)征收管理系統(tǒng)等例如金融風(fēng)險預(yù)測預(yù)警系統(tǒng)、股市操盤監(jiān)控系統(tǒng)、證券違規(guī)分析系統(tǒng)等數(shù)據(jù)處理類型操作型數(shù)據(jù)處理分析型數(shù)據(jù)處理用途用于企業(yè)的日常事務(wù)處理工作用于企業(yè)的管理工作特點對數(shù)據(jù)的安全性、完整性、事務(wù)的一致性、事務(wù)吞吐量、數(shù)據(jù)的備份和恢復(fù)等要求很高要訪問的數(shù)據(jù)量非常大,所以需要做的查詢和分析的操作也十分復(fù)雜數(shù)據(jù)倉庫數(shù)據(jù)倉庫是作為決策支持系統(tǒng)服務(wù)基礎(chǔ)的分析數(shù)據(jù)庫,用來存放大容量的只讀數(shù)據(jù),為制定決策提供所需的信息。數(shù)據(jù)倉庫有如下四個基本特征:面向主題的主題是指用戶使用數(shù)據(jù)倉庫進行決策時所關(guān)心的重點領(lǐng)域,數(shù)據(jù)倉庫中的數(shù)據(jù)是按照一定的主題進行組織的。相對穩(wěn)定的數(shù)據(jù)倉庫的數(shù)據(jù)主要用于決策分析,數(shù)據(jù)進入數(shù)據(jù)倉庫以后,基本會被長期保留,通常只需要定期的加載、刷新。隨時間變化的
數(shù)據(jù)倉庫大多關(guān)注的是歷史數(shù)據(jù),其中很多數(shù)據(jù)是批量載入的,即定期接收新的數(shù)據(jù)內(nèi)容,這使得數(shù)據(jù)倉庫中的數(shù)據(jù)總是擁有時間維度。集成的
數(shù)據(jù)倉庫中的數(shù)據(jù)是對原有分散的數(shù)據(jù)庫數(shù)據(jù)在抽取、清理的基礎(chǔ)上經(jīng)過系統(tǒng)加工、匯總和整理得到的。數(shù)據(jù)倉庫系統(tǒng)數(shù)據(jù)倉庫系統(tǒng)以數(shù)據(jù)倉庫為核心,如圖所示,其體系結(jié)構(gòu)分為數(shù)據(jù)源層、數(shù)據(jù)存儲與管理層、OLAP服務(wù)器層和前端分析工具層。數(shù)據(jù)從數(shù)據(jù)源到最終呈現(xiàn)給用戶的分析結(jié)果,中間過程有:1、抽取源數(shù)據(jù)并對其轉(zhuǎn)換、清洗;2、建立數(shù)據(jù)倉庫;3、針對分析主題建立數(shù)據(jù)集市;4、針對業(yè)務(wù)進行數(shù)據(jù)挖掘,前端展現(xiàn)。外部數(shù)據(jù)業(yè)務(wù)數(shù)據(jù)文檔資料元數(shù)據(jù)數(shù)據(jù)倉庫數(shù)據(jù)集市OLAP服務(wù)數(shù)據(jù)挖掘數(shù)據(jù)分析數(shù)據(jù)報表數(shù)據(jù)源數(shù)據(jù)存儲與管理抽取工具OLAP服務(wù)器前端分析工具數(shù)據(jù)倉庫系統(tǒng)數(shù)據(jù)集市是從數(shù)據(jù)倉庫中劃分出來的,是針對某一方面的數(shù)據(jù)而設(shè)計的數(shù)據(jù)倉庫,可以看作數(shù)據(jù)倉庫的某個子集。數(shù)據(jù)倉庫與數(shù)據(jù)集市的區(qū)別:數(shù)據(jù)倉庫數(shù)據(jù)集市體量企業(yè)級,規(guī)模較大部門級,規(guī)模較小開發(fā)周期開發(fā)周期短、速度快開發(fā)周期長、速度慢數(shù)據(jù)結(jié)構(gòu)規(guī)范化模式星型模式數(shù)據(jù)粒度細粗數(shù)據(jù)庫連接技術(shù)技術(shù)主要特點ODBC即開放式數(shù)據(jù)庫互連(OpenDatabaseConnectivity),核心是SQL語句,客戶可以使用ODBC從底層設(shè)置和訪問數(shù)據(jù)庫,缺點是無法應(yīng)用于非關(guān)系型數(shù)據(jù)庫JDBC即JAVA數(shù)據(jù)庫連接(JavaDataBaseConnectivity),具有良好的可移植性。JDBC的缺點是數(shù)據(jù)源比較難更改,因為其結(jié)構(gòu)中包含了不同廠家的產(chǎn)品,而且使用JDBC訪問數(shù)據(jù)記錄受限OLEDB即數(shù)據(jù)庫鏈接和嵌入對象(ObjectLinkingandEmbeddingDataBase),是一種基于COM思想的、面向?qū)ο蟮募夹g(shù)標準,為用戶訪問各種數(shù)據(jù)源提供了一種統(tǒng)一的數(shù)據(jù)訪問接口ADO即ActiveX數(shù)據(jù)對象(ActiveXDataObjects),是一種基于COM的數(shù)據(jù)庫應(yīng)用程序接口?;贠LEDB之上的訪問接口,繼承了OLEDB的優(yōu)點DAO即數(shù)據(jù)庫訪問對象(DataAccessObject),支持多種類型的數(shù)據(jù)訪問,可以訪問從文本文件到大型后臺數(shù)據(jù)庫等多種格式的數(shù)據(jù)。DAO最鮮明特點就是針對MICROSOFTJET數(shù)據(jù)庫的操作非常方便Hibernate即開放源代碼的對象關(guān)系映射框架,是一種基于JDBC的開源的持久化框架,優(yōu)勢是消除了代碼的映射規(guī)則,大大提高了編程的簡易性和可讀性,但是性能較差,大型互聯(lián)網(wǎng)系統(tǒng)往往需要優(yōu)化SQL,Hibernate無法根據(jù)不同的條件組裝不同的SQL數(shù)據(jù)庫圖形界面操作工具技術(shù)主要特點DBeaver免費且開源,雖然免費,但功能強大,基于JAVA,采用Eclipse框架開發(fā),可以連接諸如MySQL、Oracle、HBase等目前各種流行的數(shù)據(jù)庫,缺點是其驅(qū)動程序需要手動添加NavicatPremium易學(xué)易用,且界面設(shè)計簡潔干凈,符合直覺化的效果,用戶體驗良好,對新手良好。功能多樣,滿足各種開發(fā)人員的需求。支持通過SSH通道和HTTP通道連接數(shù)據(jù)庫,支持各種格式的數(shù)據(jù)遷移SQLyog快速簡潔,基于C++和MySQLAPI編程,操作界面相似于微軟SQLServer,支持代碼輸入自動填充,支持表名過濾,快速找表,對于有許多表的情況下非常實用。但其支持的數(shù)據(jù)庫不多MySQLWorkbench是一個統(tǒng)一的可視化開發(fā)和管理平臺,是MySQL官方提供的工具,功能強大,可跨平臺操作,且開源免費。它包含了ER模型,可以用于創(chuàng)建復(fù)雜的數(shù)據(jù)建模phpMyAdmin基于PHP,架構(gòu)方式是Web-BaseWeb,用戶可以使用web接口管理MySQL數(shù)據(jù)庫,在處理大量資料的匯入及匯出更為方便。phpMyAdmin的一大優(yōu)勢是:由于phpMyAdmin和其他PHP程式一樣可以在網(wǎng)頁服務(wù)器上執(zhí)行,所以允許用戶可以像使用PHP程式產(chǎn)生網(wǎng)頁一樣遠端管理數(shù)據(jù)庫MySQL-Front小巧靈活,相容性很高,其內(nèi)部使用了很多WindowsAPI,確保兼容未來的Windows版本,支持多種運行環(huán)境,有中文界面,可直接拖拽和復(fù)制粘貼,適合初學(xué)者。但客戶端不能處理"創(chuàng)建存儲過程/創(chuàng)建函數(shù)/創(chuàng)建視圖/創(chuàng)建事件"數(shù)據(jù)倉庫與數(shù)據(jù)庫的區(qū)別比較項目傳統(tǒng)數(shù)據(jù)庫數(shù)據(jù)倉庫總體特征圍繞高效的事務(wù)處理展開以提供決策支持為目標存儲內(nèi)容以當前數(shù)據(jù)為主主要是歷史,存檔,歸納的數(shù)據(jù)面向用戶普通的業(yè)務(wù)處理人員高級的決策管理人員功能目標面向業(yè)務(wù)操作,注重實時性面向主題,注重分析功能匯總情況原始數(shù)據(jù),不做匯總多層次匯總,數(shù)據(jù)細節(jié)有損失數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)化程度高,適合運算操作數(shù)據(jù)結(jié)構(gòu)化程度適中視圖情況視圖簡單,內(nèi)容詳細多維視圖,概括性強訪問特征讀取/寫入并重以讀取為主,較少寫入數(shù)據(jù)規(guī)模數(shù)據(jù)規(guī)模較小數(shù)據(jù)規(guī)模較大數(shù)據(jù)訪問量每次事務(wù)處理訪問數(shù)據(jù)較少每次分析處理訪問大量數(shù)據(jù)響應(yīng)要求要求很高的實時性對實時性要求不高ETL過程ETL過程是指任何以數(shù)據(jù)為中心的項目的集成組件。負責(zé)完成源數(shù)據(jù)向數(shù)據(jù)倉庫導(dǎo)入的過程,是數(shù)據(jù)倉庫項目中最重要的步驟,通常要占用整個項目70%的時間。ETL過程可大致描述為從一個或多個數(shù)據(jù)庫中讀取數(shù)據(jù);將抽取后的數(shù)據(jù)由一種數(shù)據(jù)類型轉(zhuǎn)換為另一種數(shù)據(jù)類型,以便存儲在數(shù)據(jù)倉庫或其他數(shù)據(jù)庫中;將數(shù)據(jù)存入數(shù)據(jù)倉庫中。打包應(yīng)用遺留系統(tǒng)數(shù)據(jù)源其他數(shù)據(jù)源數(shù)據(jù)抽取數(shù)據(jù)轉(zhuǎn)換數(shù)據(jù)清洗數(shù)據(jù)加載數(shù)據(jù)倉庫數(shù)據(jù)集市ETL過程——數(shù)據(jù)抽取數(shù)據(jù)抽取是從不同的數(shù)據(jù)源中通過采用不同的方法抽取數(shù)據(jù)的一個過程。根據(jù)數(shù)據(jù)來源和所要抽取數(shù)據(jù)的結(jié)構(gòu)類型的不同,可劃分為三類數(shù)據(jù)抽取情形:1、文件型數(shù)據(jù)抽取方式:數(shù)據(jù)是非結(jié)構(gòu)化數(shù)據(jù)與半結(jié)構(gòu)化數(shù)據(jù),將這些數(shù)據(jù)導(dǎo)入指定的數(shù)據(jù)庫,再從指定的文檔數(shù)據(jù)庫中完成抽取。2、同構(gòu)同質(zhì)抽取方式:數(shù)據(jù)源與目標數(shù)據(jù)庫系統(tǒng)同構(gòu)同質(zhì),可以直接建立數(shù)據(jù)庫連接,利用結(jié)構(gòu)化查詢語句訪問,實現(xiàn)數(shù)據(jù)遷移。3、同構(gòu)異質(zhì)抽取方式:若數(shù)據(jù)源與目標數(shù)據(jù)庫系統(tǒng)同構(gòu)異質(zhì),數(shù)據(jù)源可以通過ODBC的方式建立數(shù)據(jù)庫連接。ETL過程——數(shù)據(jù)轉(zhuǎn)換由于從數(shù)據(jù)源中抽取得到的數(shù)據(jù)格式與目標數(shù)據(jù)格式存在不一致的情況,需要對數(shù)據(jù)進行轉(zhuǎn)換,使異構(gòu)的數(shù)據(jù)格式統(tǒng)一起來。轉(zhuǎn)換過程的任務(wù)有以下三種:1、不一致數(shù)據(jù)的合并:將不同業(yè)務(wù)系統(tǒng)中相同類型的數(shù)據(jù)進行整合。比如同一個商品在不同的業(yè)務(wù)系統(tǒng)中的商品編碼不同,抽取后該商品會統(tǒng)一轉(zhuǎn)換成一個編碼。2、數(shù)據(jù)粒度的轉(zhuǎn)換:數(shù)據(jù)倉庫中數(shù)據(jù)主要用于分析,存儲的數(shù)據(jù)細化程度低,粒度較大。而業(yè)務(wù)系統(tǒng)中存儲的數(shù)據(jù)細化程度高。因此需按照數(shù)據(jù)倉庫粒度進行聚合。3、業(yè)務(wù)規(guī)則的計算:不同的業(yè)務(wù)系統(tǒng)有不同的數(shù)據(jù)指標,但數(shù)據(jù)指標并不能直接使用,需要在ETL中經(jīng)過計算并存儲到數(shù)據(jù)倉庫后,以業(yè)務(wù)規(guī)則的方式供分析和使用。ETL過程——數(shù)據(jù)清洗數(shù)據(jù)清洗:指數(shù)據(jù)在加載到數(shù)據(jù)倉庫之前,其中可能會摻雜一些問題數(shù)據(jù),因此數(shù)據(jù)清洗是一個必要且不斷反復(fù)的過程。使用ETL工具實現(xiàn)數(shù)據(jù)清洗的三種主要方式如下:1、實現(xiàn)數(shù)據(jù)表屬性一致化,對于不同表的屬性名,根據(jù)其含義重新定義其在數(shù)據(jù)庫中的名字,并以轉(zhuǎn)換規(guī)則的形式存放在數(shù)據(jù)庫中。2、數(shù)據(jù)縮減,如果數(shù)據(jù)量很大,處理就非常耗時。那么可以通過數(shù)據(jù)縮減,大幅度縮小數(shù)據(jù)量,以提高后續(xù)數(shù)據(jù)處理的效率。3、通過預(yù)先設(shè)定數(shù)據(jù)處理的可視化功能結(jié)點,以可視化的方式快速有效地完成數(shù)據(jù)清洗和數(shù)據(jù)轉(zhuǎn)換過程。ETL過程——數(shù)據(jù)加載數(shù)據(jù)加載是將經(jīng)過轉(zhuǎn)換和清洗后的數(shù)據(jù)加載到目標數(shù)據(jù)倉庫中。當目標數(shù)據(jù)倉庫為關(guān)系數(shù)據(jù)庫時,主要有兩種加載方式:通過SQL語句直接進行插入(insert)、刪除(delete)和更新(update)操作。另一種是采用批量加載的方法,在裝入大量數(shù)據(jù)時效率較高。具體使用哪種數(shù)據(jù)加載方式要取決于所執(zhí)行操作的類型和需要裝入數(shù)據(jù)量的多少以及業(yè)務(wù)系統(tǒng)的需要。ETL工具ETL工具:在獲取并向數(shù)據(jù)倉庫加載數(shù)據(jù)量、種類多的數(shù)據(jù)時,需使用的專業(yè)的數(shù)據(jù)抽取、轉(zhuǎn)換和加載工具的一種統(tǒng)稱。ETL工具——DataXDataX是阿里巴巴集團內(nèi)被廣泛使用的離線數(shù)據(jù)同步工具,可以實現(xiàn)包括MySQL、SQLServer、Oracle、Hive、HBase等各種異構(gòu)數(shù)據(jù)源之間高效的數(shù)據(jù)同步功能。DataX作為離線數(shù)據(jù)同步工具,尤其是當其數(shù)據(jù)量很大或表非常多時,適合使用DataX實現(xiàn)快速遷移。DataX有較為全面的插件體系,主流的RDBMS、NOSQL、大數(shù)據(jù)計算系統(tǒng)等都已接入。ETL工具——DataXDataX的組成結(jié)構(gòu):1、Job模塊:DataX完成單個數(shù)據(jù)同步的作業(yè),稱之為Job。Job模塊是單個作業(yè)的中樞管理節(jié)點,承擔(dān)了數(shù)據(jù)清理、子任務(wù)切分等功能。2、Task模塊:Task模塊是DataX作業(yè)的最小單元。Job模塊將單個作業(yè)切分成多個小的Task,以便于并發(fā)執(zhí)行,每一個子Task都負責(zé)一部分數(shù)據(jù)的同步工作。3、TaskGroup模塊:再切分成多個子Task之后,Job模塊將調(diào)用調(diào)度器(Scheduler),根據(jù)配置的并發(fā)數(shù)據(jù)量,將拆分成的Task進行重新組合,組裝成為TaskGroup模塊。4、Storage模塊:Reader和Writer插件通過Storage模塊交換數(shù)據(jù)。ETL工具——InformaticaPowerCenterInformaticaPowerCenter簡稱Infa,是Informatica公司開發(fā)的世界級的企業(yè)數(shù)據(jù)集成平臺,支持各種數(shù)據(jù)源的數(shù)據(jù)抽取、轉(zhuǎn)換、加載。Infa能夠方便地從異構(gòu)數(shù)據(jù)源中抽取數(shù)據(jù),用來建立、部署、管理企業(yè)的數(shù)據(jù)倉庫。企業(yè)通過Infa在業(yè)務(wù)數(shù)據(jù)和數(shù)據(jù)倉庫間進行ETL操作。ETL工具——InformaticaPowerCenterInformaticaPowerCenter架構(gòu)主要由客戶端(Informatica)組件和服務(wù)端(PowerCenter)組件構(gòu)成。Informatica包括五個組件:設(shè)計者(Designer);工作流管理員(WorkflowManager);工作流監(jiān)控者(WorkflowMonitor);知識庫管理員(RepositoryManager);管理控制臺(AdministratorConsole)。PowerCenter包括三個組件:信息服務(wù)(InformaticaService)集成服務(wù)(IntegrationService)知識庫服務(wù)(RepositoryService)ETL工具——KettleKettle是由Java語言開發(fā)編寫的一種ETL工具。Kettle在做數(shù)據(jù)抽取、質(zhì)量檢測、數(shù)據(jù)清洗、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)過濾等方面有比較高效穩(wěn)定的表現(xiàn),還可用于數(shù)據(jù)庫間的數(shù)據(jù)遷移。Kettle的組成結(jié)構(gòu):1)工具:Spoon、Pan、Kitchen、Carte四個工具;2)轉(zhuǎn)換:負責(zé)抽取、轉(zhuǎn)換、加載各階段的數(shù)據(jù);3)作業(yè):用于完成整個工作流的控制;4)數(shù)據(jù)庫連接:連接2)和3)到關(guān)系型數(shù)據(jù)庫上;5)資源庫:數(shù)據(jù)庫Pentaho資源庫和文件資源庫。(原Kettle)ETL工具——其他ETL工具1、DataStage:IBM公司開發(fā),使用了Client-Server架構(gòu),提供了一個圖形化的開發(fā)環(huán)境,所見即所得方式設(shè)計ETL全過程。2、Talend:拓藍公司開發(fā),可運行于Hadoop集群之間,直接生成MapReduce代碼供Hadoop運行。開發(fā)環(huán)境綜合性很強,提供基于EclipseRCP的圖形操作界面。3、Scriptella:ElisS公司開發(fā),可與任何JDBC/ODBC兼容的驅(qū)動程序集成,并提供與非JDBC數(shù)據(jù)源和腳本語言的互操作性的接口。小結(jié)本節(jié)的主要內(nèi)容離線數(shù)據(jù)獲取方法概述數(shù)據(jù)倉庫ELT過程ELT工具4.1離散數(shù)據(jù)獲取方法4.2實時數(shù)據(jù)獲取方法實時數(shù)據(jù)獲取方法概述實時數(shù)據(jù)獲取方法主要應(yīng)用于處理流數(shù)據(jù)的業(yè)務(wù)場景中。所謂流數(shù)據(jù),就是將數(shù)據(jù)源執(zhí)行的各種操作活動記錄成為文件,且這些文件必須按指定格式進行記錄。流數(shù)據(jù)web服務(wù)器上的用戶訪問行為web用戶的財產(chǎn)記錄網(wǎng)絡(luò)監(jiān)控的流量管理特點一:持續(xù)到達特點二:速度快特點三:規(guī)模大特點四:價值會隨著時間流逝而不斷降低強調(diào)“實時”,要求盡可能快地對最新的數(shù)據(jù)進行采集、分析并給出結(jié)果。不論是何種實時數(shù)據(jù)采集工具,其設(shè)計所遵循的基本框架及功能模塊都大致相同。實時數(shù)據(jù)采集基本架構(gòu)——架構(gòu)設(shè)計實時數(shù)據(jù)采集工具的主架構(gòu)基本分為數(shù)據(jù)讀取器(Reader)、數(shù)據(jù)解析器(Parser)和數(shù)據(jù)發(fā)送器(Sender)三部分。由Reader、Parser、Sender等插件共同組裝的業(yè)務(wù)數(shù)據(jù)采集單元稱為一個運行單元(Runner),數(shù)據(jù)采集工具必須可以同時運行多個Runner,且每個Runner可以支持更新。除了這三個日志采集常規(guī)組成部分,還應(yīng)該包含若干可選模塊,如基于解析后的數(shù)據(jù)轉(zhuǎn)換模塊以及數(shù)據(jù)暫存管道等。ChannelReaderParserSenderTransformer實時數(shù)據(jù)采集基本架構(gòu)——模塊組成讀取模塊(Reader)
負責(zé)從不同數(shù)據(jù)源中讀取數(shù)據(jù)。數(shù)據(jù)讀取根據(jù)數(shù)據(jù)來源的不同,可大致分為三類。分別是:從文件讀取、從數(shù)據(jù)存儲服務(wù)端讀取和從消息隊列中讀取。解析模塊(Parser)
將數(shù)據(jù)源中讀取的數(shù)據(jù)解析到對應(yīng)的字段及類型,Parser將數(shù)據(jù)解析為帶有Schema(具備字段名稱及類型)的數(shù)據(jù)。數(shù)據(jù)轉(zhuǎn)換模塊(Transformer)Transformer是對Parser的補充,可以針對字段進行數(shù)據(jù)變化。數(shù)據(jù)暫存模塊(Channel)經(jīng)過解析和變換后的數(shù)據(jù)會進入待發(fā)送隊列,Channel利用多核優(yōu)勢,多線程發(fā)送數(shù)據(jù),提高數(shù)據(jù)吞吐量。數(shù)據(jù)發(fā)送模塊(Sender)
將隊列中的數(shù)據(jù)發(fā)送至Sender支持的各類服務(wù),用戶使用簡單。具有多線程發(fā)送、錯誤處理與限時等待、數(shù)據(jù)壓縮發(fā)送、類型轉(zhuǎn)換等特點。實時數(shù)據(jù)采集工具——FlumeFlume由Apache公司開發(fā),支持在系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于采集數(shù)據(jù)。Flume傳輸數(shù)據(jù)的基本單位是事件(Event),由外部數(shù)據(jù)源生成,流向最終目的地存儲。Flume運行的核心是代理(Agent),F(xiàn)lume以Agent為最小的獨立運行單位。Flume被設(shè)計為一個分布式的管道架構(gòu),相當于一個管道式的日志數(shù)據(jù)處理系統(tǒng),可看作在數(shù)據(jù)源和目的地存儲之間有一個Agent的網(wǎng)絡(luò)。Flume在部署一個代理角色時,可通過代理直接采集數(shù)據(jù),獲取外部日志數(shù)據(jù),再傳輸?shù)侥繕舜鎯DFS中,如圖所示。單Agent架構(gòu)主要用于采集群內(nèi)數(shù)據(jù)。SourceSinkChannelWebServerHDFSAgent實時數(shù)據(jù)采集工具——Flume從Flume架構(gòu)的組成中,能體現(xiàn)出其主要具有以下四個特點:壓縮加密支持復(fù)雜流傳輸可靠Flume級聯(lián)節(jié)點之間的數(shù)據(jù)傳輸支持壓縮加密,提升數(shù)據(jù)傳輸效率和安全性Flume支持扇入流和扇出流,扇入流即Source可以接收多個輸入,扇出流即Sink可以將Event分流輸出到多個目的地Flume使用事務(wù)性的方式保證傳送事件整個過程的可靠性,意味著數(shù)據(jù)流里的Event無論是在一個Agent里還是在多個Agent之間流轉(zhuǎn),都能保證Event被成功存儲起來數(shù)據(jù)過濾Flume支持第三方過濾插件調(diào)用,F(xiàn)lume在傳輸數(shù)據(jù)過程中,可以對數(shù)據(jù)簡單過濾、清洗實時數(shù)據(jù)采集工具——KafkaKafka由雅虎公司開發(fā),是一個分布式、支持分區(qū)的、多副本的、基于Zookeeper協(xié)調(diào)的分布式發(fā)布訂閱消息系統(tǒng),具有高水平擴展和高吞吐量。適用于日志收集、消息系統(tǒng)處理、用戶活動跟蹤、運營指標和流式處理等。Broker0Topic1/part1part2Topic2/part1Broker1Topic1/part1part2Topic2/part1Broker2Topic1/part1part2Topic2/part1Producer1Producer2Consumer1Consumer2Kafka由生產(chǎn)者、服務(wù)代理、消費者、分布式協(xié)調(diào)服務(wù)Zookeeper這幾大構(gòu)件組成,如圖所示。其中Producer、Broker、Consumer都可以有多個,而引入Zookeeper可以極大地提高其擴展性。實時數(shù)據(jù)采集工具——Kafka從Kafka架構(gòu)的組成中,能體現(xiàn)出其主要具有以下四個特點:高吞吐低延遲可擴展性持久可靠Kafka每秒可以處理幾十萬條消息,它的延遲最低只有幾毫秒Kafka集群支持熱擴展消息被持久化到本地磁盤,并且支持數(shù)據(jù)備份防止數(shù)據(jù)丟失容錯性允許集群中節(jié)點失?。ㄈ舾北緮?shù)量為n,則允許n-1個節(jié)點失?。└卟l(fā)支持數(shù)千個客戶端同時讀寫實時數(shù)據(jù)采集工具——ChukwaChukwa屬于Apache的開源項目Hadoop系列下的一個產(chǎn)品。是構(gòu)建在Hadoop的HDFS和Map/Reduce框架之上的,一個開源的大型分布式數(shù)據(jù)采集系統(tǒng),支持Hadoop,使用Java語言。Chukwa提供了一種對大數(shù)據(jù)量日志類數(shù)據(jù)的采集、存儲、分析和展示的全套解決方案和框架。Chukwa繼承Hadoop的可伸縮性和魯棒性,可以用于監(jiān)控大規(guī)模(2000個以上節(jié)點,每天產(chǎn)生數(shù)據(jù)量在TB級別)Hadoop集群的整體運行情況,并對它們的日志進行分析。Chukwa旨在為分布式數(shù)據(jù)收集和大數(shù)據(jù)處理提供一個靈活、強大的平臺,并能夠與時俱進地利用更新的存儲技術(shù)(如HDFS、HBase等)。實時數(shù)據(jù)采集工具——ChukwaChunkwa由Apache公司開發(fā),從數(shù)據(jù)的產(chǎn)生、收集、存儲、分析到展示的整個生命周期都提供了全面的支持,由適配器(Adapter)、代理(Agent)、收集器(Collector)、多路分配器(Demux)、存儲系統(tǒng)和數(shù)據(jù)展示(HICC)組成。AgentCollectorDataHDFSDataSinkStructuredStorageMap-ReduceJobs實時數(shù)據(jù)采集工具——ScribeScribe是Facebook開源的日志采集系統(tǒng),使用C/C++語言。Scribe能夠從各種日志源上收集日志,存儲到一個中央存儲系統(tǒng)上,以便于進行集中統(tǒng)計分析處理。Scribe為日志的分布式收集、統(tǒng)一處理提供了一個可擴展的、高容錯的方案。Scribe的架構(gòu)由代理(Agent)、Scribe和中央存儲系統(tǒng)組成中央存儲系統(tǒng)數(shù)據(jù)日志AgentAgentAgentScribeScribe數(shù)據(jù)庫HDFS實時數(shù)據(jù)采集工具——其他工具Fluentd工具Fluentd是數(shù)據(jù)采集任務(wù)的早期工具,F(xiàn)luentd的可插拔架構(gòu)支持各種不同種類和格式的數(shù)據(jù)源和數(shù)據(jù)輸出,同時也提供了高可靠和很好的擴展性。Logstash工具Logstash是著名的開源數(shù)據(jù)棧ELK中的一個數(shù)據(jù)采集工具,用于接收、處理、轉(zhuǎn)發(fā)日志,常作為日志采集工具。Telegraf和cAdvisor工具Telegraf配合Influxdb可以讓用戶充分了解機器各個維度的信息,cAdvisor搭配Kubernetes在處理容器資源信息時表現(xiàn)極佳。小結(jié)本節(jié)的主要內(nèi)容實時數(shù)據(jù)獲取方法概述實時數(shù)據(jù)采集基本架構(gòu)實時數(shù)據(jù)采集工具4.2實時數(shù)據(jù)獲取方法4.3互聯(lián)網(wǎng)數(shù)據(jù)獲取方法互聯(lián)網(wǎng)數(shù)據(jù)獲取方法概述互聯(lián)網(wǎng)數(shù)據(jù)是指在網(wǎng)絡(luò)空間交互過程中產(chǎn)生的大量數(shù)據(jù),例如抖音、微博等社交媒體產(chǎn)生的數(shù)據(jù)?;ヂ?lián)網(wǎng)數(shù)據(jù)獲取是利用互聯(lián)網(wǎng)搜索引擎技術(shù)對數(shù)據(jù)進行針對性、精準性的抓取,并按照一定的規(guī)則和篩選標準將數(shù)據(jù)進行歸類,形成數(shù)據(jù)文件的過程。互聯(lián)網(wǎng)數(shù)據(jù)獲取方法概述獲取互聯(lián)網(wǎng)數(shù)據(jù)的流程大致如圖所示:互聯(lián)網(wǎng)數(shù)據(jù)的主要來源為網(wǎng)頁,網(wǎng)頁的組成涉及HTML、CSS和JavaScript這三塊知識。爬蟲獲取并拼接重組生成URL列表,再模擬瀏覽器對網(wǎng)絡(luò)服務(wù)器發(fā)出訪問請求,得到原始網(wǎng)頁,再通過網(wǎng)頁解析技術(shù)將藏在網(wǎng)頁里的重要的數(shù)據(jù)提取出來。這個過程中涉及到的HTTP協(xié)議、URL重組等知識本節(jié)會一一介紹。另外,使用成熟的框架和包可以幫助我們快捷的完成爬蟲任務(wù)。網(wǎng)絡(luò)服務(wù)器網(wǎng)絡(luò)瀏覽器網(wǎng)頁訪問請求網(wǎng)頁解析目標數(shù)據(jù)HTTP協(xié)議網(wǎng)頁——網(wǎng)頁組成網(wǎng)頁是可以在互聯(lián)網(wǎng)上進行信息查詢的信息頁,通過網(wǎng)頁瀏覽器閱讀。網(wǎng)頁組成主要涉及三塊知識:HTML、CSS和JavaScript。HTML是網(wǎng)頁內(nèi)容的載體,包含文字、圖片、視頻等。CSS樣式使得網(wǎng)頁的外觀更加豐富,可以改變字體的顏色、樣式,加邊框等。JavaScript則是用來實現(xiàn)網(wǎng)頁上的特效效果例如彈出下拉菜單、圖片輪換等。網(wǎng)頁——網(wǎng)頁組成HTML所有網(wǎng)頁都由HTML組成,它基本上由包裹在標簽周圍的純文本組成,標簽讓網(wǎng)絡(luò)瀏覽器知道以什么樣的方式呈現(xiàn)文本。標簽含義<html>...</html>HTML文檔的開始和結(jié)束<!DOCTYPEhtml>HTML文檔的注釋<head>...</head>包含有關(guān)文檔的元信息<body>...</body>包含文檔的正文<title>...</title>指明文檔的標題<h1>...</h1>指明正文中的小標題<div>...</div>代碼塊,通常用于對一組元素進行分組<p>...</p>表示一個段落<table>...</table>表示一個表格代碼塊<tr>...<tr/>表示一行<td>...</td>表示單個單元格……表示圖像網(wǎng)頁——網(wǎng)頁組成CSSCSS(層疊樣式表)是另一項關(guān)鍵技術(shù)。在瀏覽器中查看網(wǎng)頁源代碼,經(jīng)常有一些HTML屬性存在于許多標簽中:比如“id”用于將頁面唯一標識符附加到某個標簽;“class”列出了一系列以空格分隔的CSS類名。=======================color:'red';background-color:#ccc;font-size:14pt;border:2pxsolidyellow;=======================CSS的語法看起來與HTML有點不同。在CSS中,樣式信息被寫成以冒號分隔的基于鍵值的語句列表,每個語句本身用分號分隔,如右所示:網(wǎng)頁——網(wǎng)頁組成JavaScript是一種在瀏覽器端實現(xiàn)網(wǎng)頁與用戶交互的技術(shù)。JavaScript代碼嵌套在HTML網(wǎng)頁中響應(yīng)一系列的事件,當一個JavaScript函數(shù)約定響應(yīng)的動作發(fā)生時,瀏覽器就執(zhí)行對應(yīng)的JavaScript代碼。對于靜態(tài)網(wǎng)頁的爬取比較簡單,因為html代碼一旦生成,頁面的內(nèi)容和顯示效果就基本上不會發(fā)生變化了,而動態(tài)加載的頁面,其顯示的內(nèi)容可以隨著時間、環(huán)境或者數(shù)據(jù)庫操作的結(jié)果而發(fā)生改變。通常解決辦法有兩種:分析網(wǎng)頁元素,找出該數(shù)據(jù)的原始網(wǎng)頁,提交表單,用來達到爬取的目的;使用selenium組件。網(wǎng)頁——網(wǎng)頁訪問原理如今,互聯(lián)網(wǎng)已經(jīng)融入到人們?nèi)粘I畹姆椒矫婷妫灾劣谌藗兒苌倏紤]到它背后邏輯的復(fù)雜性。每當上網(wǎng)時,瀏覽器就會啟動一系列網(wǎng)絡(luò)協(xié)議,在幾秒鐘內(nèi)就與世界各地的計算機建立連接并檢索數(shù)據(jù)。一旦導(dǎo)航到一個網(wǎng)站,例如“”,網(wǎng)絡(luò)瀏覽器就會執(zhí)行下列這些步驟:IP地址網(wǎng)址輸入DNS路由器發(fā)送數(shù)據(jù)包網(wǎng)絡(luò)瀏覽器轉(zhuǎn)換回復(fù)響應(yīng)網(wǎng)絡(luò)服務(wù)器建立聯(lián)系HTTP回復(fù)網(wǎng)頁呈現(xiàn)網(wǎng)頁——搜索引擎工作原理搜索引擎是在網(wǎng)絡(luò)文檔中搜索指定關(guān)鍵字的程序,并返回在萬維網(wǎng)中找到的包含關(guān)鍵字的所有網(wǎng)絡(luò)文檔的列表。搜索引擎在檢索目標網(wǎng)頁時的步驟為以下五步:1、爬?。簭囊粋€設(shè)定的種子鏈接(SeedURLs)開始,訪問隊列中的所有網(wǎng)址,并下載網(wǎng)頁文檔。2、資源庫管理:管理大量的網(wǎng)絡(luò)文檔。收集每個網(wǎng)頁文檔并將網(wǎng)頁文檔的html壓縮存儲在資源庫中。3、索引:索引中包含了每一個網(wǎng)站或網(wǎng)絡(luò)文檔。這為互聯(lián)網(wǎng)搜索引擎提供了更有效的檢索方式。4、查詢:查詢操作將會根據(jù)用戶的搜索請求,在海量的資源庫中接收相關(guān)的網(wǎng)頁文檔。5、排名:搜索引擎在搜集到數(shù)據(jù)后需要向用戶展示最合適的結(jié)果。排序就是根據(jù)用戶的需要自定義檢索結(jié)果的順序。爬蟲工作原理——獲取鏈接URL是統(tǒng)一資源定位符,用來定位互聯(lián)網(wǎng)上標準資源的地址。而互聯(lián)網(wǎng)上的每個文件都有唯一的一個的URL,爬蟲需要知道URL,才能自動訪問相應(yīng)的頁面并進行爬取。URL基本格式一般為:protocol://hostname[:port]/path/[;parameters][?query]#fragmentprotocol為傳輸協(xié)議,最常見的就是http。hostname為主機名,是指存放資源的服務(wù)器的域名系統(tǒng)(DNS)主機名或IP地址。port為端口號,各種傳輸協(xié)議都有默認的端口號,如http的默認端口為80。Path為路徑,由零或多個“/”符號隔開的字符串,一般用來表示主機上的一個目錄或文件地址。Parameters為參數(shù),這是用于指定特殊參數(shù)的可選項。Query表示查詢,可選,用于給動態(tài)網(wǎng)頁傳遞參數(shù),可有多個參數(shù)。Fragment為信息片斷,用于指定網(wǎng)絡(luò)資源中的片斷。例如一個網(wǎng)頁中有多個名詞解釋,可使用fragment直接定位到某一名詞解釋。爬蟲工作原理——訪問網(wǎng)頁1、HTTP現(xiàn)在看看HTTP請求和回復(fù)是什么樣的。正如前面所介紹的,網(wǎng)絡(luò)瀏覽器和網(wǎng)絡(luò)服務(wù)器通過發(fā)送純文本消息進行通信。客戶端向服務(wù)器發(fā)送請求,服務(wù)器發(fā)送響應(yīng)或回復(fù)。請求消息包含內(nèi)容響應(yīng)消息包含內(nèi)容請求行狀態(tài)代碼和狀態(tài)消息的狀態(tài)行許多請求標頭,每個標頭都在自己的行上許多響應(yīng)頭,同樣都在同一行上空行空行可選的消息正文,也可以占用多行可選的消息正文爬蟲工作原理——訪問網(wǎng)頁以下代碼片段顯示了由網(wǎng)絡(luò)瀏覽器執(zhí)行的完整HTTP請求消息:=========================================================GET/HTTP/1.1Host:Connection:keep-aliveCache-Control:max-age=0Upgrade-Insecure-Requests:1User-Agent:Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/60.0.3112.90Safari/537.36Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Referer:https:///Accept-Encoding:gzip,deflateAccept-Language:en-US,en;q=0.8,nl;q=0.6<CR><LF>=========================================================1、“GET/HTTP/1.1”是請求行。它包含了瀏覽器需要執(zhí)行的HTTP“方法”以及HTTP版本。2、請求標頭,每個標頭都在自己的行上。每個標頭都包含一個名稱(例如“Host,”),后跟一個冒號(“:”)和標頭的實際值(“”)。3、“Connection:keep-alive”可以向服務(wù)器發(fā)出信號,為后續(xù)請求保持連接狀態(tài)4、“User-Agent”包含一個大文本值,瀏覽器通過它通知服務(wù)器它是什么(Chrome),以及它正在運行的版本5、“Accept”告訴服務(wù)器瀏覽器更喜歡返回哪種形式的內(nèi)容6、“Referer”標頭告訴服務(wù)器瀏覽器來自哪個頁面7、最后,請求消息以空白的<CR><LF>行結(jié)束爬蟲工作原理——訪問網(wǎng)頁以下代碼片段顯示了由網(wǎng)絡(luò)瀏覽器執(zhí)行的完整HTTP響應(yīng)消息:1、“第一行表示請求的狀態(tài)結(jié)果。它列出了服務(wù)器認可的HTTP版本(“HTTP/1.1”),然后是狀態(tài)代碼(“200”)和狀態(tài)消息(“OK”)2、”Date”為時間3、”Content-Type”為瀏覽器提供有關(guān)回復(fù)中包含的內(nèi)容的信息,在這里,它是HTML文本,但也可能是二進制圖像數(shù)據(jù)、電影數(shù)據(jù)等4、”Server”為服務(wù)器版本5、空白的<CR><LF>行6、消息正文:包含回復(fù)的實際內(nèi)容。在這里,內(nèi)容是HTML文本,其中包含“HelloWorld”正是這些HTML內(nèi)容將被網(wǎng)頁瀏覽器解析并顯示在屏幕上。同樣,消息正文是可選的,但由于用戶希望大多數(shù)請求實際上返回一些有用的內(nèi)容,所以一般來說正文部分會包含一些內(nèi)容===================================HTTP/1.1200OKConnection:keep-aliveContent-Encoding:gzipContent-Type:text/html;charset=utf-8Date:Mon,28Aug201710:57:42GMTServer:Apachev1.3Vary:Accept-EncodingTransfer-Encoding:chunked<CR><LF><html><body>HelloWorld</body></html>===================================爬蟲工作原理——訪問網(wǎng)頁2、常用庫requests在了解HTTP的基礎(chǔ)上,我們可以對網(wǎng)頁內(nèi)容進行訪問,這里介紹一個可以便捷獲取到網(wǎng)頁的第三方庫——requests。=======================importrequestsurl='/q/1010000039170079'response=requests.get(url)print(response.text)=======================requests使用起來非常簡單,首先在環(huán)境中導(dǎo)入requests包,然后根據(jù)瀏覽器發(fā)出的請求類型是get()還是post(),調(diào)用requests對應(yīng)的get()或post()方法即可,調(diào)用post()方法需要帶上查詢參數(shù),得到的就是瀏覽器返回的頁面信息,之后再進行下一步處理。爬蟲工作原理——網(wǎng)頁解析1、正則表達式爬取到的網(wǎng)頁中存在著大量的無結(jié)構(gòu)的文本,我們需要提取出藏在網(wǎng)頁中的有用的數(shù)據(jù)信息。正則表達式提供了在文本中系統(tǒng)化分析規(guī)律的一套語法,已經(jīng)在很多軟件中得到廣泛的應(yīng)用。常用正則表達式含義普通字符所有大寫A~Z和小寫字母a~z、所有數(shù)字0~9、所有標點符號和一些其他符號非打印字符比如常用的“\n”會匹配到一個換行符,“\s”會匹配到一個空白字符,“\t”會匹配到一個制表符特殊字符比如“()”就標記了一個子表達式的開始和結(jié)束?!?”就代表匹配前面的子表達式零次或多次,而“+”就代表匹配前面的子表達式一次或多次限定符用來指定正則表達式的一個給定組件必須要出現(xiàn)多少次才能滿足匹配定位符能夠?qū)⒄齽t表達式固定到某一個位置,比如行首或行尾,比如出現(xiàn)在一個單詞內(nèi)、在一個單詞的開頭或者結(jié)尾爬蟲工作原理——網(wǎng)頁解析2、BeautifulSoup包BeautifulSoup主要用于解析和提取HTML字符串中的信息。帶有各種HTML解析器,使用requests獲取到HTML頁面,之后就可以開始使用BeautifulSoup來提取有用的信息。BeautifulSoup有很多方法,例如findParent()、findParents()、findPreviousSibling()和findPreviousSiblings()等等,這些可以幫助在HTML樹中導(dǎo)航。3、Xpath包XPath允許識別HTML和XML文檔的路徑和節(jié)點。找到XPath的最常見方法是借助GoogleChrome中的開發(fā)人員工具。使用Xpath可以輕松定位到想要的元素。爬蟲工作原理——網(wǎng)絡(luò)爬蟲分類人們開發(fā)出了各種類型的網(wǎng)絡(luò)爬蟲。大大提高了網(wǎng)絡(luò)爬蟲的性能和下載速度。聚焦爬蟲:又稱主題網(wǎng)絡(luò)爬蟲,從互聯(lián)網(wǎng)返回給定主題的相關(guān)網(wǎng)頁。重點抓取分析感興趣的主題,以找到可能與抓取最相關(guān)的網(wǎng)絡(luò)文檔的URL。增量爬蟲:先爬取頁面獲得本地集合,之后只更新新產(chǎn)生或者已經(jīng)發(fā)生變化的頁面,而不是每次都從頭開始。分布式爬蟲:經(jīng)常應(yīng)用在任務(wù)量很巨大的情況下,把任務(wù)分配給多臺機器進行爬取。通過科學(xué)合理地進行任務(wù)分配,快速的完成爬取任務(wù)。并行爬蟲:并行運行多個爬蟲。從給定的主機一次獲取多個網(wǎng)頁。并行爬蟲提高了從萬維網(wǎng)下載Web文檔的速度,其應(yīng)用也很廣泛。爬蟲工具及軟件——常用爬蟲工具爬蟲工具簡介Spidernet支持Windows操作系統(tǒng),基于遞歸樹模型的網(wǎng)絡(luò)爬蟲框架,支持多線程爬取,可以自行設(shè)置爬取深度和最大下載字節(jié)數(shù)限制NWebCrawler基于Windows操作系統(tǒng)的開源網(wǎng)絡(luò)爬蟲框架,其功能豐富,支持多線程,可設(shè)置優(yōu)先級的MIME類型,而且執(zhí)行過程可視化Sinawler基于.NET2.0框架,提供了針對SQLServer的數(shù)據(jù)庫腳本文件。該框架顧名思義,主要針對新浪微博的數(shù)據(jù)進行爬取1、C#網(wǎng)絡(luò)爬蟲工具爬蟲工具及軟件——常用爬蟲工具爬蟲工具簡介Crawler4j一款基于Java的輕量級單機開源爬蟲框架,支持多線程爬取,具備基于BerkeleyDB的URL過濾機制,但該框架不支持動態(tài)網(wǎng)頁的爬取,對于采取JavaScript的網(wǎng)頁束手無策,同時也不能進行分布式數(shù)據(jù)采集WebMagic簡單靈活,高效快捷,但缺點是不能對動態(tài)頁面進行有效的爬取WebCollector無須配置、便于二次開發(fā)的JAVA爬蟲框架,它支持斷點重爬,而且支持代理,而且該框架基于文本密度對網(wǎng)頁正文自動抽取,但不支持分布式爬取,且沒有URL優(yōu)先級調(diào)度2、Java網(wǎng)絡(luò)爬蟲工具3、Python網(wǎng)絡(luò)爬蟲工具Scrapy是一個基于Twisted實現(xiàn)的異步處理爬蟲框架,Scrap是碎片的意思,代表它可以適應(yīng)任何人根據(jù)自己的需求進行修改,定制化服務(wù)。Scrapy提供了種類豐富的基類,比如BaseSpider、sitemap等。而且,Scrapy可支持Linux、Mac、Windows等各種主流平臺,正是由于其諸多特性,Scrapy應(yīng)用十分廣泛,可用于數(shù)據(jù)采集、網(wǎng)絡(luò)監(jiān)測,以及自動化測試等多種場景。爬蟲工具及軟件——常用爬蟲軟件爬蟲工具簡介八爪魚一款可視化采集器,簡單易用,內(nèi)置數(shù)百個網(wǎng)站數(shù)據(jù)源,提供多種網(wǎng)頁采集策略及配套資源,提供云采集操作,不過需要收費,支持多格式導(dǎo)出,也需要積分才能實現(xiàn),該軟件只支持Windows操作系統(tǒng)。集搜客同時支持Windows版和Mac版,全圖形化操作界面,對新手友好,無需具備編程基礎(chǔ),可以設(shè)置周期性自動采集,實現(xiàn)持續(xù)的增量數(shù)據(jù)采集,有利于輿情監(jiān)控、商品比價和大數(shù)據(jù)挖掘。WebScraperChrome的插件,可以在chrome網(wǎng)上應(yīng)用商店安裝,也可以下載插件安裝包手動安裝。WebScraper非常輕量,對新手也較為友好,支持絕大多數(shù)的網(wǎng)頁的爬取,但需要充錢才能不限爬取速度。AnyPapa與WebScraper類似,也是一款輕量級插件,不過它可以應(yīng)用于Chrome、360、QQ、搜狗等多款Chromium內(nèi)核的瀏覽器,內(nèi)置通用的URL打開器,可爬取多種數(shù)據(jù)格式,支持多種數(shù)據(jù)源?;疖囶^功能強大,接口齊全,支持接口和插件多種擴展延伸,比如PHP和C#的插件擴展。支持各種數(shù)據(jù)格式輸出,采用分布式高速采集系統(tǒng),可以靈活迅速地抓取網(wǎng)頁上散亂分布的數(shù)據(jù)信息,還兼有數(shù)據(jù)分析、挖掘的能力。但只支持Windows系統(tǒng),且免費的功能限制很多。爬山虎采用可視化界面,不需要編程基礎(chǔ),靜態(tài)網(wǎng)頁、動態(tài)網(wǎng)頁都可以采集,支持手機APP爬取,支持多種格式文件和數(shù)據(jù)庫的導(dǎo)出,同時內(nèi)置多款網(wǎng)站采集模板,但價格昂貴,適合大量長期的數(shù)據(jù)需求者。其他需要注意的問題——反爬蟲及應(yīng)對策略反爬蟲策略簡介信息校驗型瀏覽器發(fā)出請求時,客戶端會把“信息”包含在請求頭和請求正文中,網(wǎng)站想要反扒就可以從這里入手,對發(fā)出的信息進行校驗,包括對信息的正確性
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東特殊教育職業(yè)學(xué)院《口腔解剖生理學(xué)一》2023-2024學(xué)年第二學(xué)期期末試卷
- 山西工商學(xué)院《機器人學(xué)導(dǎo)論》2023-2024學(xué)年第二學(xué)期期末試卷
- 山東勞動職業(yè)技術(shù)學(xué)院《模具設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 樂山師范學(xué)院《新聞攝影技巧實踐》2023-2024學(xué)年第二學(xué)期期末試卷
- 重慶理工職業(yè)學(xué)院《環(huán)境工程原理(二)》2023-2024學(xué)年第二學(xué)期期末試卷
- 天津外國語大學(xué)濱海外事學(xué)院《跨國經(jīng)營與管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 蘇州工藝美術(shù)職業(yè)技術(shù)學(xué)院《社會工作論文規(guī)范與寫作》2023-2024學(xué)年第二學(xué)期期末試卷
- 鶴壁能源化工職業(yè)學(xué)院《管理學(xué)經(jīng)典閱讀》2023-2024學(xué)年第二學(xué)期期末試卷
- 運城職業(yè)技術(shù)大學(xué)《辦公空間設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 大連財經(jīng)學(xué)院《平面設(shè)計基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 14 文言文二則 學(xué)弈 教學(xué)設(shè)計-2024-2025學(xué)年語文六年級下冊統(tǒng)編版
- 2025年度劇本殺劇本版權(quán)授權(quán)與收益分成合同
- 2025年春季學(xué)期學(xué)校工作計劃及安排表
- 2025年一種板式過濾膜裝置項目投資可行性研究分析報告
- BMS基礎(chǔ)知識培訓(xùn)
- 2024初中數(shù)學(xué)課程標準測試題(含答案)精華版
- 2024年陜西延長石油集團礦業(yè)公司招聘筆試參考題庫含答案解析
- 鋁的陽極氧化和著色
- 信用社(銀行)清產(chǎn)核資實施方案
- 模板拉桿加固計算
- 市場營銷》教案
評論
0/150
提交評論