基于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頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

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

目錄

1引言..............................................................1

1.1項(xiàng)目背景...................................................1

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

1.2.1Python概述.............................................2

1.2.2JupyterNotebook概述...................................2

1.2.3Python第三方庫簡介.....................................2

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ù)...........................................4

2.3.3可視化技術(shù).............................................5

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

3.1采集頁面分析...............................................5

3.2字段分析...................................................8

3.3編程實(shí)現(xiàn)...................................................9

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

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

4.2數(shù)據(jù)儲(chǔ)存..................................................14

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

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

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

5.2.1Notebook數(shù)據(jù)分析與展示................................16

5.2.2按照生產(chǎn)廠家制作詞云圖................................21

5.2.3根據(jù)藥品劑型進(jìn)行統(tǒng)計(jì)..................................22

5.2.4依照藥品售價(jià)區(qū)間進(jìn)行統(tǒng)計(jì)..............................23

I

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

5.3綜述......................................................24

6小結(jié).............................................................25

參考資料............................................................26

II

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

基于Python的藥房網(wǎng)商城數(shù)據(jù)采集與分析

1引言

時(shí)光荏苒,我們的祖國已經(jīng)進(jìn)入了一個(gè)高速發(fā)展的階段。百年未有之大變局,

正是我們這一代年輕人應(yīng)該抓住的時(shí)機(jī)和機(jī)會(huì)。喬布斯的一次發(fā)布會(huì),開啟了移

動(dòng)互聯(lián)網(wǎng)時(shí)代的來臨,信息大爆炸讓各種技術(shù)應(yīng)用的隨需求不斷誕生,如雨后春

筍一般開始冒尖兒。云、大、物、智等計(jì)算機(jī)互聯(lián)網(wǎng)技術(shù)在當(dāng)下從百姓民生的

各個(gè)方面提供了智能生活的技術(shù)基礎(chǔ)。而廣大人民群眾日常的購物、出行等產(chǎn)

生的數(shù)據(jù)也讓為我們這些技術(shù)工作者提供的海量的數(shù)據(jù)源頭,讓我們有東西去

學(xué)習(xí)和開發(fā),然后應(yīng)用。

衣食住行、衛(wèi)生醫(yī)療等方面產(chǎn)生的海量數(shù)據(jù)等待開發(fā)的價(jià)值愈來愈大。我

們這一代也踩在了信息革命的門檻上,逐漸進(jìn)入到一個(gè)信息漫天飛舞的時(shí)代。大

量IT工作者鼓吹風(fēng)口一詞,引入許多人往這一行業(yè)涌入。大數(shù)據(jù)從業(yè)者都明白,

海量數(shù)據(jù)中隱藏的寶藏等待有緣人也可以說是有心人去發(fā)掘,數(shù)據(jù)科學(xué)及大數(shù)

據(jù)技術(shù)也成為目前信息技術(shù)領(lǐng)域的一個(gè)比較熱門的分支,大家都覺得他是未來!

1.1項(xiàng)目背景

網(wǎng)上藥店為患者提供了比線下門店更多的選擇,為患者帶來了切實(shí)的便利,

通過線上購藥,患者可以極大地節(jié)省時(shí)間和交通成本,同時(shí),在線醫(yī)療和網(wǎng)上

藥店有效對(duì)醫(yī)院門診進(jìn)行了分流,一定程度上緩解了看病難的現(xiàn)狀。人們充分

體會(huì)到了電子商務(wù)多方面的優(yōu)勢(shì),公眾對(duì)藥品電子商務(wù)及網(wǎng)上藥店的經(jīng)營有著

較大的需求與期待。

然而,藥品作為一種商品具有其特殊性,藥品的質(zhì)量安全和銷售合規(guī)性與

人的生命健康息息相關(guān),而互聯(lián)網(wǎng)一方面能夠增強(qiáng)信息獲取的便利性,提高流

通效率,更好地滿足消費(fèi)者的用藥需求;另一方面也具有隱蔽性和虛擬性,加

上賣家資質(zhì)難以確定、監(jiān)管難度大、處方審核問題、跨地域帶來的配送隱患等

