互聯(lián)網(wǎng)大數(shù)據(jù)ppt第2章 互聯(lián)網(wǎng)大數(shù)據(jù)采集與獲取實戰(zhàn)要領_第1頁
互聯(lián)網(wǎng)大數(shù)據(jù)ppt第2章 互聯(lián)網(wǎng)大數(shù)據(jù)采集與獲取實戰(zhàn)要領_第2頁
互聯(lián)網(wǎng)大數(shù)據(jù)ppt第2章 互聯(lián)網(wǎng)大數(shù)據(jù)采集與獲取實戰(zhàn)要領_第3頁
互聯(lián)網(wǎng)大數(shù)據(jù)ppt第2章 互聯(lián)網(wǎng)大數(shù)據(jù)采集與獲取實戰(zhàn)要領_第4頁
互聯(lián)網(wǎng)大數(shù)據(jù)ppt第2章 互聯(lián)網(wǎng)大數(shù)據(jù)采集與獲取實戰(zhàn)要領_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

第2章互聯(lián)網(wǎng)大數(shù)據(jù)采集與獲取實戰(zhàn)要領2.1互聯(lián)網(wǎng)大數(shù)據(jù)采集與處理技術概述2.2Web頁面數(shù)據(jù)獲取實戰(zhàn)方法2.3利用爬蟲抓取互聯(lián)網(wǎng)大數(shù)據(jù)實戰(zhàn)技巧2.1互聯(lián)網(wǎng)大數(shù)據(jù)采集與處理技術概述互聯(lián)網(wǎng)網(wǎng)頁數(shù)據(jù)是大數(shù)據(jù)領域的一個重要組成部分,它具有分布廣、格式多樣、非結構化等大數(shù)據(jù)的典型特點,我們需要有針對性地對互聯(lián)網(wǎng)網(wǎng)頁數(shù)據(jù)進行采集、轉換、加工和存儲。2.1.1數(shù)據(jù)采集的基本流程與關鍵技術1.數(shù)據(jù)采集的整體框架Web爬蟲是一種互聯(lián)網(wǎng)網(wǎng)頁數(shù)據(jù)的采集工具。Web爬蟲的整個抓取過程主要包括以下6個部分。(1)網(wǎng)站頁面(SitePage)(2)內(nèi)容抽取(ContentExtractor)(3)鏈接抽取(URLExtractor)(4)鏈接過濾(URLFilter)(5)URL隊列(URLQueue)(6)數(shù)據(jù)(Data)第2章互聯(lián)網(wǎng)大數(shù)據(jù)采集與獲取實戰(zhàn)要領2.1.1數(shù)據(jù)采集的基本流程與關鍵技術2.數(shù)據(jù)采集的基本流程(1)將需要抓取數(shù)據(jù)的網(wǎng)站的URL信息(SiteURL)寫入URL隊列。(2)Web爬蟲從URL隊列中獲取需要抓取數(shù)據(jù)的網(wǎng)站的SiteURL信息。(3)獲取某個具體網(wǎng)站的網(wǎng)頁內(nèi)容。(4)從網(wǎng)頁內(nèi)容中抽取出該網(wǎng)站正文頁內(nèi)容的鏈接地址。(5)從數(shù)據(jù)庫中讀取已經(jīng)抓取過內(nèi)容的網(wǎng)頁地址(SpiderURL)。(6)過濾URL,將當前的URL和已經(jīng)抓取過的URL進行比較。(7)如果該網(wǎng)頁地址沒有被抓取過,則將該地址寫入SpiderURL數(shù)據(jù)庫;如果該地址已經(jīng)被抓取過,則放棄對這個地址的抓取操作。(8)獲取該地址的網(wǎng)頁內(nèi)容,并抽取出所需屬性的內(nèi)容值。(9)將抽取的網(wǎng)頁內(nèi)容寫入數(shù)據(jù)庫。第2章互聯(lián)網(wǎng)大數(shù)據(jù)采集與獲取實戰(zhàn)要領2.1.1數(shù)據(jù)采集的基本流程與關鍵技術3.數(shù)據(jù)采集的關鍵技術——鏈接過濾鏈接過濾的實質就是判斷一個鏈接(當前鏈接)是不是在一個鏈接集合(已經(jīng)抓取過的鏈接)里面。在對網(wǎng)頁大數(shù)據(jù)的采集中,可以采用布隆過濾器(BloomFilter)來實現(xiàn)對鏈接的過濾。布隆過濾器在空間和時間方面的優(yōu)勢體現(xiàn)在以下三方面。(1)復雜度方面:布隆過濾器的存儲空間和插入/查詢時間都是常數(shù)(即復雜度為O(k))。(2)關系方面:散列函數(shù)相互之間沒有關聯(lián)關系,方便由硬件并行實現(xiàn)。(3)存儲方面:布隆過濾器不需要存儲元素本身,在某些對保密要求非常嚴格的場合有優(yōu)勢。第2章互聯(lián)網(wǎng)大數(shù)據(jù)采集與獲取實戰(zhàn)要領2.1.2數(shù)據(jù)處理的基本流程與關鍵技術1.數(shù)據(jù)處理的整體框架數(shù)據(jù)處理的整個過程主要包括以下4個部分。(1)分詞(WordsAnalyze):用來對抓取到的網(wǎng)頁內(nèi)容進行切詞處理。(2)排重(ContentDeduplicate):用來對眾多的網(wǎng)頁內(nèi)容進行排重。(3)整合(Integrate):用來對不同來源的數(shù)據(jù)內(nèi)容進行格式上的整合。(4)數(shù)據(jù):包含SpiderData(Web爬蟲從網(wǎng)頁中抽取出來的數(shù)據(jù))和DPData(在整個數(shù)據(jù)處理過程中產(chǎn)生的數(shù)據(jù))兩部分數(shù)據(jù)。第2章互聯(lián)網(wǎng)大數(shù)據(jù)采集與獲取實戰(zhàn)要領2.1.2數(shù)據(jù)處理的基本流程與關鍵技術2.數(shù)據(jù)處理的基本流程一個完整的數(shù)據(jù)處理過程包括以下6個步驟。(1)對抓取來的網(wǎng)頁內(nèi)容進行分詞。(2)將分詞處理的結果寫入數(shù)據(jù)庫。(3)對抓取來的網(wǎng)頁內(nèi)容進行排重。(4)將排重處理后的數(shù)據(jù)寫入數(shù)據(jù)庫。(5)根據(jù)之前的處理結果,對數(shù)據(jù)進行整合。(6)將整合后的結果寫入數(shù)據(jù)庫。第2章互聯(lián)網(wǎng)大數(shù)據(jù)采集與獲取實戰(zhàn)要領2.1.2數(shù)據(jù)處理的基本流程與關鍵技術3.數(shù)據(jù)處理的關鍵技術——排重排重就是排除掉與主題相重復項的過程,網(wǎng)頁排重就是通過兩個網(wǎng)頁之間的相似度來排除重復項。SimHash算法是一種高效的海量文本排重算法,相比于余弦角、歐式距離、Jaccard相似系數(shù)等算法,SimHash算法避免了對文本兩兩進行相似度比較的復雜方式,從而大大提高了效率。4.數(shù)據(jù)處理的關鍵技術——整合整合是把抓取來的網(wǎng)頁內(nèi)容與各個公司之間建立對應關系。對于網(wǎng)頁內(nèi)容的分詞結果來說,存在以下兩個特點。(1)分詞結果的數(shù)量很大。(2)大多數(shù)的分詞對描述該網(wǎng)頁內(nèi)容來說是沒有貢獻的。第2章互聯(lián)網(wǎng)大數(shù)據(jù)采集與獲取實戰(zhàn)要領2.2Web頁面數(shù)據(jù)獲取實戰(zhàn)方法2.2.1Jsoup技術與頁面數(shù)據(jù)獲取Jsoup是一款比較好的Java版HTML解析器,它可以直接解析某個URL地址、HTML文本內(nèi)容,并有一套好用的API,可通過DOM、CSS以及類似于jQuery的操作方法來取出和操作數(shù)據(jù)。1.Jsoup的功能Jsoup的功能如下。(1)從一個URL、文件或字符串中解析HTML。(2)使用DOM或CSS選擇器來查找、取出數(shù)據(jù)。(3)可操作HTML元素、屬性、文本。第2章互聯(lián)網(wǎng)大數(shù)據(jù)采集與獲取實戰(zhàn)要領2.2Web頁面數(shù)據(jù)獲取實戰(zhàn)方法2.2.1Jsoup技術與頁面數(shù)據(jù)獲取1.Jsoup的功能Jsoup的功能如下。(1)從一個URL、文件或字符串中解析HTML。(2)使用DOM或CSS選擇器來查找、取出數(shù)據(jù)。(3)可操作HTML元素、屬性、文本。2.Jsoup的使用方法Jsoup可從字符串、URL地址以及本地文件來加載HTML文檔,并生成Document對象實例。(1)Document對象(一個文檔的對象模型)(2)一個元素包含一個子節(jié)點集合,并擁有一個父元素第2章互聯(lián)網(wǎng)大數(shù)據(jù)采集與獲取實戰(zhàn)要領2.2Web頁面數(shù)據(jù)獲取實戰(zhàn)方法2.2.2應對特定領域的DeepWeb數(shù)據(jù)獲取技術1.DeepWeb概述DeepWeb(深網(wǎng)),即深層網(wǎng)絡,也叫不可見網(wǎng)、隱藏網(wǎng),是指萬維網(wǎng)上那些不能被標準搜索引擎索引的非表面網(wǎng)絡內(nèi)容。我們平常使用搜索引擎上網(wǎng)接觸到的即為表層網(wǎng)絡(SurfaceWeb)。與SurfaceWeb相比,DeepWeb隱藏著更豐富及“專業(yè)”的信息。2.DeepWeb不可直接索引的原因(1)某些DeepWeb的內(nèi)容由于未與外網(wǎng)連接,網(wǎng)絡爬蟲無法通過URL獲取到這些內(nèi)容。(2)DeepWeb的內(nèi)容屬于非表面網(wǎng)絡上的內(nèi)容,用戶想獲取內(nèi)容一般需填寫表單發(fā)送請求后生成動態(tài)頁面才可獲取,但爬蟲軟件一般無法填寫表單。(3)被限制訪問的內(nèi)容也是爬蟲無法獲取的,比如一些涉及相關秘密任務數(shù)據(jù)的服務器和網(wǎng)站,這些內(nèi)容網(wǎng)絡爬蟲無法取得。第2章互聯(lián)網(wǎng)大數(shù)據(jù)采集與獲取實戰(zhàn)要領2.2Web頁面數(shù)據(jù)獲取實戰(zhàn)方法2.2.2應對特定領域的DeepWeb數(shù)據(jù)獲取技術3.對DeepWeb進行索引的方法目前DeepWeb內(nèi)容覆蓋了各行各業(yè),在互聯(lián)網(wǎng)中占有巨大比例。(1)DeepWeb的規(guī)模、分布和結構。(2)DeepWeb信息搜索中的關鍵技術。DeepWeb搜索引擎的原理是:可以模仿用戶訪問數(shù)據(jù)庫的流程,然后通過以下步驟自動訪問數(shù)據(jù)庫。(1)DeepWeb搜索引擎發(fā)現(xiàn)互聯(lián)網(wǎng)上的DeepWeb數(shù)據(jù)源。(2)對之前獲得的表單頁面進行分析和抽取。(3)模仿用戶自動填充并提交表單。第2章互聯(lián)網(wǎng)大數(shù)據(jù)采集與獲取實戰(zhàn)要領2.3利用爬蟲抓取互聯(lián)網(wǎng)大數(shù)據(jù)實戰(zhàn)技巧2.3.1Python爬蟲工作原理1.Web爬蟲的基本流程第2章互聯(lián)網(wǎng)大數(shù)據(jù)采集與獲取實戰(zhàn)要領Web爬蟲的基本流程2.3利用爬蟲抓取互聯(lián)網(wǎng)大數(shù)據(jù)實戰(zhàn)技巧2.3.1Python爬蟲工作原理2.HTTP協(xié)議的請求與響應1)Request(請求)(1)請求方式。常見的請求方式有:GET/POST。(2)請求的URL。URL(全球統(tǒng)一資源定位符),用來定義互聯(lián)網(wǎng)上一個唯一的資源。例如一張圖片、一個文件、一段視頻都可以用URL唯一確定。(3)請求頭。一般的Web爬蟲都會加上請求頭,請求頭需要注意以下參數(shù)。(4)請求體。如果是GET方式,請求體沒有內(nèi)容(GET方式請求的請求體放在URL后面參數(shù)中,直接能看到);如果是POST方式,請求體是formatdata(格式化數(shù)據(jù))。第2章互聯(lián)網(wǎng)大數(shù)據(jù)采集與獲取實戰(zhàn)要領2.3利用爬蟲抓取互聯(lián)網(wǎng)大數(shù)據(jù)實戰(zhàn)技巧2.3.1Python爬蟲工作原理2.HTTP協(xié)議的請求與響應2)Response(響應)(1)響應狀態(tài)碼及其含義如下。200:代表成功。301:代表跳轉。404:文件不存在。403:無權限訪問。502:服務器錯誤。(2)ResponeHeader(響應頭)。ResponeHeader需要注意的參數(shù)如下。Set-Cookie:BDSVRTM=0;path=/:可能有多個,是來告訴瀏覽器,把cookie保存下來。Content-Location:服務端響應頭中包含Location,返回瀏覽器之后,瀏覽器就會重新訪問另一個頁面。(3)preview就是網(wǎng)頁源代碼。包含了所請求資源的內(nèi)容,如網(wǎng)頁HTML、圖片、二進制數(shù)據(jù)等。

