版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
數(shù)據(jù)挖掘及其方法目錄01.數(shù)據(jù)挖掘02.數(shù)據(jù)挖掘技術的演進03.數(shù)據(jù)挖掘的目的04.數(shù)據(jù)挖掘的方法05.數(shù)據(jù)挖掘的基本步驟數(shù)據(jù)挖掘PARTONE1.1數(shù)據(jù)挖掘的定義數(shù)據(jù)挖掘(DataMining)是指通過大量數(shù)據(jù)集進行分類的自動化過程,以通過數(shù)據(jù)分析來識別趨勢和模式,建立關系來解決業(yè)務問題。換句話說,數(shù)據(jù)挖掘是從大量的、不完全的、有噪聲的、模糊的、隨機的數(shù)據(jù)中提取隱含在其中的、人們事先不知道的、但又是潛在有用的信息和知識的過程。011.2與數(shù)據(jù)分析的區(qū)別數(shù)據(jù)分析和數(shù)據(jù)挖掘都是從數(shù)據(jù)庫中發(fā)現(xiàn)知識,所以我們稱數(shù)據(jù)分析和數(shù)據(jù)挖掘叫做數(shù)據(jù)庫中的知識發(fā)現(xiàn)。嚴格來講,數(shù)據(jù)挖掘才是真正意義上的數(shù)據(jù)庫中的知識發(fā)現(xiàn)(KnowledgeDiscoveryinDatabase,KDD)。數(shù)據(jù)分析是從數(shù)據(jù)庫中通過統(tǒng)計、計算、抽樣等相關的方法,獲取基于數(shù)據(jù)表象的知識,數(shù)據(jù)分析是從數(shù)據(jù)庫里面得到一些表象性的信息。數(shù)據(jù)分析1.2與數(shù)據(jù)分析的區(qū)別數(shù)據(jù)挖掘數(shù)據(jù)挖掘是從數(shù)據(jù)庫中通過機器學習或者是通過數(shù)學算法等相關的方法獲取深層次的知識(比如屬性之間的規(guī)律性,或者是預測)的技術。1.3數(shù)據(jù)挖掘利弊數(shù)據(jù)挖掘可以應用于任何類型的信息存儲庫及瞬態(tài)數(shù)據(jù)(如數(shù)據(jù)流),如數(shù)據(jù)庫、數(shù)據(jù)倉庫、數(shù)據(jù)集市、事務數(shù)據(jù)庫、空間數(shù)據(jù)庫(如地圖等)、工程設計數(shù)據(jù)(如建筑設計等)、多媒體數(shù)據(jù)(文本、圖像、視頻、音頻)、網絡、數(shù)據(jù)流、時間序列數(shù)據(jù)庫等1.3數(shù)據(jù)挖掘利弊數(shù)據(jù)挖掘所需要的數(shù)據(jù)集是很大的,只有數(shù)據(jù)集越大,得到的規(guī)律才能越貼近于正確的實際的規(guī)律,結果也才越準確。但數(shù)據(jù)往往都是不完整的。01數(shù)據(jù)集大且不完整。數(shù)據(jù)挖掘存在不準確性,主要是由噪聲數(shù)據(jù)造成的,這些不正常的絕對不可能出現(xiàn)的數(shù)據(jù),就叫做噪聲,它們會導致數(shù)據(jù)挖掘存在不準確性。02數(shù)據(jù)的不準確性數(shù)據(jù)挖掘是模糊的和隨機的。這里的模糊可以和不準確性相關聯(lián)。03數(shù)據(jù)的模糊性和隨機性數(shù)據(jù)挖掘技術的演進PARTTWO在過去很多年,首要原則模型(first-principlemodels)是科學工程領域最為經典的模型。比如你要想知道某輛車從啟動到速度穩(wěn)定行駛的距離,那么你會先統(tǒng)計從啟動到穩(wěn)定耗費的時間、穩(wěn)定后的速度、加速度等參數(shù);然后運用牛頓第二定律(或者其他物理學公式)建立模型,最后根據(jù)該車多次實驗的結果列出方程組從而計算出模型的各個參數(shù)。通過該過程,你就相當于學習到了一個知識——某輛車從啟動到速度穩(wěn)定行駛的具體模型。2.1更便捷的開發(fā)模型2.1更便捷的開發(fā)模型
然而,在數(shù)據(jù)挖掘的思想中,知識的學習是不需要通過具體問題的專業(yè)知識建模。如果之前已經記錄下了100輛型號性能相似的車,從啟動到速度穩(wěn)定行駛的距離,那么我就能夠對這100個數(shù)據(jù)求均值,從而得到結果。數(shù)據(jù)挖掘理論涉及到的面很廣,它實際上起源于多個學科。如建模部分主要起源于統(tǒng)計學和機器學習。統(tǒng)計學方法以模型為驅動,常常建立一個能夠產生數(shù)據(jù)的模型。而機器學習則以算法為驅動,讓計算機通過執(zhí)行算法來發(fā)現(xiàn)知識。2.2計算機技術的發(fā)展2.3預測數(shù)據(jù)挖掘的真正價值在于能夠以數(shù)據(jù)中的模式和關系的形式挖掘隱藏的寶石,這可以用來做出對企業(yè)有重大影響的預測。過去應用于銷售模式和客戶行為的數(shù)據(jù)挖掘都可用于創(chuàng)建預測未來銷售和行為的模型數(shù)據(jù)挖掘的目的PARTTHREE數(shù)據(jù)挖掘的兩大基本目的是預測和描述數(shù)據(jù),其中前者的計算機建模及實現(xiàn)過程通常被稱為監(jiān)督學習(supervisedlearning),后者的則通常被稱為無監(jiān)督學習(supervisedlearning)。數(shù)據(jù)挖掘的目的數(shù)據(jù)挖掘的目的01預測數(shù)據(jù)對當前數(shù)據(jù)進行推斷,以做出預測。02描述數(shù)據(jù)描述數(shù)據(jù)庫中數(shù)據(jù)的一般性質。描述主要包括:聚類——將樣本劃分為不同類(無預定義類),關聯(lián)規(guī)則發(fā)現(xiàn)——發(fā)現(xiàn)數(shù)據(jù)集中不同特征的相關性。這是指找出數(shù)據(jù)間潛在的關聯(lián)模式。數(shù)據(jù)挖掘的方法PARTFOUR數(shù)據(jù)挖掘的常用方法由于本身良好的魯棒性、自組織自適應性、并行處理、分布存儲和高度容錯等特性非常適合解決數(shù)據(jù)挖掘的問題,因此近年來越來越受到關注。神經網絡方法01基于生物自然選擇與遺傳機理的隨機搜索算法,是一種仿生全局優(yōu)化方法。遺傳算法具有的隱含并行、易于和其它模型結合等性質使得它在數(shù)據(jù)挖掘中被加以應用。遺傳算法02常用于預測模型的算法,它通過將大量數(shù)據(jù)有目的分類,從中找到一些有價值的,潛在的信息。它的主要優(yōu)點是描述簡單,分類速度快,特別適合大規(guī)模的數(shù)據(jù)處理。。決策樹方法03不需要給出額外信息;簡化輸入信息的表達空間;算法簡單,易于操作。粗集處理的對象是類似二維關系表的信息表。粗集方法04數(shù)據(jù)挖掘的常用方法利用覆蓋所有正例、排斥所有反例的思想來尋找規(guī)則。覆蓋正例排斥反例方法05在數(shù)據(jù)庫字段項之間存在兩種關系:函數(shù)關系和相關關系,對它們的分析可采用統(tǒng)計學方法,即利用統(tǒng)計學原理對數(shù)據(jù)庫中的信息進行分析。統(tǒng)計分析方法06利用模糊集合理論對實際問題進行模糊評判、模糊決策、模糊模式識別和模糊聚類分析。系統(tǒng)的復雜性越高,模糊性越強,一般模糊集合理論是用隸屬度來刻畫模糊事物的亦此亦彼性的。模糊集方法075數(shù)據(jù)挖掘的基本步驟解讀需求評估模型預處理數(shù)據(jù)搜集數(shù)據(jù)絕大多數(shù)的數(shù)據(jù)挖掘工程都是針對具體領域的,因此數(shù)據(jù)挖掘不應該沉浸在自己的算法模型世界里在大型公司,數(shù)據(jù)搜集大都是從其他業(yè)務系統(tǒng)數(shù)據(jù)庫提取。預處理數(shù)據(jù)可主要分為數(shù)據(jù)準備和數(shù)據(jù)歸約兩部分。其中前者包含了缺失值處理、異常值處理、歸一化、平整化、時間序列加權等;而后者主要包含維度歸約、值歸約、以及案例歸約。在不同的模型之間做出選擇,找到最優(yōu)模型解釋模型如何針對具體業(yè)務情景對模型做出合理解釋也是一項非常重要的任務。python數(shù)據(jù)采集實例目錄01.Python爬蟲02.從網頁獲取數(shù)據(jù)03.使用requests庫請求網站04.使用BeautifulSoup解析網頁05.清洗和組織數(shù)據(jù)06.防爬蟲機制Python爬蟲PARTONEPython爬蟲爬蟲可以形象的理解為在網絡上爬行的一直蜘蛛,將互聯(lián)網就比作一張大網,而爬蟲便是在這張網上爬來爬去的蜘蛛,如果它遇到資源,那么它就會抓取下來。比如它在抓取一個網頁,在這個網中他發(fā)現(xiàn)了一條道路,其實就是指向網頁的超鏈接,那么它就可以爬到另一張網上來獲取數(shù)據(jù)。01從網頁獲取數(shù)據(jù)PARTTWO以某網站首頁()為例,抓取首頁首條信息(標題和鏈接),數(shù)據(jù)以明文的形式出面在源碼中。在網站首頁,按快捷鍵【Ctrl+U】打開源碼頁面,如圖所示。網頁一般由三部分組成,分別是HTML(超文本標記語言)、CSS(層疊樣式表)和JScript(活動腳本語言)。2.1認識網頁結構HTML是整個網頁的結構,相當于整個網站的框架。帶“<”、“>”符號都屬于HTML的標簽,并且標簽都是成對出現(xiàn)的。常見的HTML標簽如下:HTML2.1認識網頁結構2.1認識網頁結構開始創(chuàng)建你的第一個Web,打開記事本,輸入:
2.1認識網頁結構輸入代碼后,保存記事本,然后修改文件名和后綴名為"Web.html"。運行該文件后的效果,如圖所示CSS表示樣式,圖1中第11行<linktype=“text/css”>表示下面引用一個CSS,在CSS中定義了外觀CSS2.1認識網頁結構JScript表示功能。交互的內容和各種特效都在JScript中,JScript描述了網站中的各種功能。JScript2.1認識網頁結構大部分的網站都有一個robots.txt的文檔,當然也有部分網站沒有設定robots.txt。對于沒有設定robots.txt的網站可以通過網絡爬蟲獲取沒有口令加密的數(shù)據(jù),該網站所有頁面數(shù)據(jù)都可以爬取。如果網站有robots.txt文檔,就要判斷是否有禁止訪客獲取的數(shù)據(jù)。2.1認識網頁結構以淘寶為例,在瀏覽器中訪問如圖所示。返回代碼的意思是禁止爬取任何數(shù)據(jù)。使用requests庫請求網站PARTTHREE3.1安裝requests庫首先在PyCharm中安裝requests庫,為此打開PyCharm,單擊“文件”菜單,選擇“新項目設置”命令,如圖
4-4所示。3.1安裝requests庫
選擇“新項目設置”,在彈出的“設置”窗口選擇“Python解釋器”選項,確認Python解釋器與你安裝的Python版本一致,如圖4-5所示。3.1安裝requests庫
然后點擊標簽欄加號,在搜索框輸入:requests(注意:一定要輸入完整,不然容易出錯),然后單擊左下角的“安裝軟件包”。在PyCharm中加載庫的操作步驟如本例步驟。如圖4-6所示:3.1安裝requests庫安裝完成后,如圖4-7所示,提示“已成功安裝軟件包”,如果安裝不成功也會顯示提示信息。。3.2爬蟲的基本原理Request(請求):每一個展示在用戶面前的網頁都必須經過這一步,也就是向服務器發(fā)送訪問請求。Response(響應):服務器在接收到用戶的請求后,會驗證請求的有效性,然后向用戶(客戶端)發(fā)送響應的內容,客戶端接收服務器響應的內容,將內容展示出來,就是我們所熟悉的網頁請求。網頁請求的過程分為兩個環(huán)節(jié):3.2爬蟲的基本原理GET:最常見的方式,一般用于獲取或者查詢資源信息,也是大多數(shù)網站使用的方式,響應速度快。POST:相比GET方式,多了以表單形式上傳參數(shù)的功能,因此除查詢信息外,還可以修改信息。網頁請求的方式分為兩種:復制任意一條首頁首條新聞的標題,在源碼頁面按【Ctrl+F】組合鍵調出搜索框,將標題粘貼在搜索框中,按【Enter】鍵。標題可以在源碼中搜索到,請求對象是,請求方式是GET(所有在源碼中的數(shù)據(jù)請求方式都是GET),如圖4-8所示。3.3使用GET方式抓取數(shù)據(jù)確定好請求對象和方式后,在
PyCharm中輸入以下代碼:加載庫使用的語句是
import+庫的名字。在上述過程中,加載requests庫的語句是:
importrequests用
GET方式獲取數(shù)據(jù)需要調用requests庫中的get方法,使用方法是在requests后輸入英文點號,如下所示:
requests.get將獲取到的數(shù)據(jù)存到strhtml變量中,代碼如下:
strhtml=request.get(url)這個時候strhtml是一個URL對象,它代表整個網頁,但此時只需要網頁中的源碼,下面的語句表示網頁源碼:
strhtml.text運行結果如圖
9所示:3.4使用POST方式抓取數(shù)據(jù)首先輸入有道翻譯的網址:/,進入有道翻譯頁面。按快捷鍵
F12,進入開發(fā)者模式,單擊“網絡”,此時內容為空,如圖4-10所示:
圖4-10在有道翻譯中輸入“我愛中國”,單擊“翻譯”按鈕,如圖4-11所示:
在開發(fā)者模式中,依次單擊“網絡”按鈕和“XHR”標簽,找到翻譯數(shù)據(jù)后預覽,如圖4-12所示:單擊“標頭”,發(fā)現(xiàn)請求數(shù)據(jù)的方法為
POST。如圖4-13所示:
找到數(shù)據(jù)所在之處并且明確請求方式之后,接下來開始寫爬蟲。首先,將
Headers中的URL復制出來,并賦值給url,代碼如下:
url=’/translate_o?smartresult=dict&smartresult=rule’POST的請求獲取數(shù)據(jù)的方式不同于GET,POST請求數(shù)據(jù)必須構建請求頭才可以。FormData中的請求參數(shù)如圖4-14所示:將其復制并構建一個新字典:接下來使用
requests.post方法請求表單數(shù)據(jù),代碼如下:
將字符串格式的數(shù)據(jù)轉換成
JSON格式數(shù)據(jù),并根據(jù)數(shù)據(jù)結構,提取數(shù)據(jù),并將翻譯結果打印出來,代碼如下:使用
requests.post方法抓取有道翻譯結果的完整代碼如下:使用BeautifulSoup解析網頁PARTFOUR通過requests庫已經可以抓到網頁源碼,接下來要從源碼中找到并提取數(shù)據(jù)。BeautifulSoup庫在python中主要的功能是從網頁中抓取數(shù)據(jù)。BeautifulSoup目前已經被移植到bs4庫中,也就是說在導入BeautifulSoup時需要先安裝bs4庫。安裝
bs4庫的方式如圖4-15所示:
安裝好
bs4庫以后,還需安裝lxml庫。如果不安裝lxml庫,就會使用Python默認的解析器。盡管BeautifulSoup既支持Python標準庫中的HTML解析器,又支持一些第三方解析器,但是
lxml庫具有功能更加強大、速度更快的特點,因此推薦安裝lxml庫。安裝
Python第三方庫后,輸入下面的代碼,即可開啟BeautifulSoup之旅。代碼運行結果如圖4-16所示。BeautifulSoup庫能夠輕松解析網頁信息,它被集成在bs4庫中,需要時可以從bs4庫中調用。其表達語句如下:frombs4importBeautifulSoup首先,HTML文檔將被轉換成Unicode編碼格式,然后BeautifulSoup選擇最合適的解析器來解析這段文檔,此處指定lxml解析器進行解析。解析后便將復雜的HTML文檔轉換成樹形結構,并且每個節(jié)點都是Python對象。這里將解析后的文檔存儲到新建的變量soup中,代碼如下:使用BeautifulSoup解析網頁接下來用
select(選擇器)定位數(shù)據(jù),定位數(shù)據(jù)時需要使用瀏覽器的開發(fā)者模式,使用鼠標右鍵,在快捷菜單中選擇“檢查”命令,如圖4-17所示:隨后在瀏覽器右側會彈出開發(fā)者界面,右側高亮的代碼對應著左側高亮的數(shù)據(jù)文本。右擊右側高亮數(shù)據(jù),在彈出的快捷菜單中選擇“復制”?“復制selector”,便可以自動復制路徑。代碼如下:
#main>div>div.mtop.firstMod.clearfix>div.centerBox>ul.newsList>li:nth-child(5)>a由于這條路徑是選中的任意頭條標題的路徑,而我們需要獲取所有的頭條新聞,因此將“l(fā)i:nth-child(5)”中冒號(包含冒號)后面的部分刪掉,代碼如下:
#main>div>div.mtop.firstMod.clearfix>div.centerBox>ul.newsList>li>a使用
soup.select引用這個路徑,代碼如下:
data=soup.select('#main>div>div.mtop.firstMod.clearfix>div.centerBox>ul.newsList>li>a')清洗和組織數(shù)據(jù)PARTFive至此,獲得了一段目標的HTML代碼,但還沒有把數(shù)據(jù)提取出來,接下來在PyCharm中輸入以下代碼:代碼運行結果如圖4-18所示:首先明確要提取的數(shù)據(jù)是標題和鏈接,標題在<a>標簽中,提取標簽的正文用get_text()方法。鏈接在<a>標簽的href屬性中,提取標簽中的href屬性用get()方法,在括號中指定要提取的屬性數(shù)據(jù),即get('href')。從圖4-18中可以發(fā)現(xiàn),文章的鏈接中有一個數(shù)字ID。下面用正則表達式提取這個ID。需要使用的正則符號如下:\d匹配數(shù)字+匹配前一個字符1次或多次在Python中調用正則表達式時使用re庫,這個庫不用安裝,可以直接調用。在PyCharm中輸入以下代碼::運行結果如圖4-19所示:防爬蟲機制PARTsix爬蟲是模擬人的瀏覽訪問行為,進行數(shù)據(jù)的批量抓取。當抓取的數(shù)據(jù)量逐漸增大時,會給被訪問的服務器造成很大的壓力,甚至有可能崩潰。換句話就是說,服務器是不喜歡有人抓取自己的數(shù)據(jù)的。那么,網站方面就會針對這些爬蟲者,采取一些反爬策略。因此,不是所有的爬蟲都有效,合規(guī)的有效獲取數(shù)據(jù)的方法是必須的遵循。防爬蟲機制八爪魚數(shù)據(jù)采集實例目錄01.八爪魚采集器在電商行業(yè)應用案例02.從網頁獲取數(shù)據(jù)03.客戶端界面介紹八爪魚采集器在電商行業(yè)應用案例PARTONE1.1價格監(jiān)控采集各大電商網站和渠道的商品價格,對掛牌價和到手價建立分鐘級監(jiān)控,并根據(jù)設置實時推送預警消息,幫助企業(yè)及時掌握分銷渠道經營情況與市場競爭情況。應用于某酒類電商平臺:幫助客戶采集各大酒類電商平臺數(shù)據(jù),定時獲取眾多SKU的價格與銷售數(shù)據(jù)(包括掛牌價與到手價),以監(jiān)控各渠道價格,保障渠道價格穩(wěn)定。幫助客戶穩(wěn)定電商渠道價格,及時發(fā)現(xiàn)競品平臺的價格調動,及時跟進調價策略。011.2數(shù)據(jù)選品采集各平臺產品銷量,銷售額,sku數(shù)量等信息,進行市場大盤分析、競品分析、自身優(yōu)劣勢分析等,以找到爆款商品,進行選品決策。應用于某跨境電商平臺:
幫助客戶采集Amazon平臺上多個國家地區(qū)的商品數(shù)據(jù),包括A+、buybox、商品詳情、review評論、問答QA、搜索listrank、bestseller、等類型數(shù)據(jù)。
基于商品數(shù)據(jù)進行市場大盤分析、競品分析、自身優(yōu)劣勢分析,幫助業(yè)務團隊更好的選品,成為整個公司跨境運營的情報中心。021.3品牌維權采集監(jiān)控全網電商平臺上品牌相關的產品鏈接和店鋪鏈接數(shù)據(jù),幫助品牌進行控價打假、渠道管理和知識產權維護,以打擊違規(guī)鏈接/店鋪,消除假貨、竄貨等隱患。應用于某3C品牌:實時獲取國內所有電商平臺上各個分銷商店鋪的商品價格數(shù)據(jù)。通過智能算法,識別各種促銷策略,精準對比掛牌價和到手價,對超出正常范圍的價格進行預警與取證并及時做出調整策略,避免渠道亂價。031.4體驗管理采集電商平臺的商品評價、在線聊天等數(shù)據(jù),從中洞察消費者行為和喜好,提煉問題和機會,進而幫助產品、市場和服務部門優(yōu)化客戶體驗,提升客戶滿意度。應用于某智能家電品牌:針對掃地機、吸塵器、等多條產品線建立多套分析模型,接入所有電商平臺本品及競品用戶評論數(shù)據(jù)實時對比分析。根據(jù)分析結果,制定策略加以改善。建立產品、服務、市場等方面的指標體系,幫助產品研發(fā)、企劃、推廣、運營等部門以客戶評價為導向、為各部門決策提供數(shù)據(jù)支持。04下載安裝八爪魚Windows客戶端PARTTWO
訪問
/download/windows,下載八爪魚采集器安裝文件
關閉所有殺毒軟件
雙擊.exe文件,開始安裝
安裝完成后,在開始菜單或桌面上找到八爪魚采集器快捷方式
啟動八爪魚采集器,使用您的賬號登錄(免費注冊,獲得登錄賬號)客戶端界面介紹PARTTHREE安裝完成后,進入八爪魚客戶端,如圖4-21所示:3.1八爪魚常用數(shù)據(jù)采集方法01.使用“智能識別”采集數(shù)據(jù)02.自己動手配置采集流程03.使用模板采集數(shù)據(jù)3.1.1使用“智能識別”采集數(shù)據(jù)
智能識別:只需輸入網址,自動智能識別網頁數(shù)據(jù)。支持自動識別列表型網頁數(shù)據(jù)、滾動和翻頁。我們來看一個智能識別的示例,示例網址:/category_3.shtml3.1.1使用“智能識別”采集數(shù)據(jù)在首頁輸入框中,輸入目標網址,點擊【開始采集】。八爪魚自動打開網頁并開始智能識別。打開網頁后,默認開啟智能識別。識別過程中,隨時可【取消識別】或【不再智能識別】,取消或關閉本次智能識別,可點擊【自動識別網頁】再次啟動。也可在全局設置中,再次默認開啟【智能識別】。3.1.1使用“智能識別”采集數(shù)據(jù)3.1.1使用“智能識別”采集數(shù)據(jù)智能識別成功,一個網頁可能有多組數(shù)據(jù),八爪魚會將所有數(shù)據(jù)識別出來,然后智能推薦最常用的那組。如果推薦的不是想要的,可自行【切換識別結果】。3.1.1使用“智能識別”采集數(shù)據(jù)同時,可自動識別出網頁的滾動和翻頁。此示例網址,無需滾動,只需翻頁,故只識別并勾選【翻頁采集】。自動識別完成后,點擊【生成采集設置】,可自動生成相應的采集流程,方便用戶編輯修改。然后,點擊【采集】,選擇【啟動本地采集】,八爪魚就會開始全自動采集數(shù)據(jù)。3.1.1使用“智能識別”采集數(shù)據(jù)3.1.1使用“智能識別”采集數(shù)據(jù)采集完成后,以所需的方式導出數(shù)據(jù)即可。需要注意的是,目前自動識別,僅支持識別列表型網頁、滾動和翻頁。如果不是列表型網頁,或者有更高級的采集需求,請自行配置采集任務。3.1.2自己動手配置采集流程什么是采集流程?采集流程(或叫采集任務,采集規(guī)則)是從特定網頁上抓取數(shù)據(jù)的指令。每個網站的頁面布局是不同的,因此采集流程不能通用。一般情況下,一個網站需要配置一個采集流程。如圖4-25所示:3.1.2自己動手配置采集流程現(xiàn)在有一個京東商品詳情頁的網頁:/848851.html。網頁上有很多字段:文本(標題、價格等)、圖片(商品圖片)、鏈接(詳情的超鏈接)。3.1.2自己動手配置采集流程我們想將上述網頁上非結構化的文本、圖片、超鏈接等字段采集下來,保存為excel等結構化的數(shù)據(jù),如下表所示:3.1.2自己動手配置采集流程創(chuàng)建一個新任務:點擊左側【+】新建,選擇【自定義任務】,創(chuàng)建新任務,默認任務名稱。3.1.2自己動手配置采集流程手動輸入網址/848851.html,點擊保存設置。3.1.2自己動手配置采集流程選擇要采集的數(shù)據(jù)觀察網頁上有很多字段:文本(標題、價格等)、圖片(商品圖片)、鏈接(詳情的超鏈接)。鼠標移動到想要的字段上,點擊將其選中。選中后,會用綠色框框起來。同時,左上角會彈出一個操作提示框。選中的字段不同,操作提示框中的指令也不同。如果選中的是文本,選擇【采集該元素的文本】。如果選中的是圖片,選擇【采集該圖片地址】。如果選中的是鏈接,選擇【采集該鏈接的文本】或【采集該鏈接地址】。3.1.2自己動手配置采集流程完成采集項目后在采集流程視圖中點擊應用。3.1.2自己動手配置采集流程編輯字段在當前頁面數(shù)據(jù)預覽中,可查看到我們提取的所有字段,可以對這些字段進行修改、刪除字段名稱,移動字段順序等操作。數(shù)據(jù)預覽中默認是【橫向字段布局】,方便查看所采集到數(shù)據(jù)。你也可以切換到【縱向字段布局】,方便進行字段的修改,比如批量刪除、復制字段,導入、導出字段配置,格式化,修改字段XPath。獲取數(shù)據(jù)并導出根據(jù)已經配置好了一個采集任務。接下來讓任務自動運行。點擊【保存并采集】,選擇【啟動本地采集】,啟動后開始全自動采集數(shù)據(jù)。【本地采集】是使用自己的電腦進行采集,【云采集】是使用八爪魚提供的云服務器采集。采集完成后,根據(jù)需要的類型的導出數(shù)據(jù)。支持導出為數(shù)據(jù)的類型為Excel、CSV、HTML,這里導出為Excel。3.1.3使用模板采集數(shù)據(jù)采集模板是由八爪魚官方提供的、做好的采集模板,目前已有200多個采集模板,涵蓋大部分網站的采集場景。使用模板采集數(shù)據(jù)時,只需輸入幾個參數(shù)(網址、關鍵詞、頁數(shù)等),就能快速獲取到目標網站數(shù)據(jù)。類似使用PPT模板,只需修改關鍵信息就能直接使用,無需自己從頭配置。3.1.3使用模板采集數(shù)據(jù)如何找到所需的【采集模板】在客戶端首頁【輸入框】中,輸入目標網站名稱,自動尋找相關的采集模板。將鼠標移到需要的模板上并單擊,進入模板詳情頁面。注意,請確保輸入的網站名稱正確,否則可能無法查找到相關模板。3.1.3使用模板采集數(shù)據(jù)例如,采集京東商品評論數(shù)據(jù),使用軟件自帶模板。點擊京東商品評論圖標,確認使用。3.1.3使用模板采集數(shù)據(jù)該模板采集數(shù)據(jù)要配置參數(shù),如圖4-33所示,在輸入網址中,需要將要采集商品頁的網址填入其中,因京東商品評價只顯示前100頁,一次翻頁次數(shù)為100。比如要采集華為HUAWEIP40手機的商品評價數(shù)據(jù),網址輸入/100007299145.html,翻頁次數(shù)為100,點擊保存并啟動。3.1.3使用模板采集數(shù)據(jù)通過【采集模板】創(chuàng)建并保存的任務,會放在【我的任務】中。在【我的任務】界面,可以對任務進行多種操作并查看任務采集到的歷史數(shù)據(jù)。PowerBI數(shù)據(jù)采集實例目錄01.提取第一頁數(shù)據(jù)02.創(chuàng)建批量獲取數(shù)據(jù)的自定義函數(shù)03.創(chuàng)建參數(shù)列表03.批量提取多個網頁數(shù)據(jù)提取第一頁數(shù)據(jù)PARTONE1提取第一頁數(shù)據(jù)打開PowerBI,點擊“獲取數(shù)據(jù)”彈出窗口中的“Web”,在Web的地址URL中輸入網址/top250,點擊確定。如圖4-35所示:1提取第一頁數(shù)據(jù)在彈出的導航器,并不能看到圖書的列表數(shù)據(jù)或者采集的數(shù)據(jù)不是我們想要的格式。在這里有個功能非常好用,就是“使用示例添加表”,如圖4-36所示:1提取第一頁數(shù)據(jù)
“使用示例添加表”這個功能的含義:只要輸人前面幾個數(shù)據(jù),系統(tǒng)會自動識別所要提取的數(shù)據(jù)類別,并自動將網頁中的剩余同類數(shù)據(jù)填充進來;但如果輸人的數(shù)據(jù)沒有規(guī)律,或者不是該網頁中存在的數(shù)據(jù),系統(tǒng)將無法識別。
下面介紹如何使用該功能。單擊左下角的“使用示例添加表”,在彈出的窗口中,上方是網頁預覽,把需要提取的數(shù)據(jù)的前兩個輸人到下方的窗口中,例如輸人前兩本圖書的名字,系統(tǒng)會自動將該頁中的同類數(shù)據(jù)填充完成。如圖4-37:011提取第一頁數(shù)據(jù)這樣就把第1頁中的25本圖書名稱提取出來了。1提取第一頁數(shù)據(jù)然后單擊右上角“+”新增一列,依次類推,按照上述方式提取作者、出版社、出版時間、價格、評分、鏈接等相關信息。因為第一列圖書名稱已經確定,后面的列只要輸入第一單元格,每本圖書的同類數(shù)據(jù)會完成自動填充。由于網頁數(shù)據(jù)并不都是結構化數(shù)據(jù),有些數(shù)據(jù)是混雜在一起的,比如列2數(shù)據(jù)中就有作者、出版社社、定價等信息。1提取第一頁數(shù)據(jù)數(shù)據(jù)提取完之后,導航器會創(chuàng)建一個新表。接下來,我們要對表進行整理,在PowerBI選項卡點擊“轉換數(shù)據(jù)”,進入PowerQuery對數(shù)據(jù)進行清洗,整理后的數(shù)據(jù)表如4-39所示。創(chuàng)建批量獲取數(shù)據(jù)的自定義函數(shù)PARTTWO2創(chuàng)建批量獲取數(shù)據(jù)的自定義函數(shù)以上的步驟只是完成了第一頁25本書的數(shù)據(jù)采集,我們需要全部250本書的采集,需要使用PowerQuery的M函數(shù)來實現(xiàn)。將已經整理好的25條數(shù)據(jù)命名該查詢?yōu)椤癟op25基本信息”,現(xiàn)在右鍵單擊該查詢名,選擇“創(chuàng)建函數(shù)”。如圖4-40:2創(chuàng)建批量獲取數(shù)據(jù)的自定義函數(shù)彈出的窗口中會提示“未找到參數(shù)”,單擊“創(chuàng)建”按鈕,并輸入函數(shù)名,將這個函數(shù)命名為“bookinfo”。然后在編輯欄中手動更改代碼,將前兩行代碼更改如下:此代碼的意思是將網址分為兩個部分,比如第1頁的網址:2創(chuàng)建批量獲取數(shù)據(jù)的自定義函數(shù)/top250?start=0中的“https://book/top250?start”作為常量文本保持不變,而最后一個數(shù)字,設置為參數(shù)x,二者組合到一起作為一個完整的網址,然后只需要將不同的數(shù)字賦給x,就可以提取相應頁面的數(shù)據(jù)。其中(xastext)表示該自定義函數(shù)的參數(shù)為x,參數(shù)類型為text創(chuàng)建好的自定義函數(shù),此時在窗口出現(xiàn)了一個輸入?yún)?shù)的框,表示該自定義函數(shù)就創(chuàng)建完成。如圖4-41所示:2創(chuàng)建批量獲取數(shù)據(jù)的自定義函數(shù)輸入?yún)?shù)值25,單擊“調用”,輸出結果是網頁中第2頁的圖書信息。創(chuàng)建參數(shù)列表PARTTHREE通過網址的分析,發(fā)現(xiàn)這10個頁面網址最后一個數(shù)字為0、25、50…225構建了一個差值為25的等差數(shù)列,以此規(guī)律來自定義函數(shù)的參數(shù)。在PowerQuery中,單擊“新建源”選擇“空查詢”選項。如圖4-43所示:
在編輯欄輸入:=List.Numbers(0,10,25),即可得到一個參數(shù)列表。其中List.Numbers是一個M函數(shù),用于生成一個數(shù)列,第一個參數(shù)是初始值,第二個參數(shù)為生成數(shù)據(jù)的行數(shù),第三個參數(shù)為數(shù)據(jù)步長(如果忽略,默認為1),注意,參數(shù)設置與要采集的網頁頁數(shù)要一致。List.Numbers(0,10,25)意思是從0開始,后續(xù)的數(shù)字步長25,生成10行,如圖4-44所示。批量提取多個網頁數(shù)據(jù)PARTFORE
在上面生成的參數(shù)列表中,單擊“調用自定義函數(shù)”,在彈出的窗口中,選擇已經建立好的自定義函數(shù),參數(shù)選擇上一步建好的表,如圖4-45所示。4批量提取多個網頁數(shù)據(jù)點擊確定后,在當前表新增一個單元格都是“Table”列,點擊該列標簽右側向左向右的箭頭,展開新生成的自定義列,即可得到全部的10頁Top250的圖書數(shù)據(jù),完成了數(shù)據(jù)批量獲取,關閉并應用,數(shù)據(jù)自動更新到PowerBI中。最終數(shù)據(jù)采集結果如圖4-46所示。數(shù)據(jù)整理實例目錄01.數(shù)據(jù)質量準則02.清洗數(shù)據(jù)基本要求03.從Excel到Python數(shù)據(jù)整理實例數(shù)據(jù)質量準則PARTONE數(shù)據(jù)質量準則單條數(shù)據(jù)是否存在空值,統(tǒng)計的字段是否完善。完整性01觀察某一列的全部數(shù)值全面性02數(shù)據(jù)的類型、內容、大小的合法性。合法性03數(shù)據(jù)是否存在重復記錄,因為數(shù)據(jù)通常來自不同的渠道匯總,重復的情況是常見的唯一性04清洗數(shù)據(jù)基本要求PARTTWO數(shù)據(jù)質量準則主要問題:缺失值。針對缺失值的處理,基本的操作是刪除或者填充等。完整性01在有的數(shù)據(jù)中,計量尺度存在差異。全面性02有很多一般性指標都會存在上限的問題,要符合正常邏輯,因此,要進行刪除或者填充處理。。合理性03數(shù)據(jù)重復會干擾分析結果,數(shù)據(jù)清洗要確定沒有重復計數(shù)的情況。唯一性04從Excel到Python數(shù)據(jù)整理實例PARTTWO
本實例演示數(shù)據(jù)是通過采集工具從京東商城搜索關鍵詞“運動鞋”采集的實時數(shù)據(jù)集。如圖4-47所示:3.1缺失數(shù)據(jù)處理
采集的數(shù)據(jù)集由于某些原因可能會有缺失,一般有兩種處理方式,一是刪除,即把含有缺失值的數(shù)據(jù)刪除;另一種是填充,即把缺失的那部分數(shù)據(jù)根據(jù)上下文用某個值代替。具體步驟我們分別用Excel和Python進行演示,便于大家比較學習。3.1.1Excel實現(xiàn)在Excel中查找數(shù)據(jù)集空單元格快捷方式是【Ctrl+G】,在彈出的對話框中選擇“空值”,確定就會把所有的空值選中。如圖所示:【Ctrl+A】選中表格中要查找空值的單元格區(qū)域【Ctrl+G】,選擇“空值”項后確定最后通過定位條件把空值篩選出來空值篩選出來以后可以采取刪除或填充處理在Excel中刪除空值的操作通過【Ctrl+G】快捷鍵方式可以將全部空值查找出來并全部選定,然后單擊鼠標右鍵“刪除”選項,在彈出的對話框中選擇相應的刪除操作。3.1.2Python實現(xiàn)在Python中直接調用info()方法就會返回每一列的缺失情況。導入4-47所示數(shù),結果如圖4-49所示:3.1.2Python實現(xiàn)調用info()檢查數(shù)據(jù)缺失情況,結果圖4-50所示:3.1.2Python實現(xiàn)Python中缺失值一般用NaN不是,從用info()查找缺失值結果來看,“標簽”列有1835個非null值,而其他列都是2010個非null值,說明這一列有175個null值。1)使用dropna()函數(shù)刪除空值操作。函數(shù)形式:dropna(axis=0,how='any',thresh=None,subset=None,inplace=False)參數(shù)設置:axis:軸。0或'index',表示按行刪除;1或'columns',表示按列刪除。how:篩選方式。‘any’,表示該行/列只要有一個以上的空值,就刪除該行/列;‘all’,表示該行/列全部都為空值,就刪除該行/列。thresh:非空元素最低數(shù)量。int型,默認為None。如果該行/列中,非空元素數(shù)量小于這個值,就刪除該行/列。subset:子集。列表,元素為行或者列的索引。如果axis=0或者‘index’,subset中元素為列的索引;如果axis=1或者‘column’,subset中元素為行的索引。由subset限制的子區(qū)域,是判斷是否刪除該行/列的條件判斷區(qū)域。inplace:是否原地替換。布爾值,默認為Fals
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025上半年四川省資中縣事業(yè)單位招聘157人歷年高頻重點提升(共500題)附帶答案詳解
- 2025上半年2025年菏澤市曹縣結合事業(yè)單位公開招聘征集普通高等院校本科畢業(yè)生8人入伍高頻重點提升(共500題)附帶答案詳解
- 2025年度工廠員工勞動技能培訓與發(fā)展合同3篇
- 2024年度財務代理記賬合作協(xié)議范本3篇
- 2025年度高品質砂石材料進出口貿易合同2篇
- 2025年度港口集裝箱碼頭自動化改造合作協(xié)議
- 2025年度公司與自然人全方位合作服務協(xié)議2篇
- 2025年度廢塑料資源化利用合作協(xié)議2篇
- 2025年度儲蓄存款業(yè)務風險控制與監(jiān)督合同3篇
- 2025年度電子產品組裝委托加工合同3篇
- 護士長如何做好時間管理
- 康復科進修匯報
- 2023風電機組預應力混凝土塔筒與基礎結構設計標準
- 3D打印技術在醫(yī)療領域的應用
- 2024年輔警考試公基常識300題(附解析)
- 倉庫班長年終總結
- 北京市海淀區(qū)2023-2024學年四年級上學期期末英語試題
- LNG液化天然氣項目事故后果模擬分析評價
- 2024年湖北省漢江國有資本投資集團有限公司招聘筆試參考題庫含答案解析
- 脂肪肝健康教育-課件
- 廣州市九區(qū)聯(lián)考2023-2024學年高一上學期期末教學質量監(jiān)測數(shù)學試卷(原卷版)
評論
0/150
提交評論