安全隱患[1]。

涉及到藥品種類信息有很多,本次項(xiàng)目需要對(duì)網(wǎng)頁進(jìn)行解析。然后通過

Python爬蟲的手段批量獲取項(xiàng)目想要的資料。

此次項(xiàng)目就是針對(duì)普通百姓對(duì)藥品的需求,然后爬取藥房網(wǎng)商城的中西藥

品數(shù)據(jù),對(duì)其進(jìn)行處理,分析,然后可視化。繁雜的數(shù)據(jù)經(jīng)過清洗加分析后,一目

了然的將結(jié)果呈現(xiàn)在高層眼前,給普通百姓提供高性價(jià)比、正規(guī)的藥品品牌,從

1

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

而進(jìn)貨哪些藥品[2],最后做相對(duì)正確的決策。所以此次項(xiàng)目部分包含數(shù)據(jù)爬取、

清洗處理、儲(chǔ)存、可視化[3]。

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

1.2.1Python概述

Python是一門編程語言,通過這門計(jì)算機(jī)能夠理解的語言,可以通過編程

讓電腦完成的復(fù)雜的任務(wù),就像開發(fā)一個(gè)應(yīng)用程序一樣,比如計(jì)算器應(yīng)用,可

以幫助項(xiàng)目的進(jìn)程進(jìn)行一些復(fù)雜計(jì)算任務(wù)[4][5]。

比如統(tǒng)計(jì)考試成績、對(duì)班級(jí)成績表做一些分析,當(dāng)然這些工作通常使用

Excel也能完成。但是Python能夠做的遠(yuǎn)遠(yuǎn)不止是這些,關(guān)鍵還是在于想要做

什么。工作中大量繁雜重復(fù)的工作,大多數(shù)時(shí)候可以使用Python自動(dòng)化幫忙完

成,從而提高工作效率。

1.2.2JupyterNotebook概述

Jupyternotebook簡單的說,是一個(gè)編程工具,用來做python等語言的編

程工作[6]。

Jupyternotebook是一個(gè)開源Web應(yīng)用程序,允許您創(chuàng)建和共享包含實(shí)時(shí)

代碼、方程式、可視化和敘述文本的文檔。用途包括:數(shù)據(jù)清理和轉(zhuǎn)換,數(shù)值

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

Jupyternotebook是以網(wǎng)頁的形式打開,可以在網(wǎng)頁頁面中直接編寫代碼

和運(yùn)行代碼,代碼的運(yùn)行結(jié)果也會(huì)直接在代碼塊下顯示的程序。如在編程過程

中需要編寫說明文檔,可在同一個(gè)頁面中直接編寫,便于作及時(shí)的說明和解釋。

1.2.3Python第三方庫簡介

Requests:最友好的網(wǎng)絡(luò)爬蟲功能庫,是Python實(shí)現(xiàn)的簡單易用的HTTP庫,

使用起來比urllib更簡潔很多,Python第三方庫在使用前要先進(jìn)行安裝。

Re:正則表達(dá)式解析和處理功能庫,里面包含了多種字符串匹配的方法。

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

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

NumPy庫是Python數(shù)據(jù)分析的基礎(chǔ),是處理數(shù)組的Python庫,NumPy庫的

數(shù)據(jù)結(jié)構(gòu)比Python自帶的更加高效[7]。

Pandas:是python數(shù)據(jù)分析高層次應(yīng)用庫,是一種Python數(shù)據(jù)處理庫,常

2

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

用于數(shù)據(jù)分析和統(tǒng)計(jì)學(xué)任務(wù)。Pandas提供了高效的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)分析工具,

可以非常方便地完成數(shù)據(jù)預(yù)處理、清洗、重組、聚合、分組、統(tǒng)計(jì)、可視化等

任務(wù)[7]。

Xpath:全稱XMLPathLanguage,即XML路徑語言,它是一門在XML文檔

中查找信息的語言。XPath最初設(shè)計(jì)是用來搜尋XML文檔的,但是它同樣適用于

HTML文檔的搜索[8]。這此項(xiàng)目使用的方法就是使用xpath解析網(wǎng)頁,當(dāng)然

