基于Python的中國水果交易網(wǎng)數(shù)據(jù)采集與分析_第1頁
基于Python的中國水果交易網(wǎng)數(shù)據(jù)采集與分析_第2頁
基于Python的中國水果交易網(wǎng)數(shù)據(jù)采集與分析_第3頁
基于Python的中國水果交易網(wǎng)數(shù)據(jù)采集與分析_第4頁
基于Python的中國水果交易網(wǎng)數(shù)據(jù)采集與分析_第5頁
已閱讀5頁,還剩22頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

目錄

1引言1

1.1項目背景1

1.2開發(fā)環(huán)境與工具2

1.2.1Python簡介2

1.2.2MySQL簡介2

1.2.3Jupyternotebook簡介2

1.2.4第三方庫簡介3

1.2.5Pyecharts介紹3

2需求分析3

2.1可行性需求分析3

2.2采集目標(biāo)功能分析4

2.3關(guān)鍵技術(shù)分析4

2.3.1網(wǎng)絡(luò)爬蟲技術(shù)4

2.3.2文件存取技術(shù)5

2.3.3可視化技術(shù)5

2.3.4數(shù)據(jù)清洗技術(shù)5

3數(shù)據(jù)采集6

3.1采集頁面分析6

3.2字段分析8

3.2.1產(chǎn)品/品種字段分析8

3.2.2所在產(chǎn)地字段分析9

3.2.3價格分析10

3.2.4添加時間字段分析11

3.3編程實現(xiàn)11

4數(shù)據(jù)清洗與處理12

4.1數(shù)據(jù)清洗12

4.2數(shù)據(jù)儲存14

I

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

5數(shù)據(jù)統(tǒng)計與分析17

5.1數(shù)據(jù)準(zhǔn)備17

5.2數(shù)據(jù)展示19

5.2.1依據(jù)“所在產(chǎn)地”找出產(chǎn)品量最大前10和最少前10的數(shù)據(jù)統(tǒng)計19

5.2.2依據(jù)水果品種數(shù)據(jù)詞頻進行統(tǒng)計21

5.2.3依據(jù)產(chǎn)水果商品價格進行統(tǒng)計和分析22

5.2.4依據(jù)果農(nóng)上傳水果價格時間進行統(tǒng)計23

5.3綜述24

6小結(jié)24

參考資料25

II

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

基于Python的中國水果交易網(wǎng)數(shù)據(jù)采集與分析

1引言

近些年來,信息技術(shù)的發(fā)展已成為中國社會發(fā)展的最重要特征之一。該領(lǐng)

域為中國經(jīng)濟發(fā)展帶來了巨大的應(yīng)用價值,凸顯了社會發(fā)展的多樣性。隨著中

國技術(shù)發(fā)展的不斷創(chuàng)新,電子商務(wù)領(lǐng)域也面臨著創(chuàng)新發(fā)展的挑戰(zhàn)。盡管電子商

務(wù)是近幾年才發(fā)展起來的新興產(chǎn)業(yè),但技術(shù)創(chuàng)新必然會帶來新的變化。其中,

大數(shù)據(jù)、云計算等高新技術(shù)和新興技術(shù)在推動這一內(nèi)容方面發(fā)揮了重要作用。

利用大數(shù)據(jù)技術(shù)收集和分析信息的能力可以為電子商務(wù)交易提供動態(tài)的實時服

務(wù)體驗,有助于更有效地控制信息和運營電子商務(wù)業(yè)務(wù)。

1.1項目背景

中國水果電子交易平臺于2011年1月1日正式上線!它是由來自安徽的

安徽方偉創(chuàng)立的,在水果和電子商務(wù)等領(lǐng)域有經(jīng)驗!我們希望建立亞洲最大的

水果貿(mào)易信息平臺!

專業(yè)的國內(nèi)水果交易平臺為其成員提供豐富的商業(yè)信息,并每天推薦大量

知名公司,提供不同行業(yè)經(jīng)濟活動的參考。憑借其獨特的市場定位和深度服務(wù)