第2章互聯(lián)網(wǎng)大數(shù)據(jù)采集與獲取實戰(zhàn)要領2.3利用爬蟲抓取互聯(lián)網(wǎng)大數(shù)據(jù)實戰(zhàn)技巧2.3.2利用HtmlParser實現(xiàn)網(wǎng)頁鏈接的提取實戰(zhàn)1.HtmlParser概述HtmlParser是一個通過線性和嵌套兩種方式來解析網(wǎng)頁的Java開源類庫,主要用于網(wǎng)頁元素的轉換以及網(wǎng)頁內(nèi)容的抽取。HtmlParser的特點是:過濾器、訪問者模式、自定義標簽、易于使用的Java組件。說明:HtmlParser是一個快速的、健壯的、經(jīng)過嚴格測試的工具包。2.NodeFilter的使用HtmlParser具備過濾器的特性,我們可以通過這個特性過濾并提取網(wǎng)頁中的鏈接。HtmlParser中與過濾相關的基本接口是NodeFilter,接口中只定義了一個方法。第2章互聯(lián)網(wǎng)大數(shù)據(jù)采集與獲取實戰(zhàn)要領2.3利用爬蟲抓取互聯(lián)網(wǎng)大數(shù)據(jù)實戰(zhàn)技巧2.3.2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論