還有beautifulsoup[9]方法可用解析網(wǎng)頁。

Matplotlib:是一種Python數(shù)據(jù)可視化庫,可以用于生成各種類型的靜態(tài)、

動(dòng)態(tài)、交互式圖表,非常適合于數(shù)據(jù)分析和挖掘領(lǐng)域。該庫還提供了簡單、直

接的繪圖接口,支持各種繪圖類型,如折線圖、散點(diǎn)圖、柱狀圖、餅圖、等高

線圖、三維圖等,并提供了各種繪圖配置選項(xiàng)和樣式。主要是偏向于二維繪圖

[10]。

Wordcloud、Scipy、Jieba:生成中文詞云的。

Pylab:它能設(shè)置畫圖讓其能顯示中文。

2需求分析

2.1可行性需求分析

1、技術(shù)可行性

通過抓包分析發(fā)現(xiàn)藥房網(wǎng)商城網(wǎng)站藥品信息頁面的數(shù)據(jù)是動(dòng)態(tài)傳輸?shù)?所

以本項(xiàng)目準(zhǔn)備工作的第一步就是通過瀏覽器控制臺(tái)獲取請(qǐng)求和其參數(shù)。然后就

可以得到網(wǎng)頁面數(shù)據(jù)的返回值。

為保障此次項(xiàng)目的技術(shù)可行性,需通過程序PyChram內(nèi)置爬蟲爬取出來的

原始數(shù)據(jù)暫時(shí)以csv格式儲(chǔ)存起來,在后續(xù)的數(shù)據(jù)預(yù)處理和可視化中再進(jìn)行調(diào)

用。本此項(xiàng)目的最后是將準(zhǔn)確的數(shù)據(jù)存入本地硬盤中做備份儲(chǔ)存。

2、項(xiàng)目可行性

教育、住房、醫(yī)療一直是壓在人民心頭的三座大山,也是我們中國社會(huì)主義

發(fā)展道路上的巨大難題。有關(guān)于三者的討論于新聞從未斷絕過,每一次發(fā)表關(guān)于

教育、住房、醫(yī)療等領(lǐng)域的話題時(shí),其話題熱度往往能沖上熱搜榜首。

本次項(xiàng)目通過采集比較權(quán)威的藥房網(wǎng)商城網(wǎng)站內(nèi)的數(shù)據(jù),來分析我國進(jìn)出

口的藥品信息。此次項(xiàng)目也將從藥品名稱、劑型、生產(chǎn)廠家等方面對(duì)其進(jìn)行深

度剖析,分析出有價(jià)值的信息,最后將其可視化最后根據(jù)結(jié)果得出結(jié)論是:藥品

種類多,所以對(duì)癥醫(yī)治的藥品也就多,在眾多藥品中不僅要選擇有效的藥品也

3

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

更要在眾多藥品中選擇價(jià)格實(shí)惠親民的藥品,這個(gè)項(xiàng)目就能很好的為普通老百

姓提供幫助,既能選擇對(duì)癥藥品,又能減少不必要的開支。

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

本次項(xiàng)目的數(shù)據(jù)集的來源是藥房網(wǎng)商城網(wǎng)站,是通過python爬取藥房網(wǎng)商

城-中醫(yī)藥所有藥品的信息。數(shù)據(jù)清洗后共4060條記錄,爬取完成后盡可能的檢

查數(shù)據(jù)的準(zhǔn)確性,確定爬取出來的數(shù)據(jù)無誤并且是屬于藥房網(wǎng)商城實(shí)時(shí)存在的

藥品信息。

分析藥房網(wǎng)商城網(wǎng)站網(wǎng)頁信息,明確此次項(xiàng)目需要爬取的藥品參數(shù)有藥品

名稱、價(jià)格、規(guī)格、劑型、批準(zhǔn)文號(hào)、有多少商家在售、生產(chǎn)廠商等數(shù)據(jù),在對(duì)

原始數(shù)據(jù)進(jìn)行預(yù)處理后本項(xiàng)目再會(huì)對(duì)其數(shù)據(jù)進(jìn)行多個(gè)維度的分析。例如,藥品的