內(nèi)容,該網(wǎng)站每天有數(shù)千次訪問,并穩(wěn)步增長,成為企業(yè)溝通,發(fā)布和接收信

息的重要渠道。

通過中國水果交易網(wǎng)市場的數(shù)據(jù)采集、利用可以有效的了解水果市場的發(fā)

展趨勢。利用python強大的爬蟲庫,可視化庫,anaconda庫等,為數(shù)據(jù)分析和

挖掘提供強大支持。

針對中國水果交易網(wǎng)水果類的產(chǎn)品進行數(shù)據(jù)分析挖掘行為,通過數(shù)據(jù)可視

化將爬取到的數(shù)據(jù)圖形化,從而直觀的了解市場和水果之間的供給關(guān)系,預(yù)測

消費者對市場上水果的喜好要求,從而制定一個可以適應(yīng)不同消費個性需求的

營銷方案,為農(nóng)產(chǎn)平打開新市場。

充分利用python語言,針對中國水果交易網(wǎng)水果類農(nóng)產(chǎn)品,對產(chǎn)品數(shù)據(jù)進

行爬取、清洗、可視化分析,從中找出我們需要的信息。農(nóng)業(yè)生產(chǎn)力和市場一

直有不平衡的問題存在,從而發(fā)生農(nóng)產(chǎn)品滯銷,這時大數(shù)據(jù)技術(shù)的優(yōu)點就體現(xiàn)

出來了,可以利用大數(shù)據(jù)來分析市場需求,來解決果農(nóng)的相關(guān)問題,幫助果農(nóng)

更好的掌握信息,從根本上解決問題。

本項目大致步驟分為:確定目標(biāo),明確目的,數(shù)據(jù)爬取,數(shù)據(jù)清洗,數(shù)據(jù)

1

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

可視化分析這五項,本項目將中國水果交易網(wǎng)數(shù)據(jù)信息爬取到本地,將數(shù)據(jù)轉(zhuǎn)

換成用戶看得懂,讀得懂的數(shù)據(jù),讓用戶更容易了解市場信息。

1.2開發(fā)環(huán)境與工具

本項目涉及到中國水果交易信息的數(shù)據(jù)采集可趨勢分析,以及呈現(xiàn)數(shù)據(jù)的

可視化圖形,技術(shù)包含python爬蟲技術(shù)、可視化分析技術(shù)、數(shù)據(jù)采集和分析技

術(shù)。所用的軟件主要包括chrome瀏覽器、pycharm,和基于一些python的開發(fā)

環(huán)境和工具,使用到的數(shù)據(jù)棧有python、Anaconda、Echarts、Jupyter

notebook。

1.2.1Python簡介

20世紀(jì)80年代末,荷蘭的龜叔(GuidoRossum)創(chuàng)造了Python。

Python語言是在ABC語言的基礎(chǔ)上開發(fā)而形成的,最初是作為ABC語言的

一個替代品開發(fā)的。盡管ABC語言是一種強大的高級編程語言,但不幸的是,

由于ABC語言好還尚未被廣泛使用。在這個基礎(chǔ)上,Guido在開發(fā)之初選擇了開

源Python語言。Python語言不僅增加了ABC語言中所沒有的許多功能,而且還

為它開發(fā)了許多豐富而強大的庫。有了這些Python庫,程序員可以輕松地將其

他語言的不同模塊(特別是C語言和C++語言)結(jié)合起來,所以Python語言通

常被稱為“膠水”語言。

1.2.2MySQL簡介

由瑞典公司MySQLAB開發(fā)的MySQL關(guān)系型數(shù)據(jù)庫管理系統(tǒng)是Oracle的產(chǎn)

品。MySQL是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)之一。在Web應(yīng)用程序方面,MySQL

也是最好的RDBMS(關(guān)系數(shù)據(jù)庫管理系統(tǒng))應(yīng)用程序。

MySQL是一個關(guān)系數(shù)據(jù)庫管理系統(tǒng)。相對數(shù)據(jù)庫將數(shù)據(jù)存儲在不同的表中,

