何芳
(德州職業(yè)技術(shù)學(xué)院 山東省德州市 253000)
新時(shí)期背景下,電子商務(wù)領(lǐng)域不斷取得新的發(fā)展成果,傳統(tǒng)商業(yè)模式出現(xiàn)重大變革,隨著物聯(lián)網(wǎng)技術(shù)、云計(jì)算技術(shù)水平的不斷提升,市場(chǎng)信息量呈現(xiàn)出十分迅猛的發(fā)展勢(shì)頭,屬于電商的黃金發(fā)展時(shí)代已經(jīng)悄然來(lái)臨。面對(duì)這種發(fā)展情況,更加高效的從海量信息中攫取出有價(jià)值信息,以此為基礎(chǔ),能夠產(chǎn)生更為可觀的企業(yè)效益,大數(shù)據(jù)技術(shù)由此成為當(dāng)代電商企業(yè)高度重視的領(lǐng)域,市場(chǎng)競(jìng)爭(zhēng)變得更為劇烈[1]。大數(shù)據(jù)技術(shù)屬于現(xiàn)代化智能領(lǐng)域內(nèi)的關(guān)鍵組成部分,處于大數(shù)據(jù)背景下,隨著人們現(xiàn)有生活和工作模式的變化,智能化服務(wù)在人們生活中變得更加常見(jiàn),并成為現(xiàn)代化服務(wù)方式的主流發(fā)展趨勢(shì),如:智能購(gòu)物和智能導(dǎo)航等方面,電子信息技術(shù)在這些角度可以為人們帶來(lái)更好的自動(dòng)化與智能化服務(wù)。在大數(shù)據(jù)時(shí)代與云計(jì)算深度不斷發(fā)展的過(guò)程中,通過(guò)對(duì)關(guān)鍵數(shù)據(jù)信息的進(jìn)一步挖掘,不僅可以更加有效的節(jié)約出人力資源,同時(shí)還能夠?qū)V大用戶的切實(shí)需求與信息技術(shù)進(jìn)行緊密結(jié)合,充分運(yùn)用數(shù)據(jù)獲取、數(shù)據(jù)分析、數(shù)據(jù)挖掘、云計(jì)算等方式,將電子信息技術(shù)整理出的信息資源加以優(yōu)化與整合,可準(zhǔn)確找出具備較高價(jià)值的數(shù)據(jù),應(yīng)用效果極佳。
本文將大數(shù)據(jù)技術(shù)作為核心研究對(duì)象,對(duì)我國(guó)某購(gòu)物網(wǎng)站進(jìn)行數(shù)據(jù)爬取和專業(yè)分析,有針對(duì)性的設(shè)計(jì)一款新型數(shù)據(jù)分析系統(tǒng),該系統(tǒng)主要框架為:Scrapy,系統(tǒng)以Python3.7作為主要編程語(yǔ)言,經(jīng)過(guò)編輯后,可以在Scrapy 框架內(nèi)建設(shè)期全新的Web 爬蟲(chóng),通過(guò)這種方式爬取目標(biāo)購(gòu)物網(wǎng)站內(nèi)的相關(guān)數(shù)據(jù)內(nèi)容,并借助MongoDB 工具對(duì)有價(jià)值數(shù)據(jù)進(jìn)行系統(tǒng)存儲(chǔ),然后,技術(shù)人員可憑借Python 提供的Numpy 專業(yè)工具包和Pandas 專業(yè)工具包,對(duì)爬取到的關(guān)鍵數(shù)據(jù)進(jìn)行再一次的清洗,保證篩選后的數(shù)據(jù)具備研究?jī)r(jià)值,此后在對(duì)數(shù)據(jù)進(jìn)行模式轉(zhuǎn)換,提升數(shù)據(jù)資料的直觀性,此后,再對(duì)關(guān)鍵的數(shù)據(jù)內(nèi)容進(jìn)行分類設(shè)定和計(jì)算分析,以此為基礎(chǔ),再由專業(yè)技術(shù)人員使用Matplotib 工具對(duì)系統(tǒng)的最終分析結(jié)果知行統(tǒng)一的可視化處理[2]。在這樣的情況下,分析人員可以對(duì)得到的所有商品相關(guān)信息和營(yíng)銷(xiāo)數(shù)據(jù)有一個(gè)更加清晰的了解,并保證自身的最終解析結(jié)果具有準(zhǔn)確性、代表性和針對(duì)性,進(jìn)而為商家提供更為充分的發(fā)展數(shù)據(jù)支撐,并未購(gòu)物網(wǎng)站的后續(xù)發(fā)展奠定良好基礎(chǔ),盡可能展現(xiàn)出網(wǎng)站具有的個(gè)性化特點(diǎn),吸引更多新用戶的同時(shí),增加自身固有用戶的使用黏性。
目前,現(xiàn)有網(wǎng)絡(luò)信息爬取技術(shù),又被稱之為爬蟲(chóng)技術(shù),該技術(shù)能夠以網(wǎng)頁(yè)鏈接為基礎(chǔ),通過(guò)網(wǎng)址URL 向系統(tǒng)服務(wù)器平臺(tái)發(fā)出數(shù)據(jù)請(qǐng)求,通過(guò)這種方式獲取目標(biāo)的關(guān)鍵數(shù)據(jù)和信息資料[3]。
常規(guī)條件下,現(xiàn)有Web 爬蟲(chóng)在正式試用過(guò)程中,與普通互聯(lián)網(wǎng)功能性程序具有較高相似性,區(qū)別在于爬蟲(chóng)具備自動(dòng)訪問(wèn)能力,同時(shí)還可以對(duì)當(dāng)前Web 頁(yè)面中的功能進(jìn)行有效檢索,并從海量數(shù)據(jù)中準(zhǔn)確找出有價(jià)值信息,并將爬取到的相應(yīng)內(nèi)容和數(shù)據(jù)轉(zhuǎn)存至提前設(shè)定好的數(shù)據(jù)庫(kù)內(nèi),操作便捷且應(yīng)用效果良好[4]。
現(xiàn)有網(wǎng)絡(luò)爬蟲(chóng)技術(shù),在實(shí)際使用過(guò)程中的基本操作流程詳情共包括下述幾方面內(nèi)容:
(1)首先,選擇更具針對(duì)性的系統(tǒng)種子,即URL 數(shù)據(jù)。
(2)其次,將最終選擇的種子,即URL 數(shù)據(jù),全部設(shè)定為待抓取狀態(tài),形成新的URL 數(shù)據(jù)隊(duì)列,等待抓取即可。
(3)再次,在處于待抓取狀態(tài)的所有URL 數(shù)據(jù)隊(duì)列中進(jìn)行抓取作用,此間需要配合DNS 解析,在抓取到的內(nèi)容經(jīng)過(guò)數(shù)據(jù)解析處理后,得到的數(shù)據(jù)資料即為最終的網(wǎng)絡(luò)Ip信息及其對(duì)應(yīng)主機(jī)信息。
(4)再次,執(zhí)行下載任務(wù)命令,將所有URL 數(shù)據(jù)中顯示的網(wǎng)頁(yè)數(shù)據(jù)內(nèi)容和文字內(nèi)容下載并轉(zhuǎn)存儲(chǔ)至對(duì)應(yīng)的網(wǎng)頁(yè)數(shù)據(jù)庫(kù)內(nèi)。在此期間,還可以將URL 放置在已經(jīng)抓取成功的URL 隊(duì)列內(nèi)。
(5)再次,對(duì)已經(jīng)抓取到的URL 隊(duì)列進(jìn)行分析,并對(duì)其中的URL 進(jìn)行處理,將最終得到全部資料,均需要再次轉(zhuǎn)存入到準(zhǔn)備好的數(shù)據(jù)庫(kù)內(nèi),供隨時(shí)調(diào)用。
(6)最后,針?biāo)械腢RL 關(guān)聯(lián)數(shù)據(jù)進(jìn)行統(tǒng)一處理,然后再將分析處理后的URL 數(shù)據(jù)移動(dòng)至第(2)環(huán)節(jié)的待抓取環(huán)節(jié),此后,開(kāi)始進(jìn)入到全新的數(shù)據(jù)抓取循環(huán),直至數(shù)據(jù)的所有價(jià)值被完全挖掘[5]。
對(duì)于當(dāng)今市面上比較常見(jiàn)的Scrapy 框架而言,可以將其視為一種以Python 為基礎(chǔ)技術(shù),進(jìn)一步升級(jí)而成的全新網(wǎng)絡(luò)爬蟲(chóng)程序,該程序在速度方面和開(kāi)源方面具有突出優(yōu)勢(shì),不僅可以適配大部分當(dāng)下的主流網(wǎng)絡(luò)平臺(tái),同時(shí)還可以通過(guò)關(guān)鍵技術(shù)對(duì),目標(biāo)信息和數(shù)據(jù)進(jìn)行精準(zhǔn)的讀取,僅需要設(shè)定Scrapy 基礎(chǔ)框架,便可以順利完成后續(xù)開(kāi)發(fā)模塊的任務(wù)制定,爬蟲(chóng)技術(shù)的應(yīng)用效率更高[6]。
本文設(shè)計(jì)的爬蟲(chóng)任務(wù)指令執(zhí)行流程詳情如表1 內(nèi)容所示。
表1:工程目錄下文件和文件夾作用
(1)Spiders 工具能夠?qū)⒋廊〉年P(guān)鍵數(shù)據(jù)和信息,轉(zhuǎn)存至數(shù)據(jù)庫(kù)內(nèi),隨時(shí)可取用。
(2)抓取到的數(shù)據(jù),在使用Scheduler 工具進(jìn)行處理后,還需要再次經(jīng)過(guò)Scrapy Engine 或者Downloader Middleware的專業(yè)處理,并將最終得到的內(nèi)容轉(zhuǎn)存至數(shù)據(jù)庫(kù)系統(tǒng)內(nèi)。
(3)借助Downloader,可以向Internet 平臺(tái)發(fā)送請(qǐng)求,然后使用Response 將關(guān)鍵數(shù)據(jù)內(nèi)容和資料進(jìn)行分析處理,并將最終結(jié)果儲(chǔ)存至系統(tǒng)的Spiders 內(nèi)。
(4)以源自MySQL、SQL Server、Oracle 等傳統(tǒng)類型的關(guān)系型數(shù)據(jù)庫(kù)內(nèi)容為例,其數(shù)據(jù)需要使用Sqoop 進(jìn)行導(dǎo)入,此后主要由Scrapy Engine 將其轉(zhuǎn)交至數(shù)據(jù)庫(kù)系統(tǒng),并通過(guò)Pipeline 工具包實(shí)現(xiàn)保存目標(biāo)。
(5)抓取關(guān)鍵數(shù)據(jù)期間,需要不斷重復(fù)上述幾個(gè)流程的具體操作步驟,直至系統(tǒng)內(nèi)不再產(chǎn)生新URL 數(shù)據(jù)請(qǐng)求,或者現(xiàn)有結(jié)果已經(jīng)可以滿足分析所需,方可停止循環(huán)[7]。
數(shù)據(jù)處理模塊需要對(duì)數(shù)據(jù)標(biāo)準(zhǔn)化進(jìn)行集中處理,在處理數(shù)據(jù)的過(guò)程中還需要及時(shí)除去重復(fù)數(shù)據(jù)、缺失數(shù)據(jù)和其他類型的不可用數(shù)據(jù)。在此之后,方可對(duì)缺失數(shù)據(jù)執(zhí)行再次導(dǎo)入處理,可選擇手工錄入方式、邏輯自動(dòng)補(bǔ)全方式完成相應(yīng)處理任務(wù)。對(duì)于部分錯(cuò)誤數(shù)據(jù)的處理,如:異常數(shù)據(jù)處理,可以借助區(qū)間限定方式,去除或以歷史數(shù)據(jù)為基礎(chǔ),得出數(shù)據(jù)近似值;對(duì)于部分重復(fù)數(shù)據(jù)內(nèi)容,如:內(nèi)容全部重復(fù)的情況,則可去除重復(fù)內(nèi)容,也可按照時(shí)間順序或不同階段的業(yè)務(wù)邏輯進(jìn)行選擇性去除。對(duì)于部分不可用數(shù)據(jù),還可以使用規(guī)則適配處理方式、關(guān)鍵字匹配處理方式、枚舉轉(zhuǎn)化處理方式完成必要的修復(fù)任務(wù)或清除任務(wù)。數(shù)據(jù)處理技術(shù)在上述幾項(xiàng)關(guān)鍵步驟中的應(yīng)用效果良好,處理速度更快[8]。
對(duì)于數(shù)據(jù)可視化而言,可以借助Matplotib 圖形庫(kù)實(shí)現(xiàn)可視化功能,因?yàn)樵搱D形庫(kù)是以Python 語(yǔ)言為核心,具備編程語(yǔ)言簡(jiǎn)潔優(yōu)美的主要特點(diǎn),以此為前提,可以成功繪制出全新的系統(tǒng)直方圖、系統(tǒng)條形圖、系統(tǒng)功率譜以及系統(tǒng)散點(diǎn)圖核心數(shù)據(jù)資料圖。此外,Matplotlib 可提供關(guān)于API 的服務(wù)功能,確保圖表內(nèi)容可以完整的嵌入到準(zhǔn)備好的畫(huà)布中,保證制圖質(zhì)量可以達(dá)到預(yù)期水平[9]。
本次屬于非關(guān)聯(lián)數(shù)據(jù)庫(kù),在系統(tǒng)語(yǔ)言查詢方面具有突出優(yōu)勢(shì),能夠有效存儲(chǔ)更多的復(fù)雜數(shù)據(jù)內(nèi)容,并且對(duì)數(shù)據(jù)類型沒(méi)有過(guò)多限制[10]。在此期間,在數(shù)據(jù)存取效率方面也具有顯著優(yōu)勢(shì)。
在本次系統(tǒng)設(shè)計(jì)工作中,主要包括三方面內(nèi)容,依次為:
(1)商品總體營(yíng)銷(xiāo)數(shù)據(jù)。
(2)網(wǎng)站用戶消費(fèi)數(shù)據(jù)。
(3)網(wǎng)站商品列表頁(yè)詳情。
在面對(duì)詞信息云、用戶評(píng)論詞頻都能夠做到準(zhǔn)確抓取。本次系統(tǒng)設(shè)計(jì)的總體架構(gòu)詳情如圖1 內(nèi)容所示。
2.2.1 項(xiàng)目初始化分析
在選取某購(gòu)物網(wǎng)站作為最終的爬取目標(biāo)后,借助scrapy startprojectXX_ Spider 生成新的爬蟲(chóng)項(xiàng)目,此時(shí)的項(xiàng)目根目錄顯示為XX_Spider。同時(shí),在根目錄下再次創(chuàng)建如表1 內(nèi)容所示的各種文件以及文件夾即可。
2.2.2 數(shù)據(jù)庫(kù)分析
這一層主要由HDFS、HBase、Hive 組成。其中,數(shù)據(jù)底層存儲(chǔ)需要使用Hdfs 分布式文件系統(tǒng)[6]。對(duì)于Hdfs 而言,需要按照根據(jù)數(shù)據(jù)實(shí)際大小,選擇NameNode 作為指定datanode 服務(wù)器和block(64M),此間產(chǎn)生的所有數(shù)據(jù)都需要依次存入到對(duì)應(yīng)的block 系統(tǒng)中。在上述流程中,因?yàn)橄到y(tǒng)中會(huì)存在有大量小文件(體量低于64M 的文件)則會(huì)導(dǎo)致Hadoop 集群出現(xiàn)運(yùn)行崩潰問(wèn)題,所以,需要將各種不同類型的小文件成功合并成一個(gè)單獨(dú)的大文件再進(jìn)行存儲(chǔ),此時(shí)Hadoop 自帶CombineFileInput-Format 功能可以有效完成文件合并任務(wù),對(duì)應(yīng)的數(shù)據(jù)倉(cāng)儲(chǔ)系統(tǒng)需要利用Hive 和Hbase共同作用實(shí)現(xiàn),數(shù)據(jù)分析結(jié)果的針對(duì)性也更強(qiáng)。
2.2.3 數(shù)據(jù)爬取策略分析
對(duì)于XX 購(gòu)物網(wǎng)站而言,其商品評(píng)論數(shù)量信息量龐大,再加上商品數(shù)量基數(shù)大的特點(diǎn),導(dǎo)致全部爬取的難度較高,分析任務(wù)量過(guò)大,所以,僅爬取部分?jǐn)?shù)據(jù),證明爬取基數(shù)具備應(yīng)用價(jià)值即可。
本次爬取任務(wù),在設(shè)定最大頁(yè)數(shù)后,可憑借sttings.py工具實(shí)現(xiàn)爬取作業(yè),并在每次單獨(dú)的爬取任務(wù)完成后,需要對(duì)此頁(yè)面進(jìn)行標(biāo)識(shí):page+1[13]。在此期間,因?yàn)榫W(wǎng)站本身數(shù)據(jù)庫(kù)(MySQL,Oracle 等)中儲(chǔ)存的數(shù)據(jù),需要在與主機(jī)進(jìn)行關(guān)聯(lián)后,將其存入到對(duì)應(yīng)的Hive 系統(tǒng)中,對(duì)于部分體量過(guò)于龐大的非結(jié)化數(shù)據(jù)內(nèi)容,則需要使用關(guān)聯(lián)存入的方式存到HBase 系統(tǒng)中。以HBase 為例,此時(shí)關(guān)聯(lián)操作的目的在于,將數(shù)據(jù)從非結(jié)構(gòu)化類型的文本進(jìn)行轉(zhuǎn)化,并從中提取出關(guān)鍵的結(jié)構(gòu)化數(shù)據(jù)信息,并明確字段,所以,在后續(xù)爬取環(huán)節(jié),需要爬蟲(chóng)系統(tǒng)向網(wǎng)站服務(wù)器平臺(tái)發(fā)送請(qǐng)求,在得到平臺(tái)的反饋信息后,才能夠?qū)?shù)據(jù)結(jié)果進(jìn)行爬取,最后再執(zhí)行提取數(shù)據(jù)指令,即可實(shí)現(xiàn)對(duì)關(guān)鍵數(shù)據(jù)資料的爬取和儲(chǔ)存目標(biāo)。
2.2.4 常規(guī)系統(tǒng)反爬蟲(chóng)技術(shù)處理機(jī)制論述
本次系統(tǒng)爬蟲(chóng)編輯代碼詳情如下所示:
在完成上述代碼的編寫(xiě)后,可以在中間函數(shù)集中完成取值,采用隨機(jī)取值方式即可,對(duì)于系統(tǒng)內(nèi)任意處于單獨(dú)狀態(tài)的列表項(xiàng)而言,均具有代表性,此后再次使用request 工具,即可實(shí)現(xiàn)設(shè)置操作,最后,技術(shù)人員通過(guò)sttings.py 工具可設(shè)置新的專用任務(wù)指令,確保該中間件的使用安全性,即通過(guò)爬蟲(chóng)模擬瀏覽器可以準(zhǔn)確攫取到目標(biāo)信息。
在訪問(wèn)商品詳情信息時(shí),系統(tǒng)服務(wù)器自身具備檢測(cè)功能,可以明確Referrer 工具端發(fā)出的任務(wù)指令請(qǐng)求頭,并且此時(shí)的請(qǐng)求頭實(shí)際數(shù)值即為此前詳情頁(yè)執(zhí)行的跳轉(zhuǎn)操作信息,也就是此前頁(yè)面內(nèi)的所有數(shù)據(jù)資料,在這樣的情況下,請(qǐng)求詳情指令在發(fā)送至URL 模塊以后,還需要再次在準(zhǔn)備好的Scrapy 工具內(nèi)使用新的Request 技術(shù),提升頁(yè)面設(shè)置效果,保證新的Referer 操作質(zhì)量,并作為當(dāng)前階段的URL,通過(guò)這種方式,可以獲取更加準(zhǔn)確的商品詳情頁(yè)信息和關(guān)鍵數(shù)據(jù)內(nèi)容[14]。
在上述操作流程中,為避免爬取至某商品頁(yè)面后,發(fā)生指令動(dòng)作意外中止的問(wèn)題,需在事前對(duì)所有商id 進(jìn)行保存,然后在頁(yè)面信息爬取動(dòng)作完成后,在將其調(diào)用至相對(duì)應(yīng)的URL 內(nèi),再次將商品id 信息作為請(qǐng)求質(zhì)量,并向平臺(tái)發(fā)出再一次的申請(qǐng),此后,繼續(xù)加載此前未爬取的剩余數(shù)據(jù)即可,直至全部數(shù)據(jù)頁(yè)面均被翻頁(yè)處理后,即可再次執(zhí)行下一頁(yè)的爬取任務(wù)并復(fù)雜關(guān)鍵數(shù)據(jù)內(nèi)容,通過(guò)這樣的爬取方式設(shè)定,可以保證關(guān)鍵數(shù)據(jù)的抓取和分析有效性。此系統(tǒng)模塊需要使用Spark 計(jì)算框架完成對(duì)關(guān)鍵數(shù)據(jù)的分析任務(wù)。其中,在Spark 讀取Hdfs,Hive 或HBase 中的數(shù)據(jù)內(nèi)容時(shí),可以創(chuàng)建與之相對(duì)應(yīng)的RDD。此后,DAG 調(diào)度器則可以正式創(chuàng)建執(zhí)行計(jì)劃方案,使用Task 調(diào)度器完成任務(wù)分配工作,并實(shí)現(xiàn)對(duì)Worker 的控制,正式開(kāi)始執(zhí)行并行化計(jì)算程序。借助JDBC API 能夠?qū)park 中包含的RDD 數(shù)據(jù)集提前暴露出去,然后再借助傳統(tǒng)形式的BI 方式和可視化界面,完成對(duì)RR 數(shù)據(jù)集的最終執(zhí)行情況查詢,即SQL 查詢。對(duì)于部分實(shí)時(shí)數(shù)據(jù)流而言,在處理過(guò)程中可以使用SparkStreaming功能,并且此時(shí)的系統(tǒng)還可以充分借助SparkMILb 庫(kù)完成數(shù)據(jù)分類任務(wù)、聚類關(guān)聯(lián)規(guī)則處理任務(wù)、回歸算法任務(wù),對(duì)大數(shù)據(jù)進(jìn)行更加深入的挖掘分析。爬蟲(chóng)運(yùn)行流程見(jiàn)圖2。
圖2:爬蟲(chóng)執(zhí)行流程示意圖
2.3.1 文件初始化設(shè)定
首先,創(chuàng)建新的目錄文件夾,然后在對(duì)應(yīng)目錄中再次創(chuàng)建一個(gè)新的系統(tǒng)文件夾,用于儲(chǔ)存后續(xù)爬取數(shù)據(jù)資料。
2.3.2 操作系統(tǒng)界面設(shè)計(jì)
系統(tǒng)界面窗口的主要功能選項(xiàng)包括:商品數(shù)據(jù)信息資料、網(wǎng)站用戶數(shù)據(jù)信息、商品列表信息,共計(jì)三部分核心內(nèi)容,在這樣的情況下,所有數(shù)據(jù)結(jié)構(gòu)統(tǒng)一設(shè)定成字典格式,并將上述三方面內(nèi)容轉(zhuǎn)存至對(duì)應(yīng)的字典模塊內(nèi)即可,并使數(shù)據(jù)信息處于重疊狀態(tài),僅最上面的數(shù)據(jù)內(nèi)容直接可見(jiàn)。
2.3.3 網(wǎng)站商品整體數(shù)據(jù)分析
(1)廠商占比分析。在讀取數(shù)據(jù)庫(kù)中抓取道德Products數(shù)據(jù)集合內(nèi)容后,需要使用Pandas 將其再次進(jìn)行轉(zhuǎn)換處理,從而形成全新的系統(tǒng)DataFrame 工具包,使用Selenium 工具,可以依次完成錄制任務(wù)和對(duì)象識(shí)別任務(wù),其中,配合IEDevToolBar 一起使用,還能夠可以在待檢測(cè)系統(tǒng)內(nèi)準(zhǔn)確識(shí)別關(guān)聯(lián)信息,基于此,自動(dòng)檢測(cè)任務(wù)會(huì)變得更加簡(jiǎn)便,同時(shí),所有被檢測(cè)對(duì)象的基本信息都可以在數(shù)據(jù)庫(kù)中得以儲(chǔ)存,在這樣的情況下,能夠大幅度降低WEB 實(shí)際運(yùn)行期間的大部分任務(wù)量。自檢系統(tǒng)使用的腳本語(yǔ)言在調(diào)用狀態(tài)下,可以自動(dòng)完成編譯任務(wù),同時(shí)還可以對(duì)腳本做出解釋,主要特征為:簡(jiǎn)單易學(xué)、操作難度低等。使用該工具后,系統(tǒng)程序員能夠在更短時(shí)間內(nèi)完成編碼任務(wù),進(jìn)一步壓縮時(shí)間成本。此外,解釋器本身還能夠?qū)δ_本語(yǔ)言進(jìn)行編輯,進(jìn)而保證處理任務(wù)可以同步完成,自動(dòng)檢測(cè)效率更高。
(2)以常規(guī)自動(dòng)檢測(cè)為基礎(chǔ)展開(kāi)研究,需對(duì)自動(dòng)系統(tǒng)設(shè)計(jì)的所有內(nèi)容和檢測(cè)需求進(jìn)行概括和整理,此后,系統(tǒng)中的GUI 屬性庫(kù)以及GUI 屬性庫(kù)內(nèi)的數(shù)據(jù)文件,全部都需要運(yùn)行過(guò)程中,以腳本為基礎(chǔ),確保所有關(guān)鍵數(shù)據(jù)的準(zhǔn)確性,同時(shí)還需要保證讀取結(jié)果的準(zhǔn)確性,全方面提升自動(dòng)技術(shù)的應(yīng)用效果;系統(tǒng)內(nèi)測(cè)試數(shù)據(jù)池分析,系統(tǒng)內(nèi)專設(shè)運(yùn)行模板,同時(shí),保證腳本能夠識(shí)別該數(shù)據(jù)庫(kù)中的相關(guān)內(nèi)容;系統(tǒng)需要進(jìn)行參數(shù)化設(shè)計(jì),可以將數(shù)據(jù)池內(nèi)儲(chǔ)存的數(shù)據(jù)作為基礎(chǔ),進(jìn)一步分離測(cè)試數(shù)據(jù)庫(kù)模塊和腳本模塊,保證分析結(jié)果具有代表性和獨(dú)立性;系統(tǒng)方法庫(kù),自動(dòng)化技術(shù)人員,在工作過(guò)程中,需將代碼內(nèi)容進(jìn)行通用設(shè)定,并將其放置在需要識(shí)別的對(duì)象模塊中,通過(guò)這種方式,大幅度提升代碼識(shí)別效果,同時(shí)也可以減少系統(tǒng)在開(kāi)發(fā)環(huán)節(jié)需要完成的處理任務(wù)量,減輕負(fù)擔(dān);系統(tǒng)運(yùn)行結(jié)果的預(yù)期分析和判定,對(duì)于此系統(tǒng)模塊而言,能夠有效存放大量的系統(tǒng)測(cè)試內(nèi)容,同時(shí)還可以準(zhǔn)確展示出測(cè)試結(jié)果,在這樣的情況下,系統(tǒng)測(cè)試內(nèi)容獨(dú)立,能夠大幅度降低開(kāi)發(fā)環(huán)節(jié)的工作負(fù)擔(dān);系統(tǒng)測(cè)試日志,此模塊的核心作用,主要表現(xiàn)在數(shù)據(jù)輸出方面,自動(dòng)測(cè)試系統(tǒng)在完成任務(wù)指令的過(guò)程中,系統(tǒng)日志會(huì)被格式化,通過(guò)這種方式可以為最終的自動(dòng)化結(jié)果提供安全保障;檢查器模塊,在系統(tǒng)內(nèi)設(shè)置專門(mén)的檢查點(diǎn),使用系統(tǒng)判斷功能,即可檢測(cè)出系統(tǒng)自動(dòng)化運(yùn)行的實(shí)際效果,并給出針對(duì)性結(jié)論。
(3)商品評(píng)價(jià)數(shù)量信息具有實(shí)時(shí)變化的特點(diǎn),會(huì)隨著價(jià)格變化而出現(xiàn)波動(dòng)變動(dòng)。因此,需要分別統(tǒng)計(jì)出不同價(jià)位區(qū)間的信息,如:0-1000 元范圍內(nèi)、1000-2000 元范圍內(nèi)、2000-3000 元范圍內(nèi)、3000-5000 元范圍內(nèi)、5000-6000 元價(jià)格區(qū)間以及6000 以上區(qū)間的用戶評(píng)論數(shù),抓取并儲(chǔ)存完成后,可以執(zhí)行返回?cái)?shù)據(jù)指令,最后在借助Matplotlib 可在Tkinter 中繼續(xù)完成后續(xù)繪制任務(wù)即可[15]。
2.3.4 網(wǎng)站用戶數(shù)據(jù)綜合分析
在成功讀取消費(fèi)者評(píng)論信息后,借助Matplotib 可在Tkinter 中繼續(xù)完成后續(xù)繪制任務(wù)即可。
2.3.5 網(wǎng)站商品列表分析
(1)消費(fèi)事件發(fā)生后,系統(tǒng)要準(zhǔn)確展現(xiàn)出對(duì)此商品的詳細(xì)信息,保證數(shù)據(jù)可視化效果可以達(dá)到預(yù)期水平。
(2)消費(fèi)者的好、中、差評(píng)等關(guān)鍵內(nèi)容占比分析??梢詮臄?shù)據(jù)庫(kù)中準(zhǔn)確讀取出目標(biāo)數(shù)據(jù)并返回,然后借助Matplotib 可在Tkinter 中繼續(xù)完成后續(xù)繪制任務(wù)。
(3)商品評(píng)論數(shù)量會(huì)隨著時(shí)間的推移而改變。所以,在Pandas 讀取商品數(shù)據(jù)后,需要立即轉(zhuǎn)換為新的datetime抓取對(duì)象,然后再將抓取到的內(nèi)容轉(zhuǎn)化成新的數(shù)據(jù)包模式,并按照時(shí)間差異,完成后續(xù)分組排序任務(wù)即可。
(4)消費(fèi)者評(píng)論信息需要成功顯示出來(lái),并保證數(shù)據(jù)處理效果。
首先,設(shè)定關(guān)鍵詞,在爬蟲(chóng)完成運(yùn)行后,打開(kāi)可視化工具,并將其與系統(tǒng)數(shù)據(jù)庫(kù)進(jìn)行連接,并找出爬蟲(chóng)保存的所有數(shù)據(jù)內(nèi)容即可。
3.2.1 網(wǎng)站內(nèi)商品銷(xiāo)售數(shù)據(jù)調(diào)研
購(gòu)物網(wǎng)站內(nèi)的信息接收對(duì)象記錄、通知登記指令、通知類型識(shí)別、標(biāo)題識(shí)別、內(nèi)容記錄以及附件傳輸?shù)汝P(guān)鍵內(nèi)容,均需要詳實(shí)記錄。同時(shí),未查看通知可顯示當(dāng)前已被用戶接收到但為進(jìn)行查閱的情況,該功能設(shè)置是為了一些需要用戶反饋的重要通知而用,用戶必須反饋意見(jiàn)后才能結(jié)束該程序。通知查詢可方便查看當(dāng)前通知的發(fā)布者和接收者,便于發(fā)布者快速了解通知接收和反饋情況,并保持歷史記錄?;诖?,在爬蟲(chóng)任務(wù)指令全部完成后,即可判定該次抓取任務(wù)結(jié)束,此時(shí)收集到的數(shù)據(jù)內(nèi)容已經(jīng)轉(zhuǎn)存至系統(tǒng)數(shù)據(jù)庫(kù)中,可對(duì)期內(nèi)的必要數(shù)據(jù)資料和信息進(jìn)行分析,因此,需再次要設(shè)置一個(gè)專門(mén)而定待連接數(shù)據(jù)庫(kù),當(dāng)程序正式啟動(dòng)并成功顯示出對(duì)應(yīng)商品信息后立即對(duì)后續(xù)內(nèi)容加以可視化處理,為最終的數(shù)據(jù)分析結(jié)果提供準(zhǔn)確性保障作用。
3.2.2 購(gòu)物網(wǎng)站用戶消費(fèi)數(shù)據(jù)分析
在本次數(shù)據(jù)爬取任務(wù)中,共收集9800 條用戶評(píng)論信息,其中,占比最高的評(píng)論是有關(guān)該購(gòu)物網(wǎng)站中的PLUS 會(huì)員評(píng)論內(nèi)容。主要原因?yàn)椋篜LUS 會(huì)員是本次研究對(duì)象,即XX購(gòu)物網(wǎng)站自身提供的核心會(huì)員服務(wù)體系,因此,對(duì)于此類用戶而言,會(huì)更加關(guān)注自身消費(fèi)體驗(yàn),同時(shí)在網(wǎng)站的購(gòu)物頻率明顯更高,并且也更加愿意發(fā)表個(gè)人的購(gòu)物感受和產(chǎn)品評(píng)論。3.2.3 某一商品的銷(xiāo)售數(shù)據(jù)分析
操控系統(tǒng),切換平臺(tái)商品列表信息功能頁(yè)面,顯示買(mǎi)家評(píng)論信息和消費(fèi)者評(píng)論的發(fā)展,屬于對(duì)單一商品評(píng)論數(shù)據(jù)分析的核心內(nèi)容。
以我國(guó)某國(guó)產(chǎn)手機(jī)產(chǎn)品在該網(wǎng)站的銷(xiāo)售情況為例進(jìn)行分析,操作鼠標(biāo)雙擊手機(jī)型號(hào),即可顯示對(duì)應(yīng)的產(chǎn)品銷(xiāo)售記錄,當(dāng)窗口彈出此商品對(duì)應(yīng)的數(shù)據(jù)可視化圖表后進(jìn)行即可。經(jīng)分析可了解到,消費(fèi)者評(píng)論大多處于2019年7-11月范圍內(nèi),此情況可證明該商品在正式發(fā)布后一段時(shí)間內(nèi),在該網(wǎng)站采取的打折促銷(xiāo)手段,使產(chǎn)品的實(shí)際銷(xiāo)量發(fā)生一定程度的提升。
商品詞云,即用戶體驗(yàn),可以真實(shí)的展現(xiàn)出用戶的個(gè)人體驗(yàn),經(jīng)過(guò)分析可知,詞云內(nèi)的部分關(guān)鍵詞:如:流暢度、保值率等信息均會(huì)對(duì)網(wǎng)站用戶的最終消費(fèi)體驗(yàn)造成一定程度的影響。
本文將爬蟲(chóng)技術(shù)作為研究活動(dòng)的核心內(nèi)容,針對(duì)某購(gòu)物網(wǎng)站單一產(chǎn)品實(shí)際銷(xiāo)售數(shù)據(jù)進(jìn)行分析,借助Python 工具,研發(fā)出一種全新的網(wǎng)絡(luò)爬蟲(chóng)程序,可以將爬取到的有價(jià)值數(shù)據(jù)轉(zhuǎn)存至系統(tǒng)數(shù)據(jù)庫(kù),然后再對(duì)關(guān)鍵數(shù)據(jù)內(nèi)容進(jìn)行可視化呈現(xiàn)和分析,給出最終結(jié)果,通過(guò)這種方式為管理者發(fā)展策略的制定,提供更為可靠的數(shù)據(jù)支撐作用。