價(jià)格對(duì)其進(jìn)行分析,查看同款藥品的價(jià)格差距及廠家名稱,以便于民眾根據(jù)自身

所需購買藥品。

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

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

網(wǎng)絡(luò)爬蟲技術(shù)是一種利用程序自動(dòng)獲取互聯(lián)網(wǎng)信息的技術(shù)。它可以自動(dòng)地

遍歷互聯(lián)網(wǎng)上的各種網(wǎng)頁,從中提取出有用的數(shù)據(jù)并加以處理。網(wǎng)絡(luò)爬蟲技術(shù)

的基本原理是通過發(fā)送http請(qǐng)求獲取指定url頁面的html代碼,然后解析該

頁面的結(jié)構(gòu)和內(nèi)容,再從中提取出需要的信息,例如文本、圖片、鏈接等等。

常用的網(wǎng)絡(luò)爬蟲工具包括python語言中的scrapy和beautifulsoup等,也

可通過編寫自己的程序?qū)崿F(xiàn)爬蟲功能[11][12]。

但是需要每個(gè)人都注意的是,任何時(shí)候在使用網(wǎng)絡(luò)爬蟲時(shí),需要尊重被爬

取網(wǎng)站的隱私政策和版權(quán)聲明,并且遵守相關(guān)法律法規(guī),以免侵權(quán)引起不必要

的糾紛。

2.3.2文件存取技術(shù)

Pandas中使用csv模塊讀取文檔如圖2-1顯示:

4

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

圖2-1Pandas中使用csv模塊

Python中使用for循環(huán)遍歷讀取文檔如圖2-2顯示:

圖2-2for循環(huán)遍歷讀取文檔

2.3.3可視化技術(shù)

本次項(xiàng)目中僅僅只是將得到的數(shù)據(jù)用很簡單的可視化手段實(shí)現(xiàn)數(shù)據(jù)可視化,

具體的就是用python第三方庫matpoltlab去進(jìn)行可視化,在matplotlab包含

的許多模塊中使用generate、pie、bar函數(shù)可以分別生成詞云圖、餅圖和條形

圖。因此可以很好的將數(shù)據(jù)高效率的表現(xiàn)出來,可視化圖形呈現(xiàn)出來后對(duì)于結(jié)果

自然一目了然,然后得出結(jié)論[13]。

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

3.1采集頁面分析

本次項(xiàng)目首先通過Edge瀏覽器搜索藥房網(wǎng)商城的官方網(wǎng)頁

(如圖3-1所示),然后找到中西藥品目錄集頁面觀察其

中URL為:/catalog-1(如圖3-2所示),然后點(diǎn)擊頁面

5

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

下方的下一頁按鈕,同時(shí)觀察URL,發(fā)現(xiàn)URL發(fā)生變化:(如圖3-3所示)

/catalog-1/p2。

由此可以推斷藥房網(wǎng)商城中中西藥品中每一頁的url最后一個(gè)數(shù)字對(duì)應(yīng)頁

碼,且最多一百頁,即使輸入大于100的數(shù)字也只會(huì)顯示尾頁。(如圖3-4所

示)

圖3-1數(shù)據(jù)網(wǎng)址頁面

圖3-2中西藥品頁面

6

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

圖3-3單擊下一頁顯示頁面

圖3-4頁碼測(cè)試

續(xù)圖3-4頁碼測(cè)試

按F12調(diào)出開發(fā)者工具,或者在空白處單擊右鍵呼出菜單選擇檢查選項(xiàng)也

可調(diào)出開發(fā)者工具,刷新頁面,(如圖3-5所示)。

7

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

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

利用全局搜索工具定位所需數(shù)據(jù)位置,點(diǎn)擊開發(fā)者工具上面的Headers(標(biāo)

頭)字段,分析這是個(gè)什么請(qǐng)求,發(fā)現(xiàn)這個(gè)是一個(gè)GET請(qǐng)求。

確定無誤后接著找出這個(gè)網(wǎng)頁的Cookie、Host和User-Agent:(如圖3-6所

示)

圖3-6Cookie、Host和User-Agent

3.2字段分析