而不是將所有數(shù)據(jù)放在一個大型倉庫中,這樣提高了速度和靈活性。

MySQL數(shù)據(jù)庫使用的SQL語言是最常用的標(biāo)準(zhǔn)數(shù)據(jù)庫訪問語言。MySQL軟件

采用雙重授權(quán)策略,分為社交版和商業(yè)版。MySQL由于其體積小、速度快、總擁

有成本低,尤其是開源的,通常被選為創(chuàng)建小型、中型和大型網(wǎng)站的網(wǎng)站數(shù)據(jù)

庫。

1.2.3Jupyternotebook簡介

JupyterNotebook是一個開源的Web應(yīng)用程序,允許用戶創(chuàng)建和共享包含

2

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

代碼、公式、可視化和文本的文檔。其應(yīng)用包括:數(shù)據(jù)清理和轉(zhuǎn)換、數(shù)值建模、

統(tǒng)計建模、數(shù)據(jù)可視化、機器學(xué)習(xí)等。

1.2.4第三方庫簡介

Requests:是一個清晰簡單的第三方庫,用于處理HTTP請求。它們最大的

一個優(yōu)點是在編程過程更加接近訪問URL的過程。這個庫基于urllib3,Python

語言庫。

Csv:csv屬于python中的內(nèi)置模塊,它能夠直接讀取csv格式的文件或者

將數(shù)據(jù)直接存入到csv表格中。并且csv文件是表格和數(shù)據(jù)庫中常見的文件操

作格式。

Numpy:是Python中的一個用于第三方數(shù)字計算的開源庫,用于處理相同

類型數(shù)據(jù)的多維數(shù)組,縮寫為“ndarray”,簡稱數(shù)組。這個開源庫可以用來進

行存儲和處理大型矩陣,這比Python語言的列表結(jié)構(gòu)更有效。Numpy提供了許

多先進的數(shù)值編程工具,如矩形計算,向量處理,n維數(shù)據(jù)轉(zhuǎn)換等。

Pandas:一個基于Numpy擴展的重要第三方庫,用于解決數(shù)據(jù)分析任務(wù)。

Pandas提供了一組標(biāo)準(zhǔn)數(shù)據(jù)模型以及各種功能和方法,以快速方便地輸出數(shù)據(jù),

并提供了有效處理大型數(shù)據(jù)集所需的工具。。

Matplotlib是Python符號庫。它可以與Numpy一起工作,并提供了一個有

效的開源MATLAB替代品。

wordcloud、scipy、jieba:生成中文詞云的。

1.2.5Pyecharts介紹

pyecharts是Python與Echarts結(jié)合之后的產(chǎn)物,Echarts是一個由百度

開源的數(shù)據(jù)可視化庫,它是一個純JavaScript的圖表庫,可以為用戶提供直觀

生動,可以直接交互,可高度個性化定制的數(shù)據(jù)可視化圖表,pyecharts封裝了

Echarts各類圖表的基本操作,通過了渲染機制,直接輸出一個包含JS代碼的

HTML文件。

2需求分析

2.1可行性需求分析

1.技術(shù)可行性

以Windows10為操作系統(tǒng),基于python3.8版本,采用了jupyternotebook

3

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

和PyCharm為開發(fā)工具,運用mysql進行數(shù)據(jù)庫存儲;

對于python爬蟲來說,python是非常優(yōu)秀的編程語言,因為python中有

很多非常好用的爬蟲庫,像xpath、beautifulSoup、正則表達(dá)式等等,可以十

分方便的寫爬蟲腳本。

在數(shù)據(jù)可視化中,也經(jīng)常會使用python的可視化庫matplotlib、pyEcharts。

Python編程語言的語法很簡單,方便用戶進行代碼編寫,可讀性強。

本次項目使用python編程語言,利用簡單易懂的python進行程序的編寫,

能夠讓我更加輕松的編寫爬蟲、數(shù)據(jù)清洗、可視化。再加上利用python強大的

第三方庫,利用這些庫,為我爬取中國水果交易網(wǎng)的信息、數(shù)據(jù)清洗、可視化

提供了十分良好的技術(shù)支持。

2.項目可行性

本次項目利用大數(shù)據(jù)技術(shù)對中國水果交易網(wǎng)進行數(shù)據(jù)采集分析,通過對這

些數(shù)據(jù)的可視化分析,可以從這些圖像中發(fā)現(xiàn)一些價格上,銷售上的規(guī)律。通

過利用這樣的技術(shù)對中國水果交易網(wǎng)水果的銷售可以有預(yù)見性的分析,可以用

來解決很多農(nóng)產(chǎn)品上經(jīng)常出現(xiàn)的問題,比如農(nóng)業(yè)生產(chǎn)和市場匹配的問題。通過

大數(shù)據(jù)分析,對市場上存在的問題預(yù)知,對市場起一個先知作用,在農(nóng)產(chǎn)品的

生產(chǎn)和銷售上參與,可以精確定位消費者們的喜好,提高自己農(nóng)產(chǎn)品的質(zhì)量,

從而定制一個更有針對性的銷售策略,滿足消費者需求。

2.2采集目標(biāo)功能分析

此次項目的數(shù)據(jù)來源于中國水果交易網(wǎng)(“/”),是

使用xpath對數(shù)據(jù)進行定位爬取中國水果交易網(wǎng)水果行情信息,數(shù)據(jù)爬取共

12000條記錄,以此保證數(shù)據(jù)的準(zhǔn)確性。

基于python編程語言的開發(fā)環(huán)境和xpath,對中國水果交易網(wǎng)水果行情進

行爬取采集數(shù)據(jù),所有的數(shù)據(jù)都是來源于中國水果交易網(wǎng)上水果行情的真實信

息,然后對網(wǎng)頁上的產(chǎn)品、所在產(chǎn)地,和價格,和上傳時間進行爬取,然后將

數(shù)據(jù)進行清洗,去掉一些不需要的信息,然后通過可視化作圖進行展示,讓數(shù)

據(jù)變得美觀,利于用戶的閱讀性。

2.3關(guān)鍵技術(shù)分析

2.3.1網(wǎng)絡(luò)爬蟲技術(shù)

網(wǎng)絡(luò)爬蟲也叫網(wǎng)絡(luò)機器人或者網(wǎng)頁蜘蛛。利用程序或者是腳本來自動穿梭

4

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

互聯(lián)網(wǎng),然后進行數(shù)據(jù)信息的采集。網(wǎng)絡(luò)爬蟲按照系統(tǒng)結(jié)構(gòu)和實現(xiàn)技術(shù),可以

分為:通用網(wǎng)絡(luò)爬蟲、聚焦網(wǎng)絡(luò)爬蟲、增量式網(wǎng)絡(luò)爬蟲、深層網(wǎng)絡(luò)爬蟲等等。

網(wǎng)絡(luò)爬蟲基本工作流程:

首先選取url網(wǎng)址,將這些url網(wǎng)址放入代抓取的url隊列中;利用http

庫發(fā)送一個requests的請求到目標(biāo)網(wǎng)站上面去。如果服務(wù)器正常響應(yīng),就會返

回一個response對象給用戶,而這個response對象上就會包含有要獲取的網(wǎng)

頁內(nèi)容。然后再利用python網(wǎng)絡(luò)爬蟲自帶的解析庫,對爬取到的數(shù)據(jù)進行解析。

最后就可以保存成各種格式的文件,然后放入數(shù)據(jù)庫中。

2.3.2文件存取技術(shù)

CSV全稱“Comma-SeparatedValues”,是一種使用逗號分割值格式的文件

格式,也是一種純文本格式文件。他可以和excel表格進行轉(zhuǎn)換。

MySQL數(shù)據(jù)庫是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。關(guān)系型數(shù)據(jù)庫將數(shù)據(jù)存儲在不

同的表中,而不是存儲在大型數(shù)據(jù)倉庫中,這可以提高運行速度、增加靈活性