在獲取此次項(xiàng)目所需資料時(shí),首先來到網(wǎng)頁面打開網(wǎng)頁的選擇欄,然后將選

8

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

擇欄目定位到藥品集中的位置也就是定位到本次項(xiàng)目所需求的資料數(shù)據(jù)所在位

置,然后跳出開發(fā)者工具頁面刷新一下頁面再進(jìn)入,點(diǎn)擊開發(fā)者工具界面上方的

數(shù)據(jù)預(yù)覽按(Ctrl+Shift+C)如圖3-7,可以看到本次項(xiàng)目需要的數(shù)據(jù)信息都是呈

現(xiàn)在這個(gè)網(wǎng)頁面:

在每一個(gè)dic標(biāo)簽下有多個(gè)a標(biāo)簽(每一個(gè)dic標(biāo)簽都對(duì)應(yīng)一件藥品),

而a標(biāo)簽內(nèi)的字符內(nèi)容就是本次項(xiàng)目所需要的字段,如藥名、規(guī)格、批準(zhǔn)文號(hào)、

生產(chǎn)廠家等都可以通過xpath方式獲取這些字段的路徑。

因?yàn)槊考幤范即嬖趫D片,而由于圖片格式的特殊性,所以此次項(xiàng)目將使

用xpath方法獲取數(shù)據(jù)時(shí)可以篩選過濾掉這些不必要的數(shù)據(jù)。每一頁格式的原

因,所以在編寫程序代碼時(shí),需要重復(fù)獲取響應(yīng)數(shù)據(jù),然后依次寫入到csv格

式的文件當(dāng)中。

圖3-7分析數(shù)據(jù)類型頁面

3.3編程實(shí)現(xiàn)

導(dǎo)入所需庫。(如圖3-8所示)

9

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

圖3-8導(dǎo)入所需庫頁面

設(shè)置請(qǐng)求頭,偽裝成瀏覽器訪問服務(wù)器。(如圖3-9所示)

圖3-9請(qǐng)求頭內(nèi)容頁面

代碼實(shí)現(xiàn)如下(圖3-10-1至3-10-3所示):

圖3-10-1代碼展示

10

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

圖3-10-2代碼展示

圖3-10-3代碼展示

源代碼.zip

11

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

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

在對(duì)數(shù)據(jù)的處理中數(shù)據(jù)清洗這個(gè)步驟非常重要關(guān)鍵,先對(duì)數(shù)據(jù)進(jìn)行清洗,

處理掉敏感信息,統(tǒng)一格式什么的,再根據(jù)需求對(duì)數(shù)據(jù)進(jìn)行處理。有個(gè)很著名

的論斷:一個(gè)數(shù)據(jù)科學(xué)家80%的時(shí)間花在了數(shù)據(jù)清洗,20%的時(shí)間花在算法模型

上面。數(shù)據(jù)清洗很像一個(gè)篩沙子的過程,通過整合篩選,篩出金子般的數(shù)據(jù)洞

察/模型預(yù)測(cè)。不然的話,建模分析就是garbagein,garbageout(垃圾

進(jìn),垃圾出),沒有任何意義,也就沒有利用價(jià)值。數(shù)據(jù)清洗主要價(jià)值在以下

三個(gè)方面:

1、合:將幾個(gè)數(shù)據(jù)源融合在一起,把分析視野打開。這當(dāng)中就會(huì)涉及字段

名稱不匹配、字段維度不一致等等問題。

2、增:彌補(bǔ)數(shù)據(jù)缺失;增加數(shù)據(jù)指標(biāo)以提升建模準(zhǔn)確度和商業(yè)洞察。

3、刪:去掉不必要的噪音和錯(cuò)誤數(shù)據(jù)。把以上數(shù)據(jù)清洗做完就已經(jīng)完成了

大部分的分析建模工作量[13][14]。

獲得龐大的數(shù)據(jù)集之后因?yàn)樾枰獙?duì)數(shù)據(jù)進(jìn)行預(yù)處理,也就是所謂的清洗和

檢查,確定爬取過來的數(shù)據(jù)是否存在無效值和確實(shí)值,要保證數(shù)據(jù)的一致性,這