并簡化數(shù)據(jù)管理。

2.3.3可視化技術(shù)

數(shù)據(jù)可視化就是將大量的數(shù)據(jù)進行清洗,通過圖形化進行有效的表達(dá),能

夠更加簡潔高效的觀看到某些數(shù)據(jù)得不到的信息,幫助我們發(fā)現(xiàn)某些數(shù)據(jù)尋找

不到的特征和規(guī)律。

Pyecharts是一個用于生成ECharts圖表的類庫。實際上就是ECharts與

Python的對接,提供直觀,交互豐富,可以高度個性化制定的數(shù)據(jù)可視化圖表。

本項目是針對中國水果交易網(wǎng)爬取的數(shù)據(jù)進行數(shù)據(jù)可視化分析,觀察其數(shù)

據(jù)的變化,分析其數(shù)據(jù)走向。

2.3.4數(shù)據(jù)清洗技術(shù)

在本項目中數(shù)據(jù)清洗主要利用python編程語言中的pandas庫。

Pandas是一個免費的開源的第三方python庫,是python數(shù)據(jù)分析必不可

少的工具之一,pandas是Python編程語言的核心數(shù)據(jù)分析支持庫,提供了快速、

靈活、明確的數(shù)據(jù)結(jié)構(gòu),目的在于可以簡單、直觀地處理關(guān)系型、標(biāo)記型數(shù)據(jù)。

它可以為python提供了高性能,和易于使用的數(shù)據(jù)結(jié)構(gòu)像Series結(jié)構(gòu)和

DataFrame結(jié)構(gòu)。

在本項目中使用pandas庫主要是為了清洗數(shù)據(jù),對數(shù)據(jù)進行分組,求和等

5

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

操作,然后找出符合要求的數(shù)據(jù),讓數(shù)據(jù)最后能夠符合作圖的要求。

3數(shù)據(jù)采集

針對中國水果采集網(wǎng)的相關(guān)數(shù)據(jù)進行采集,使用了python編程語言和第三

方庫xpath爬蟲庫進行數(shù)據(jù)爬取采集。通過解析網(wǎng)站信息,獲得網(wǎng)站信息,并

通過pandas將數(shù)據(jù)轉(zhuǎn)成DataFrame,再存成csv文件,最后存到MySQL數(shù)據(jù)庫

中。

3.1采集頁面分析

通過觀察圖3-1其中的URL為:

(“/market?page=1”),與圖3-2的URL相比較

(“/market?page=2”)可以發(fā)現(xiàn)只有URL的最后一個數(shù)

字發(fā)生改變。

圖3-1第一頁URL

6

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

圖3-2第二頁URL

按F12調(diào)出開發(fā)者工具,刷新頁面,可以發(fā)現(xiàn)該頁面是GET請求,如圖3-3

所示,利用全局搜索工具定位到所需數(shù)據(jù)位置,點擊開發(fā)者工具中的Network

找到網(wǎng)頁URL,然后選擇headers,并找到User-Agent(如圖3-4)設(shè)置為請求

頭。

圖3-3開發(fā)者工具GET

7

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

圖3-4網(wǎng)頁代碼User-Agent

3.2字段分析

通過開發(fā)者工具,我們可以確定需要爬取的有關(guān)數(shù)據(jù)有:水果的產(chǎn)品/品種、

水果的所在產(chǎn)地、水果的價格、水果的添加時間。通過分析可知,所有爬取的

每條數(shù)據(jù)都在class="market-tableclearFlo"中(如圖3-5所示),使用xpath

定位到數(shù)據(jù)所在位置,通過xpath的路徑:‘//div[class="market-table

clearFlo"]/ul/a’就可以挖掘出每個頁面的每條數(shù)據(jù)。

圖3-5網(wǎng)頁源代碼

3.2.1產(chǎn)品/品種字段分析

打開開發(fā)者工具,分析水果行情的“產(chǎn)品/品種”在ul標(biāo)簽下的a標(biāo)簽的

第一個li[@class="list1"]上,使用xpath定位“產(chǎn)品/品種”的路徑:

“l(fā)i[@class="list1"]/text()”定位到后保存到變量product中(如圖3-6)

得到數(shù)據(jù)(如圖3-7)。

8

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

圖3-6‘產(chǎn)品/品種’xpath查詢代碼

圖3-7‘產(chǎn)品/品種’數(shù)據(jù)

3.2.2所在產(chǎn)地字段分析

分析水果行情的“所在產(chǎn)地”都在ul標(biāo)簽下的a標(biāo)簽的第二個

li[@class="list2ellipsis"]上,使用xpath定位“所在產(chǎn)地”的路徑:

“l(fā)i[@class="list2ellipsis"]/text()”定位到后保存到變量

product_place中(如圖3-8)得到數(shù)據(jù)(如圖3-9)。

圖3-8‘所在產(chǎn)地’xpath查詢代碼

9

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

圖3-9‘所在產(chǎn)地’數(shù)據(jù)

3.2.3價格分析

分析水果行情的“價格”都在ul標(biāo)簽下的a標(biāo)簽的第3個

li[@class="list3"]上,使用xpath定位“價格”的路徑:“l(fā)i[@class="

list3"]/text()”定位到后保存到變量price中(如圖3-10)得到數(shù)據(jù)(如圖

3-11)。

圖3-10“價格”xpath查詢代碼

圖3-11“價格”數(shù)據(jù)

10

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

3.2.4添加時間字段分析

分析水果行情的“添加時間”都在ul標(biāo)簽下的a標(biāo)簽的第4個

li[@class="list6"]上,使用xpath定位“添加時間”的路徑:“l(fā)i[@class="

list6"]/text()”定位到后保存到變量date中(如圖3-12)得到數(shù)據(jù)(如圖

3-13)。

圖3-12“添加時間”xpath查詢代碼

圖3-13“添加時間”數(shù)據(jù)

3.3編程實現(xiàn)

項目使用的是pycharm程序,針對中國水果交易網(wǎng)的數(shù)據(jù),用python程序

開發(fā),爬蟲代碼基于xpath,利用xpath方法進行網(wǎng)頁數(shù)據(jù)位置定位,有效的查

找節(jié)點位置。借助這些完成網(wǎng)頁數(shù)據(jù)的的http請求,響應(yīng),解析和存儲。

代碼實現(xiàn)如下(圖3-14、圖3-15):

11

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

圖3-14編程代碼一

圖3-15編程代碼二

4數(shù)據(jù)清洗與處理

在當(dāng)今這個時代,每時每刻都會有大量的數(shù)據(jù)出現(xiàn),這些數(shù)據(jù)不是可以直

接使用的,需要對數(shù)據(jù)進行重新的審查和校驗,目的在于刪除重復(fù)的信息、糾

正存在的錯誤等等,所以數(shù)據(jù)的清洗對我們爬蟲爬取下來的數(shù)據(jù)來說是必不可

少的。數(shù)據(jù)清洗從字面意思上來看就是把“臟”的“數(shù)據(jù)清洗干凈”,其中數(shù)

據(jù)清洗的主要類型包括:殘缺數(shù)據(jù)、錯誤數(shù)據(jù)、重復(fù)數(shù)據(jù)。

4.1數(shù)據(jù)清洗

第一步部署環(huán)境,導(dǎo)入分析的包和數(shù)據(jù)。通過pandas庫讀取我們需要的數(shù)

12

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

據(jù),利用pd.read_csv來讀取csv文件。這里我們可以觀察到數(shù)據(jù)(圖4-1)需

不需要進行數(shù)據(jù)清洗,有沒有臟數(shù)據(jù)。

圖4-1數(shù)據(jù)清洗準(zhǔn)備頁面

通過這里的數(shù)據(jù)可以發(fā)現(xiàn),爬取的數(shù)據(jù)存在一些不統(tǒng)一的情況,這會對后

續(xù)的數(shù)據(jù)處理造成影響。其中存在誤差的字段是product和price兩個字段。