個(gè)對(duì)于信息質(zhì)量的評(píng)估是一項(xiàng)很重要的任務(wù)。不僅如此,而且還需要將數(shù)據(jù)進(jìn)行

有理化和有序化,這樣子能夠在數(shù)據(jù)調(diào)用共享過程中方便很多開發(fā)人員對(duì)數(shù)據(jù)

信息的使用。

本次項(xiàng)目中首先需要將爬下來的數(shù)據(jù)和網(wǎng)頁原數(shù)據(jù)進(jìn)行比對(duì),并且檢查是

否出現(xiàn)空值、錯(cuò)值,還有數(shù)據(jù)的位置是否正確。根據(jù)項(xiàng)目不同的需求對(duì)數(shù)據(jù)進(jìn)行

不同的處理。

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

導(dǎo)入pandas庫,讀取源文件。(如圖4-1所示)

12

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

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

將源數(shù)據(jù)按價(jià)格進(jìn)行排序。(如圖4-2所示)

圖4-2價(jià)格降序排序頁面

經(jīng)過比對(duì)和檢查,發(fā)現(xiàn)價(jià)格一欄的數(shù)據(jù)金額存在0元,很顯然這是些錯(cuò)誤的

數(shù)據(jù),然后需要通過篩選的方法顯示出這些數(shù)據(jù)。(如圖4-3所示)

13

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

圖4-3異常數(shù)據(jù)信息

刪除價(jià)格為0元的藥品信息,最終還剩余4060條數(shù)據(jù)。(如圖4-4所示)

圖4-4刪除異常信息

至此已初步清洗了一遍數(shù)據(jù),以便于接下來的數(shù)據(jù)分析。

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

數(shù)據(jù)儲(chǔ)存的方法有很多種,常見得可以直接用記事本格式儲(chǔ)存(txt),或者

直接用其他文件的形式儲(chǔ)存csv、excel、json等,本次項(xiàng)目使用到的是在python

中將數(shù)據(jù)存儲(chǔ)至csv(Comma-SeparatedValues)格式的文件中。

如圖4-5、4-6所示:

14

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

圖4-5將源數(shù)據(jù)存儲(chǔ)為csv格式

圖4-6將數(shù)據(jù)導(dǎo)出到本地

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

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

為更好的做好接下來的工作,先把原先爬取下來的數(shù)據(jù)以json文件格式存

儲(chǔ),以及存取的csv文件中。(如圖5-1所示)

15

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

圖5-1源文件存為json格式

續(xù)圖5-1源文件存為json格式

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

5.2.1Notebook數(shù)據(jù)分析與展示

在前面第4.1章節(jié)中已經(jīng)進(jìn)行過數(shù)據(jù)清洗了(如圖5-2所示),因此現(xiàn)將

應(yīng)對(duì)各種用途來做出如下幾點(diǎn)分析:

16

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

1、查看最貴的藥品金額。(如圖5-3所示)

2、查看最便宜的藥品金額。(如圖5-4所示)

3、為便于普通老百姓的生活開支,本次項(xiàng)目可以篩選出藥品合適的價(jià)位供

普通人挑選。(如圖5-5所示)

4、如果數(shù)據(jù)信息過于冗雜,本次項(xiàng)目還可以顯示部分需要的藥品信息。

(如圖5-6所示)

5、如果想要在篩選的信息中查找需要的藥品,只需搜索即可,(如圖5-7

所示)也可以通過搜索查看需要了解這款藥品的全部信息。(如圖5-8所示)

6、在搜索需要的產(chǎn)品時(shí),不僅可以按藥名,也可以按生產(chǎn)廠家查找等…

(如圖5-9所示)

7、要想在通過數(shù)據(jù)初步篩選后了解其劑型的種類只需先判斷是否存在重復(fù)

數(shù)據(jù)然后再刪除即可(如圖5-10所示),最后可以看到在3759條數(shù)據(jù)中僅有

122種劑型。

17

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

圖5-2jupyternotebook中數(shù)據(jù)清洗

18

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

圖5-3最貴藥品金額

圖5-4最便宜藥品金額