首先,在price中出現(xiàn)多種單位(/件、/斤、/箱等),在確保數(shù)據(jù)量足夠

的情況下,我們可以利用panda的索引特性將元/斤的數(shù)據(jù)保存下來,將其他不

是元/斤的數(shù)據(jù)刪除。(如圖4-2)

在product中出現(xiàn)非水果字段(其他),這種字段會影響數(shù)據(jù)的準(zhǔn)確性,

所以需要將product等于其他的行刪除,只保留正確的水果名稱。(如圖4-2)

只保留字段price的純數(shù)字字段,然后保存完畢的數(shù)據(jù)存入新表中(如圖

4-3)

13

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

圖4-2數(shù)據(jù)清洗完成界面一

圖4-3數(shù)據(jù)清洗完成界面二

4.2數(shù)據(jù)儲存

本次項目的數(shù)據(jù)存儲是通過MySQL數(shù)據(jù)庫的文件存儲方式進行存儲。將爬

14

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

取的數(shù)據(jù)通過Pandas的“DataFrame.to_csv()”按utf-8個字符編碼格式存儲

成csv文件,在將csv文件保存到MySQL數(shù)據(jù)庫中。

如圖4-4所示:

圖4-4數(shù)據(jù)存儲為csv頁面

MySQL是一個關(guān)系的數(shù)據(jù)庫管理系統(tǒng)。關(guān)系數(shù)據(jù)庫將數(shù)據(jù)存儲在不同的表中,

而不是將所有數(shù)據(jù)存儲在大型倉庫里面,從而提高了速度和靈活性。本次項目

將數(shù)據(jù)導(dǎo)入Mysql數(shù)據(jù)庫進行保存,這里可以使用一款軟件(navicatfor

mysql),您可以在這里使用MySQL導(dǎo)航軟件,這是管理MySQL的完美解決方案。

是一個嵌入式方法,可以將CSV表直接存儲在MySQL中。

這里我們創(chuàng)建好數(shù)據(jù)庫之后,右擊“表”選擇“導(dǎo)入向?qū)А?如圖4-5),

圖4-5導(dǎo)入向?qū)?/p>

出現(xiàn)“導(dǎo)入向?qū)А边x項框,點擊“csv文件”(如圖4-6),

15

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

圖4-6設(shè)置導(dǎo)入格式

然后選擇數(shù)據(jù)源(如圖4-7),

圖4-7數(shù)據(jù)源選擇

之后就可以一直使用默認(rèn)選項到步驟5(選擇目標(biāo)表),可以更改數(shù)據(jù)表的

名字,這里不做修改(如圖4-8)。

圖4-8修改表名

點擊下一步到步驟6,這里可以修改表的類型(如圖4-9)。

16

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

圖4-9調(diào)整表

最后選擇開始導(dǎo)入,完成導(dǎo)入,然后打開表看自己導(dǎo)入的數(shù)據(jù)(如圖

4-10)。

圖4-10數(shù)據(jù)存儲MySQL頁面

5數(shù)據(jù)統(tǒng)計與分析

5.1數(shù)據(jù)準(zhǔn)備

使用mysql將我們存入數(shù)據(jù)庫frame_produce_analyse的數(shù)據(jù)表

fruit_analyse1中的數(shù)據(jù)取出,然后使用juypternotebook對數(shù)據(jù)數(shù)據(jù)準(zhǔn)備

(如圖5-1)。

17

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

圖5-1準(zhǔn)備數(shù)據(jù)

本項目爬取“中國水果交易網(wǎng)”,一共爬取500頁數(shù)據(jù),最終清洗完成的

數(shù)據(jù)量是8751條,然后將這8751條數(shù)據(jù)進行數(shù)據(jù)可視化分析。

18

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

5.2數(shù)據(jù)展示

5.2.1依據(jù)“所在產(chǎn)地”找出產(chǎn)品量最大前10和最少前10的數(shù)據(jù)統(tǒng)計