圖5-5查看40元以內(nèi)的藥品信息

圖5-6顯示40元以內(nèi)藥品的部分信息

19

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

圖5-7查找藥品的部分信息

圖5-8查看藥品的全部信息

圖5-9按指定條件查看信息

20

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

圖5-10統(tǒng)計(jì)劑型種類

5.2.2按照生產(chǎn)廠家制作詞云圖

將在所有數(shù)據(jù)中每一條數(shù)據(jù)生產(chǎn)廠家的字段數(shù)據(jù)進(jìn)行整合匯總處理,然后

統(tǒng)計(jì)其出現(xiàn)的頻率,最后生成特定序列,通過特定序列里面的數(shù)據(jù)再按照詞頻生

成詞云圖,如圖5-11中可以看出“北京同仁堂股份有限公司同仁堂制藥廠”和

“北京同仁堂科技發(fā)展股份有限公司制藥廠”這兩個(gè)字段在圖片中特別顯眼,這

表示其出現(xiàn)的頻率非常高,通過關(guān)鍵詞“北京同仁堂”搜索發(fā)現(xiàn)都是同仁堂集

團(tuán)公司旗下的子公司,其次就是山西華康藥業(yè)股份有限公司。在藥房網(wǎng)商城的

網(wǎng)站上出現(xiàn)多次也足以說明他們公司生產(chǎn)藥品是通過國家認(rèn)證的并且質(zhì)量過硬

合格的產(chǎn)品。

21

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

圖5-11詞云圖展示頁面

5.2.3根據(jù)藥品劑型進(jìn)行統(tǒng)計(jì)

圖5-12餅圖展示頁面

從圖5-12中可以看出來藥房網(wǎng)商城進(jìn)口的藥品大多數(shù)都是以片劑為主,其

22

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

次就是薄膜衣片劑,各種膠囊、顆粒等,另外一些藥品的劑型都是占極少數(shù),

為更好、更直觀的看出統(tǒng)計(jì)結(jié)果,本次項(xiàng)目將把這些非主流的藥品劑型全部集

存放在“其他”中。那么藥品為什么要做成劑型呢?

這里來簡單概述一下,一部分原因是為了讓人們更易于服用,達(dá)到更好的

藥效,比如說加一個(gè)糖衣,制成片劑,讓藥不那么苦,讓藥片的外表更順滑,

更容易被消化道接受。再比如制成注射劑,通過血液循環(huán)達(dá)到病灶,加一些輔

料,讓藥物分子能夠被身體吸收。制作成栓劑,更容易放在黏膜里。

5.2.4依照藥品售價(jià)區(qū)間進(jìn)行統(tǒng)計(jì)

經(jīng)過前面數(shù)據(jù)清洗整合得出有效數(shù)據(jù)并且存入本地后,繪出藥品售價(jià)總覽

圖(如圖5-13所示)。從圖中可以知曉藥品的價(jià)格售價(jià)高低相差較大,而且普

遍集中在20元內(nèi),此階段售價(jià)藥品數(shù)量達(dá)到了3125種,占據(jù)總藥品數(shù)量的

3/4,而高價(jià)的藥品僅僅只有幾十種,這全得益于國家的各種政策福利,對(duì)普通

老百姓來說是福音,從側(cè)面就體現(xiàn)出老有所養(yǎng)、病有所醫(yī)的宣傳標(biāo)語。

23

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

圖5-13條形圖展示頁面

5.3綜述

此次項(xiàng)目從中得出結(jié)論:網(wǎng)上藥店作為在線醫(yī)療平臺(tái)全面發(fā)展的重要保障

不斷發(fā)展,為線上醫(yī)療用戶增長打下了基礎(chǔ)。網(wǎng)上藥店為患者提供了更多的選

擇,為患者帶來了切實(shí)的便利,通過線上購藥,患者可以極大地節(jié)省時(shí)間和交

通成本。然而,藥品作為一種商品具有其特殊性,藥品的質(zhì)量安全和銷售合規(guī)

性與人的生命健康息息相關(guān),而互聯(lián)網(wǎng)一方面能夠增強(qiáng)信息獲取的便利性,提

高流通效率,更好地滿足消費(fèi)者的用藥需求;另一方面也具有隱蔽性和虛擬性,

加上賣家資質(zhì)難以確定、監(jiān)管難度大、處方審核問題、跨地域帶來的配送隱患

等安全隱患。

24

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

6小結(jié)

在經(jīng)過不知多少個(gè)日日夜夜的思索琢磨之中,終于大致完成此次項(xiàng)目,雖

然此次項(xiàng)目還存在眾多問題,但是在日后會(huì)一一將其解決。這容納結(jié)合了本人

在學(xué)院這段時(shí)光中所學(xué)的知識(shí),這也是本人這些年來做的最長的項(xiàng)目,其中遇

到的最大問題就是:爬取這個(gè)網(wǎng)頁時(shí)總會(huì)出現(xiàn)特殊字符,最終查詢大量資料,

訪問眾多博客帖子才知道是該網(wǎng)頁運(yùn)用了特殊的反扒機(jī)制[15],會(huì)令其爬取的信

息產(chǎn)生特殊字符來掩蓋信息的真實(shí)性。接著請(qǐng)教專業(yè)人士才指導(dǎo)本人完成特殊

字符的搜集與替換。替換成可用數(shù)據(jù)的方法如圖6-1所示。

圖6-1替換特殊字符

其次就是在爬取網(wǎng)頁時(shí),需要注意的是:引用xpath路徑時(shí)有“復(fù)制

XPath”和“復(fù)制完整的XPath”兩個(gè)選項(xiàng)如圖6-2所示,兩個(gè)路徑是兩個(gè)不同

的路徑,是有區(qū)別的,先前第一次引用的時(shí)候是引用錯(cuò)誤的,導(dǎo)致爬取數(shù)據(jù)時(shí)

怎么也爬取不到所需數(shù)據(jù),之后翻閱教材、學(xué)習(xí)通課件之后才知道是自身選錯(cuò)

了路徑,改正之后就可用正常爬取數(shù)據(jù)了。從這個(gè)很小的問題反映出數(shù)據(jù)的嚴(yán)

謹(jǐn)性,錯(cuò)誤的選擇只會(huì)適得其反。

25

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

圖6-2復(fù)制所需路徑

過程雖然異常艱辛,但是每一次一點(diǎn)點(diǎn)的進(jìn)步都會(huì)令人心情澎湃,當(dāng)遇到

問題時(shí)經(jīng)常會(huì)在上面思索半天,有時(shí)候是一下午,有時(shí)候甚至是一天,即使茶

飯不進(jìn)、即使一刻不停,依然不會(huì)感到疲憊,每當(dāng)碰到問題時(shí),本人第一時(shí)間

第一想法就是百度,當(dāng)然也很有效果,但是同樣以前的課件內(nèi)容也是一筆不菲

財(cái)富,里面很多的知識(shí)都可以針對(duì)不同的問題作出解決方法,另外如果方向錯(cuò)

了,做什么都是徒勞,就像引用xpath路徑時(shí),一個(gè)很小的細(xì)節(jié)都會(huì)影響最后

的導(dǎo)向,所以無論做什么事都要穩(wěn)中有進(jìn)、進(jìn)中求穩(wěn)。此次項(xiàng)目的完成使其更

加了解了Python數(shù)據(jù)分析的核心概念和方法,并通過一步一步的實(shí)操和探索,

逐漸深化對(duì)相關(guān)工具和方法的了解和掌握。同時(shí),也意識(shí)到了數(shù)據(jù)預(yù)處理的重

要性,發(fā)現(xiàn)了數(shù)據(jù)集中存在的一些數(shù)據(jù)問題并成功解決,且利用可視化工具進(jìn)

行數(shù)據(jù)可視化和生層次分析。這次項(xiàng)目所給予的經(jīng)驗(yàn)都是平時(shí)在課堂中所沒有

的,不僅僅知道了大數(shù)據(jù)的魅力,更讓自己知道了大數(shù)據(jù)的價(jià)值,每一條數(shù)據(jù)

都有這它的價(jià)值,千千萬萬的數(shù)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論