根據(jù)爬取出來的“所在產(chǎn)地”進行可視化分析,按照每個地區(qū)出產(chǎn)的產(chǎn)品

總數(shù)進行統(tǒng)計,按照數(shù)量最多的地區(qū)從大到小排序,最后通過可視化技術(shù)對數(shù)

據(jù)進行圖形化展示。統(tǒng)計完圖形化展示如下:

圖5-2各產(chǎn)地產(chǎn)品總數(shù)最多前10個

根據(jù)爬取出來的“所在產(chǎn)地”進行可視化分析,按照每個地區(qū)出產(chǎn)的產(chǎn)品

總數(shù)進行統(tǒng)計,按照數(shù)量最少的地區(qū)從大到小排序,最后通過可視化技術(shù)對數(shù)

據(jù)進行圖形化展示。統(tǒng)計完圖形化展示如下:

19

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

圖5-3各產(chǎn)地產(chǎn)品總數(shù)最少前10個

通過對圖形5-2和圖形5-3分析可得:

在前10地區(qū)產(chǎn)品總數(shù)中產(chǎn)品數(shù)最多的是渭南市,達(dá)到總產(chǎn)數(shù)404個。產(chǎn)品

數(shù)最少的是云南,產(chǎn)品數(shù)僅僅只有1個。

中國31個省(市/自治區(qū))均有水果分布,其中山東省水果產(chǎn)量常年位居

全國首位,陜西、河南、廣西、廣東水果常年在全國水果產(chǎn)量前5位浮動。像

渭南市,陜西省轄地級市,位于陜西中東部,關(guān)中平原東部,屬暖溫帶半濕潤

半干旱季風(fēng)氣候,四季分明,光照充足,雨量適宜,盛產(chǎn)水果,如蒲城酥梨、

白水蘋果、大荔西瓜等等。

實現(xiàn)代碼如下:

圖5-2各產(chǎn)地產(chǎn)品總數(shù)最多前10個代碼

20

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

圖5-4各產(chǎn)地產(chǎn)品總數(shù)最少前10個代碼

5.2.2依據(jù)水果品種數(shù)據(jù)詞頻進行統(tǒng)計

讀取csv表,對總數(shù)據(jù)中的水果名進行關(guān)鍵詞分析形成視覺上的放大顯示,

可以從圖形化展示中篩選出有用的文本信息,過濾掉大量不需要的信息。

如下圖所示:

圖5-5水果品種詞云圖

從圖5-5可知,詞云圖中出現(xiàn)頻次最高的桔子,紅富士蘋果、葡萄、橙子、

梨、西瓜次之。

可以發(fā)現(xiàn)果農(nóng)們主要的水果產(chǎn)品是桔子,因為桔子對氣候的要求并不嚴(yán)格,

很多地區(qū)都有種植柑橘類水果,而且桔子成熟后,產(chǎn)量也是極大的,價格也便

21

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

宜,深受廣大群眾的喜愛,這也就成為大多數(shù)果農(nóng)的主要產(chǎn)品之一。

實現(xiàn)代碼如下:

圖5-6詞云圖代碼

5.2.3依據(jù)產(chǎn)水果商品價格進行統(tǒng)計和分析

圖5-7不同價格商品的數(shù)據(jù)頁面

上圖通過爬取出來的數(shù)據(jù)的商品價格進行可視化數(shù)據(jù)分析統(tǒng)計,按照價格

發(fā)布數(shù)量從大到小進行排序(取前20條數(shù)據(jù)),然后通過可視化對每條數(shù)據(jù)的

價格進行統(tǒng)計。

從圖4-7中可以得知價格在2元一斤和3元一斤的水果最多。

我們可以看到排名第一的水果數(shù)量和排名靠后的水果數(shù)量相差很大。第一

的價格只有2元,而最后的有20元,在價格上也相差很大。這就說明在一定程

度上果農(nóng)們更喜歡種植產(chǎn)量大價格低的水果,像是桔子、蘋果之類的。

22

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計

實現(xiàn)代碼如下圖5-8:

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論