




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
目錄摘要 摘要網(wǎng)上購物的日趨流行,讓淘寶、京東、拼多多、亞馬遜等購物網(wǎng)站每時每刻都產(chǎn)生大量的數(shù)據(jù),這些數(shù)據(jù)經(jīng)過清理、分析后能產(chǎn)生巨大的價值。商品分析系統(tǒng)是一款采用python編程語言的軟件,其前端通過pyqt5進行UI界面的設(shè)計和搭建,而后端則利用python來實現(xiàn)程序功能。此外,該系統(tǒng)還借助PostgreSQL數(shù)據(jù)庫對用戶數(shù)據(jù)和爬取數(shù)據(jù)進行了存儲。商品分析系統(tǒng)系統(tǒng)是一款能爬取商品數(shù)據(jù)并能對數(shù)據(jù)進行清洗和分析的軟件,用戶在注冊并登陸后能在爬蟲系統(tǒng)中爬取所需商品數(shù)據(jù),并在數(shù)據(jù)分析模塊對商品數(shù)據(jù)進行清洗和分析,用戶也可以在數(shù)據(jù)可視化界面獲得商品數(shù)據(jù)分析圖。根據(jù)上述內(nèi)容總結(jié),商品分析系統(tǒng)的設(shè)計和實現(xiàn),既能滿足企業(yè)對購物者商品喜好的收集,又能讓廣大購物者得到自己所關(guān)注商品或商家的銷量數(shù)據(jù)。關(guān)鍵詞:python;網(wǎng)上購物;數(shù)據(jù)分析;數(shù)據(jù)可視化;爬蟲
AbstractTheincreasingpopularityofonlineshoppingmakesTaobao,Jingdong,Pinduoduo,Amazonandothershoppingwebsitesgeneratealargeamountofdataeverymoment,whichcanproducehugevalueaftercleaningandanalyzing.Commodityanalysissystemisasoftwareusingpythonprogramminglanguage,itsfront-endthroughpyqt5UIinterfacedesignandconstruction,theback-endusespythontoachieveprogramfunctions.Inaddition,thesystemalsousesthePostgreSQLdatabasetostoreuserdataandcrawldata.CommodityanalysisSystemThesystemisasoftwarethatcancrawlcommoditydataandcleanandanalyzethedata.Afterregisteringandloggingin,userscancrawltherequiredcommoditydatainthecrawlersystemandcleanandanalyzethecommoditydatainthedataanalysismodule.Userscanalsogetthecommoditydataanalysischartinthedatavisualizationinterface.Accordingtotheabovesummary,thedesignandimplementationofthefishcrawlersystemcannotonlymeettheneedsofenterprisestocollectthepreferencesofshoppers,butalsoallowthemajorityofshopperstogetthesalesdataofthegoodsorbusinessestheycareabout.Keywords:python;Onlineshopping;Dataanalysis;Datavisualization;crawler
1概述1.1研究背景到2023年,中國的網(wǎng)絡(luò)銷售額已經(jīng)突破了15.4萬億元大關(guān),連續(xù)11年保持全球第一。截止到2023年12月,中國的網(wǎng)絡(luò)購物用戶數(shù)量達到了9.15億人,相比2022年12月有了6967萬人的增長。隨著網(wǎng)上購物的盛行,各類購物網(wǎng)站產(chǎn)生大量的商品信息和商品交易數(shù)據(jù),京東、淘寶、拼多多等互聯(lián)網(wǎng)巨頭愈加重視商品交易中產(chǎn)生的數(shù)據(jù),但人工收集整理與分析數(shù)據(jù)的效率已經(jīng)不能滿足各大公司及相關(guān)產(chǎn)業(yè)對商品數(shù)據(jù)的需求。所以一個能收集購物網(wǎng)站商品數(shù)據(jù),并將數(shù)據(jù)進行分析和可視化的系統(tǒng)成為一種選擇。1.2研究意義在大數(shù)據(jù)時代,海量數(shù)據(jù)的產(chǎn)生使得人為的處理數(shù)據(jù)愈發(fā)困難,急需開發(fā)一款既能收集數(shù)據(jù)又能分析數(shù)據(jù)的軟件。在爬取商品數(shù)據(jù)的基礎(chǔ)上添加分析和可視化視圖能更好的從繁雜的數(shù)據(jù)中提取出有價值的信息。隨著python技術(shù)的完善,我們可以使用它來抓取電子商務(wù)平臺上的產(chǎn)品信息并對其進行解析與視覺呈現(xiàn),最終構(gòu)建為一種便捷的應(yīng)用程序。該工具能協(xié)助各類電子商務(wù)企業(yè)開展競品研究及價格監(jiān)測,同時也可以使電子商務(wù)服務(wù)商精確算出每個商戶的真實銷量,提升了從商品數(shù)據(jù)采集到分析的過程效能,這對于引導(dǎo)電子商務(wù)機構(gòu)作出明智的市場策略有著重要意義,能夠降低相關(guān)的經(jīng)營開銷,進而增強他們在電子商務(wù)領(lǐng)域內(nèi)的比較優(yōu)勢,促進整個行業(yè)的健康進步。1.3國內(nèi)外研究現(xiàn)狀1.3.1國內(nèi)研究現(xiàn)狀歐美是電子商務(wù)的起源地,但是電子商務(wù)卻興起于亞洲。由于網(wǎng)上購物消費者數(shù)量不斷增長,我國電子商務(wù)公司越來越注重對大數(shù)據(jù)的研究,例如阿里巴巴、京東、蘇寧等這些領(lǐng)先的企業(yè)已經(jīng)建立了各自的大數(shù)據(jù)研究所。在國內(nèi)互聯(lián)網(wǎng)爬蟲領(lǐng)域的研究中,重點在于數(shù)據(jù)收集與處理的技術(shù)方面,這其中包含了如何去除重復(fù)的數(shù)據(jù)、防止被盜取的方法、以及智能化的問題解答等內(nèi)容。如侯潔茹,呂繼續(xù)的基于python的天貓商品爬蟲技術(shù),主要觀點是:隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,網(wǎng)購已成為人們生活的一部分。天貓網(wǎng)站是網(wǎng)購中具有代表性的大型電商平臺,這個網(wǎng)站的信息數(shù)據(jù)非常豐富,涵蓋了生活、學(xué)習(xí)和工作等各個領(lǐng)域的商品信息。以搜集天貓網(wǎng)站上的口紅產(chǎn)品信息為例,詳細(xì)說明了利用網(wǎng)絡(luò)爬蟲從收集數(shù)據(jù)到分析數(shù)據(jù),再到將數(shù)據(jù)進行結(jié)構(gòu)化存儲的步驟[2]。如蔡振海的基于python的淘寶商品價格爬蟲程序設(shè)計與實現(xiàn),主要觀點是:利用python編程作為核心工具,借助Requests庫和re模塊來構(gòu)建系統(tǒng)的架構(gòu),并采用關(guān)鍵字搜索的方式迅速捕捉到產(chǎn)品的信息及其售價。該研究案例中,成功地應(yīng)用了這種方法,針對淘寶的產(chǎn)品價格進行了高效的數(shù)據(jù)收集[4]。1.3.2國外研究現(xiàn)狀在電商數(shù)據(jù)信息研究領(lǐng)域,國際上的發(fā)展程度相較于我們國家來說更為先進,特別是像谷歌、facebook和亞馬遜這三大全球頂級公司。尤其是谷歌,它在人工智能和大數(shù)據(jù)方面的研究成果遠(yuǎn)超過了其他公司。國外網(wǎng)絡(luò)爬蟲技術(shù)的研究有機器學(xué)習(xí)與人工智能,讓python爬蟲技術(shù)與機器學(xué)習(xí)、自然語言處理等技術(shù)相結(jié)合,從而構(gòu)建出一系列更加智能化的爬蟲系統(tǒng),深度學(xué)習(xí)在電商數(shù)據(jù)的應(yīng)用也非常廣泛,例如用戶的情感分析,自然語言處理等。如KeLuo[9]的AStudyandImplementationofanOptimizedUniversityLibraryBookRecommendationSystemBasedonArtificialIntelligenceandpythonCrawlerScrapingTechnology,主要觀點:重點在于提高圖書館效率已成為該領(lǐng)域的主要挑戰(zhàn),原因在于圖書館的空間和資金限制。隨著人工智能技術(shù)的不斷發(fā)展,圖書推薦系統(tǒng)的自動化程度也越來越高,這就需要對傳統(tǒng)的采購方式進行優(yōu)化。通過結(jié)合python網(wǎng)絡(luò)爬蟲技術(shù)和精準(zhǔn)的購買模型,構(gòu)建圖書推薦機制,通過基于推薦列表的精準(zhǔn)購買模型,將圖書推薦從傳統(tǒng)的人工收藏轉(zhuǎn)變?yōu)樽詣踊妮o助和預(yù)測,從而實現(xiàn)圖書購買的自動化。如HejingW,F(xiàn)angL,LongZ等人[10]的ApplicationResearchofCrawlerandDataAnalysisBasedonpython,主要觀點:結(jié)合實際情況,探索如何基于特定的框架,開發(fā)出一套完整的面向蒸汽生產(chǎn)商和商店的界面爬蟲方法,該方法應(yīng)能自動高效地抓取特定目標(biāo)的數(shù)據(jù),分析動態(tài)頁面,完成數(shù)據(jù)清洗、下載、保存等操作,探索一般數(shù)據(jù)分析的方法,并對下載的數(shù)據(jù)進行分析,從中提取有用的信息,通過實際應(yīng)用,分析總結(jié)具體的抓取方法和數(shù)據(jù)分析方法。1.4研究內(nèi)容本篇的研究重點在于創(chuàng)建和實施一款用于商品交易數(shù)據(jù)視覺化的工具,其核心任務(wù)是以京東網(wǎng)店的產(chǎn)品數(shù)據(jù)為基礎(chǔ),利用python網(wǎng)絡(luò)抓取技術(shù)來獲取產(chǎn)品銷售的數(shù)據(jù),接著對這些數(shù)據(jù)進行清理、整理與解析,最終把解析后的成果用圖形的方式展現(xiàn)出來。在軟件開發(fā)前對國內(nèi)外電商爬蟲研究現(xiàn)狀進行分析,確定軟件需要設(shè)計的部分,再進行需求分析,根據(jù)需求分析劃分出各功能模塊,然后對各功能模塊進行詳細(xì)設(shè)計,最后對軟件進行測試。整個軟件開發(fā)包含了從需求到實現(xiàn)的全過程,逐步完成商品銷售數(shù)據(jù)可視化分析軟件的開發(fā)。
2相關(guān)技術(shù)分析及工具介紹2.1相關(guān)技術(shù)分析2.1.1網(wǎng)絡(luò)爬蟲概述作為一種遵循特定規(guī)律的自動化工具,也稱為網(wǎng)站捕手或在線機器人的"網(wǎng)絡(luò)爬蟲",能夠自主采集互聯(lián)網(wǎng)上各種信息的數(shù)據(jù)庫或是編碼代碼等內(nèi)容。此外,"螞蟻","自定義搜索引擎""仿真軟件"或者是“蛆”這些不太常見的名稱也被使用過。簡單來說就是我們將整個因特網(wǎng)視為一幅巨大的蜘蛛絲織成的圖景,其中每一個站點的資料就如同這副畫中的一個小節(jié);而這個像小蜘蛛一樣的'網(wǎng)絡(luò)爬蟲',則會根據(jù)預(yù)先設(shè)定的路徑與規(guī)范在這個龐大的圖像中尋找并提取出它所需要的節(jié)點及數(shù)據(jù)源。電商行業(yè)的飛速發(fā)展產(chǎn)生了大量數(shù)據(jù),這促使了各種數(shù)據(jù)分析技術(shù)的誕生。為了獲取這些數(shù)據(jù),爬蟲技術(shù)的重要性日益凸顯。2.1.2爬蟲協(xié)議的限制Robots協(xié)議作為網(wǎng)頁爬蟲協(xié)議,其主要功能在于確定哪些網(wǎng)頁內(nèi)容允許被采集并提取數(shù)據(jù),同時禁止對其他部分的內(nèi)容進行采集。各大企業(yè)或機構(gòu)都會設(shè)立自有的爬蟲協(xié)議來管理與阻止爬蟲軟件的行為。當(dāng)需要大量獲取某個網(wǎng)站的信息時,可能會因受到爬蟲阻擋而無法成功收集到所需數(shù)據(jù),例如電商平臺如淘寶、京東、拼多多的網(wǎng)站都設(shè)有相應(yīng)的爬蟲協(xié)議,因此如何突破這些反爬蟲防御機制以便有效地獲取數(shù)據(jù)成為了爬蟲技術(shù)的核心挑戰(zhàn)。2.1.3Selenium框架的作用Selenium是一個自動化測試工具,Selenium可以驅(qū)動瀏覽器自動執(zhí)行自定義好的邏輯代碼,即模擬人的行為對瀏覽器進行操作。通過python和Selenium,我們能夠從網(wǎng)頁上獲取所需的數(shù)據(jù),并且可以規(guī)避大多數(shù)反向爬行監(jiān)控。以下是Selenium的使用步驟:(1)下載并安裝Selenium控制的瀏覽器插件,將地址添加到環(huán)境變量。(2)在python中添加關(guān)于Selenium的第三方庫。Selenium的優(yōu)勢和缺陷:(1)優(yōu)勢:通過模擬人的點擊行為,可以規(guī)避大部分反向爬取監(jiān)控,從而獲取網(wǎng)頁數(shù)據(jù)。(2)缺陷:由于是自動化操作,所以會消耗大量的時間和計算機內(nèi)存。2.2相關(guān)工具介紹2.2.1Pyqt5Python版本的Qt框架被稱為PyQt5是由河岸計算公司(RiverbankComputing)所研發(fā)的一款最先進且功能豐富的圖形用戶接口工具包;它以高效能的QtGUI組件為基礎(chǔ)構(gòu)建而成,可以在包括linux、Windows與macos等多個操作系統(tǒng)的設(shè)備中無縫地運作起來;該軟件通過全面覆蓋了整個qt庫來完成其工作任務(wù),同時利用信號-槽協(xié)議作為信息傳遞的方式存在著;此外,還具備一套完善的設(shè)計環(huán)境用于創(chuàng)建界面的過程之中并且會自行編譯出一份可以直接使用的python程序出來。2.2.2PostgreSQL作為一種廣受贊譽的開源關(guān)系型數(shù)據(jù)庫,PostgreSQL因其卓越的可靠性、彈性及對開放技術(shù)的遵從度而聞名于世。該數(shù)據(jù)庫不僅能處理非關(guān)系與關(guān)系數(shù)據(jù)類型的輸入,還被譽為當(dāng)前市場中最具兼容性、穩(wěn)定性和成熟度的關(guān)系型數(shù)據(jù)庫之一,是一款強大且全面的開源對象-關(guān)系型數(shù)據(jù)庫管理系統(tǒng),通過對其所使用的并且進一步擴充的SQL語言的支持,使得它可以儲存各種復(fù)雜的數(shù)據(jù)模式,同時也能實現(xiàn)高性能的查詢操作。2.2.3PycharmpythonIDEPycharm提供了一系列有助于提升編程者利用python編寫程序時的效能的功能如:Debugging、SyntaxHighlighting、ProjectManagement、CodeNavigation、IntelligentHintsandAutoCompletion等;并且它還具備了許多先進特性以滿足專業(yè)的webdevelopment需求(例如針對DJANGOframework的支持)和對GoogleAppEngine的兼容能力也得到了體現(xiàn)。
3系統(tǒng)分析3.1可行性分析3.1.1技術(shù)可行性開發(fā)爬蟲應(yīng)用時,需要運用python爬蟲技術(shù)獲取數(shù)據(jù)并利用相關(guān)庫進行數(shù)據(jù)分析。同時,我們還需要使用pyqt5來創(chuàng)建圖形化的用戶界面,而PostgreSQL則被用于存儲用戶的基本信息python爬蟲技術(shù)在校內(nèi)學(xué)習(xí)中已經(jīng)掌握,通過自學(xué)Pyqt5滿足構(gòu)建圖形用戶界面的需要,能夠使用PostgreSQL對數(shù)據(jù)進行存儲?;谶@些技術(shù)和開發(fā)工具并通過以往成功項目的經(jīng)驗,在技術(shù)上已經(jīng)滿足開發(fā)該項目的要求,技術(shù)可行性高。3.1.2經(jīng)濟可行性python爬蟲軟件開發(fā)過程中所使用的Pycharm、Pyqt5、PostgreSQL等開發(fā)管理工具均是免費的,開發(fā)環(huán)境是在個人計算機和系統(tǒng)的支持下進行,能夠以低成本、的方式開發(fā)該軟件并且滿足用戶需要,因此開發(fā)該軟件的經(jīng)濟可行性高。3.1.3操作可行性該軟件的界面簡潔美觀,管理員和用戶登錄后進入不同的軟件主頁,用戶登錄界面為用戶提供簡便的登錄及注冊操作,PostgreSQL具有存儲用戶數(shù)據(jù)的能力。軟件主頁中功能清晰明了,客戶能夠輕松掌握其操作方式,管理員在管理系統(tǒng)頁面能有效管理用戶個人信息,故該軟件的操作可行性高。綜上所述,該基于python爬蟲技術(shù)的某商品銷售數(shù)據(jù)分析軟件設(shè)計與實現(xiàn)在技術(shù)上,在經(jīng)濟上以及在操作上的可行性都是比較高的,因此該項目的開發(fā)可以進行。3.2系統(tǒng)需求分析系統(tǒng)需求的目的是為了滿足用戶需求。某商品銷售數(shù)據(jù)分析軟件的設(shè)計與實現(xiàn),是為了讓用戶通過對某個商品的搜索,得到該商品的銷售數(shù)據(jù),并對其進行分析和可視化。因此,本系統(tǒng)的用戶模塊中,用戶點擊爬蟲系統(tǒng)對需要的商品進行搜索,爬取到該商品的數(shù)據(jù),通過讀取數(shù)據(jù)并初始化得到商品的商品名、價格、銷量、店名,在數(shù)據(jù)分析模塊中對商品數(shù)據(jù)進行清洗和分析,在數(shù)據(jù)可視化模塊中對商品數(shù)據(jù)進行可視化。3.3功能需求3.3.1個人用戶功能需求(1)注冊功能:用戶可以在注冊界面上輸入用戶名和密碼,確認(rèn)無誤后點擊注冊。一旦賬號被成功注冊,就意味著注冊過程已經(jīng)完成。(2)登錄功能:用戶在成功完成注冊后,只需在登錄頁面輸入自己的賬號和密碼。一旦這兩個信息都正確無誤,就可以進入軟件的首頁。然后,點擊爬蟲系統(tǒng),即可實現(xiàn)數(shù)據(jù)的爬取和分析等多種功能。(3)更改個人信息功能:當(dāng)用戶點擊軟件首頁的我的信息模塊時,可以輸入新密碼和確認(rèn)密碼,點擊確定后,如果彈出修改成功提示框,則表示密碼已成功更改。(4)爬蟲功能:用戶在軟件首頁點擊爬蟲系統(tǒng),在搜索框中輸入需要查詢的商品名稱和頁數(shù),點擊搜索按鈕,等待爬蟲程序運行完成,點擊讀取數(shù)據(jù)和初始化,得到商品數(shù)據(jù)。(5)數(shù)據(jù)分析功能:用戶點擊數(shù)據(jù)分析模塊,詳情頁中有銷量前十商品、銷量前十商家、不同價格對應(yīng)的商品數(shù)量和銷售數(shù)量、高頻詞、商家銷售額這些按鈕,點擊不同按鈕后點擊讀取數(shù)據(jù)和初始化,得到相對應(yīng)的表。(6)數(shù)據(jù)可視化功能:用戶點擊數(shù)據(jù)可視化模塊,詳情頁中有銷量前十商品、銷量前十商家、詞云圖、價格對銷量的影響、不同價格對應(yīng)的銷量這些按鈕,點擊不同按鈕顯示相對應(yīng)的圖片。個人用戶的功能用例圖,按3.1圖所示。圖3.1個人用戶用例圖3.3.2管理員功能需求(1)用戶信息管理功能包括以下操作:管理員登錄管理系統(tǒng)后,可以進行用戶信息的查詢、修改、刪除和添加。 管理員的功能用例圖,按3.2圖所示。圖3.2系統(tǒng)管理員用例圖3.4性能需求爬蟲程序使用Selenium爬取數(shù)據(jù),Selenium的靈活性高,可以自定義多種操作和行為。Selenium使用瀏覽器模擬真實用戶操作,能躲避網(wǎng)站的反扒檢測,爬取數(shù)據(jù)的成功率高。4總體設(shè)計4.1系統(tǒng)總體設(shè)計該系統(tǒng)具有管理員和普通用戶兩個主要功能模塊(1)管理員功能模塊:是由管理員對已注冊用戶信息進行監(jiān)控的,管理員在成功登錄后會進入管理員系統(tǒng)。管理員可以在系統(tǒng)中選擇信息管理模塊,對已注冊的用戶數(shù)據(jù)進行查詢、修改或刪除操作,同時也能添加新的用戶數(shù)據(jù)。。(2)用戶功能模塊:用戶需先于注冊區(qū)填寫個人資料并完成注冊流程后才能登陸到首頁;接著可在個人信息區(qū)域修改其個人資訊;然后可通過網(wǎng)絡(luò)蜘蛛工具收集產(chǎn)品信息;最后則能從數(shù)據(jù)分析處取得各類統(tǒng)計結(jié)果和圖表。系統(tǒng)總體功能模塊圖按圖4.1所示。 圖4.1系統(tǒng)整體功能模塊圖4.2主要功能模塊設(shè)計本系統(tǒng)主要由登錄模塊、數(shù)據(jù)提取模塊、數(shù)據(jù)分析模塊以及數(shù)據(jù)可視化模塊構(gòu)成,接下來我們將對每個模塊的設(shè)計進行深入闡述。4.2.1登陸模塊設(shè)計此功能模塊區(qū)分了普通用戶和管理員,普通用戶和管理員輸入賬號密碼,登錄失敗提示賬號密碼錯誤,登錄成功則進入不同的頁面。軟件登錄功能流程圖按圖4.2所示。圖4.2軟件登錄功能流程圖用戶登錄后,能夠進行數(shù)據(jù)獲取、信息更新等操作。管理員在注冊后可以對用戶信息實施管理。4.2.2數(shù)據(jù)提取模塊設(shè)計這個功能模塊的主要任務(wù)是從目標(biāo)網(wǎng)頁中提取商品信息,并將這些信息保存在csv文件和數(shù)據(jù)庫里。用戶輸入想要抓取的商品名稱,程序通過模擬人的點擊行為進入目標(biāo)網(wǎng)頁,從目標(biāo)網(wǎng)頁中提取數(shù)據(jù),并保存至csv文件中,然后將csv文件備份至數(shù)據(jù)庫。軟件數(shù)據(jù)提取功能流程圖按圖4.3所示。圖4.3軟件數(shù)據(jù)提取功能流程圖數(shù)據(jù)爬取成功后點擊讀取數(shù)據(jù)和初始化,輸出獲取到的商品信息。4.2.3數(shù)據(jù)分析模塊設(shè)計數(shù)據(jù)分析模塊包括商品銷量前十、商家銷量前十、不同價格對應(yīng)的商品數(shù)量和銷售數(shù)量、高頻詞、商家銷售額這些功能。商品銷量前十通過將商品銷量進行降序排序,截取前十的數(shù)據(jù)輸出表。統(tǒng)計銷量前十商品模塊流程圖按圖4.4所示。圖4.4統(tǒng)計銷量前十商品模塊流程圖數(shù)據(jù)分析成功后點擊讀取數(shù)據(jù)和初始化,輸出獲取到的商品銷量信息。商家銷量前十通過將同一店名的商品銷量相加,再以商家統(tǒng)計后的銷量進行降序排序,截取前十的數(shù)據(jù)輸出表。統(tǒng)計銷量前十商家模塊流程圖按圖4.5所示圖4.5統(tǒng)計銷量前十商家模塊流程圖數(shù)據(jù)分析成功后點擊讀取數(shù)據(jù)和初始化,輸出獲取到的商家銷量信息。數(shù)據(jù)分析不同價格對應(yīng)商品銷量,建立[0,50],[50,100],[100,200],[200,500],[500,1000],[1000,5000]六個價格區(qū)間,統(tǒng)計每個價格區(qū)間中商品的銷售數(shù)量。統(tǒng)計不同價格對應(yīng)商品銷量模塊流程圖按圖4.6所示。圖4.6統(tǒng)計不同價格對應(yīng)商品銷量模塊流程圖數(shù)據(jù)分析成功后點擊讀取數(shù)據(jù)和初始化,輸出獲取到各價格區(qū)間的商品銷量。數(shù)據(jù)分析高頻詞將商品信息中的商品名構(gòu)建為文本文件,用jieba庫對文本進行分詞處理,限制詞語長度大于或等于二,詞頻按降序排列,輸出前一百的詞。統(tǒng)計高頻詞模塊流程圖按圖4.7所示。圖4.7統(tǒng)計高頻詞模塊流程圖
數(shù)據(jù)分析成功后點擊讀取數(shù)據(jù)和初始化,輸出獲取前一百高頻詞。數(shù)據(jù)分析商家銷售額將各商品銷量乘以價格得到銷售額,將同一店名的商品銷售額相加,輸出各商家銷售額數(shù)據(jù)。統(tǒng)計商家銷售額模塊流程圖按圖4.8所示。圖4.8統(tǒng)計商家銷售額模塊流程圖數(shù)據(jù)分析成功后點擊讀取數(shù)據(jù)和初始化,輸出獲取各商家銷售額。4.2.4數(shù)據(jù)可視化模塊設(shè)計數(shù)據(jù)可視化模塊包括商品銷量前十圖、商家銷量前十圖、詞云圖、價格對銷量影響圖、不同價格對應(yīng)銷量圖這些功能。通過python中的Matplotlob模塊,將數(shù)據(jù)分析中的結(jié)果繪制成各類圖表。商品銷量前十圖,提取數(shù)據(jù)分析中商品銷量前十的商品名和銷量用于繪制柱狀圖。商家銷量前十圖,提取數(shù)據(jù)分析中商家銷量前十的店名和銷量用于繪制柱狀圖。詞云圖,提取數(shù)據(jù)分析中前一百高頻詞的高頻詞和出現(xiàn)次數(shù)用于繪制詞云圖。圖表展示了價格如何影響銷售,我們選取了商品名稱和銷售額來繪制散點圖。銷售量圖與各種價格相對應(yīng),我們從數(shù)據(jù)分析中提取出每種價格對應(yīng)的商品銷售量的價格范圍和商品數(shù)量,用于制作餅圖。4.3數(shù)據(jù)庫設(shè)計4.3.1概念設(shè)計關(guān)鍵在于概念設(shè)計的階段,它是在需求分析的基礎(chǔ)上把客戶的需求轉(zhuǎn)化為信息的架構(gòu)——也就是概念模型的過程中實現(xiàn)的。為了構(gòu)建一個既優(yōu)質(zhì)又有效的數(shù)據(jù)庫,我們必須對其儲存方式、數(shù)據(jù)一致性和數(shù)據(jù)分享等多個層面做出合理的規(guī)劃。在用戶信息數(shù)據(jù)庫中,一個用戶的屬性包括賬號和密碼,管理員的屬性也包括賬號和密碼。用戶實體及屬性E-R圖,按圖4.9所示。圖4.9用戶實體及屬性E-R圖管理員實體及屬性E-R圖,按圖4.10所示。圖4.10管理員實體及屬性E-R圖在爬蟲系統(tǒng)的數(shù)據(jù)庫里,一個待收集的商品網(wǎng)站包含了多種商品信息,每一種商品信息都包括:商品名稱、價格、銷售量以及店鋪名。爬蟲系統(tǒng)數(shù)據(jù)庫E-R圖,按圖4.11所示。圖4.11爬蟲系統(tǒng)數(shù)據(jù)庫E-R圖4.3.2邏輯設(shè)計以及對應(yīng)數(shù)據(jù)庫表(1)后臺管理用戶信息的表為用戶信息表(用戶賬號為accounts,用戶密碼為passwords),其中用戶賬號是主鍵。用戶信息表按表4.1所示。表4.1用戶信息表字段名說明類型長度約束accounts用戶賬號varchar20主鍵passwords用戶密碼varchar20非空(2)在管理員信息表中,usename代表著管理員的賬號,而userpassword則是管理員的密碼。其中,管理員賬號是主鍵。管理員信息表按表4.2所示。表4.2管理員信息表字段名說明類型長度約束usename管理員賬號varchar20主鍵userpassword管理員密碼varchar20非空(3)爬取商品信息表(product為商品名,price為價格,salesvolume為銷量,tradename為店名)其中商品名為主鍵。爬取商品信息表信息表按表4.3所示表4.3爬取商品信息表信息表字段名說明類型長度約束product商品名varchar255主鍵price價格varchar255非空salesvolume銷量varchar255非空tradename店名varchar255非空
5系統(tǒng)實現(xiàn)5.1系統(tǒng)開發(fā)環(huán)境本軟件基于python語言開發(fā),運用了Selenium測試化工具及pandas庫、jieba庫、numpy庫、matplotlib庫等python模塊。數(shù)據(jù)庫使用PostgreSQL。軟件的UI界面開發(fā)工具使用Pyqt5進行開發(fā),使用了Pyqt5中的buttons、itemviews、itemwidgets、displaywidgets、inputwidgets等模塊及信號與槽的功能模塊。5.2主要功能模塊設(shè)計5.2.1登錄模塊設(shè)計當(dāng)用戶登錄到賬號和密碼的界面,如果在該界面中輸入了錯誤或者不存在的密碼,會彈出提示。只要正確輸入這些信息,就能進入軟件的首頁。用戶登錄界面按圖5.1所示。圖5.1登陸界面效果圖用戶登錄核心代碼按圖5.2所示。
圖5.2用戶登錄核心代碼5.2.2注冊模塊設(shè)計點擊注冊圖標(biāo),用戶將會跳轉(zhuǎn)至注冊界面,填寫賬號、密碼和確認(rèn)密碼。若密碼與確認(rèn)密碼不一致,系統(tǒng)將會提示密碼不一致;注冊成功后,系統(tǒng)將會顯示賬號注冊成功的提示。用戶注冊界面按圖5.3所示。圖5.3注冊界面效果圖用戶注冊核心代碼按圖5.4所示。圖5.4用戶注冊核心代碼5.2.3用戶修改密碼設(shè)計用戶能在我的信息界面中更改密碼,如果修改成功會彈出相應(yīng)的提示。若輸入的密碼與確認(rèn)的密碼不匹配,則會顯示為密碼錯誤的提醒;反之,如果輸入的是空值,就會顯示為無效的提示。我的信息界面按圖5.5所示。圖5.5我的信息界面效果圖我的信息核心代碼按圖5.6所示。圖5.6我的信息核心代碼5.2.4數(shù)據(jù)分析商品銷量前十設(shè)計對商品銷量進行降序排序,并截取排名前十的商品數(shù)據(jù)。數(shù)據(jù)分析商品銷量前十界面按圖5.7所示。圖5.7數(shù)據(jù)分析商品銷量前十界面效果圖數(shù)據(jù)分析商品銷量前十界面核心代碼按圖5.8所示。圖5.8數(shù)據(jù)分析商品銷量前十界面核心代碼5.2.5數(shù)據(jù)分析商家銷量前十設(shè)計對商家銷量進行統(tǒng)計,再通過降序排序,截取排名前十的商家數(shù)據(jù)。數(shù)據(jù)分析商家銷量前十界面按圖5.9所示。
圖5.9數(shù)據(jù)分析商家銷量前十界面效果圖數(shù)據(jù)分析商家銷量前十界面核心代碼按圖5.10所示。圖5.10數(shù)據(jù)分析商家銷量前十界面核心代碼5.2.6數(shù)據(jù)分析不同價格對應(yīng)商品數(shù)據(jù)設(shè)計按不同區(qū)間統(tǒng)計各商品銷量和數(shù)量,主要統(tǒng)計0至50,50至100,100至200,200至500,500至1000,100至5000六個區(qū)間的商品銷量和商品數(shù)量。數(shù)據(jù)分析不同價格對應(yīng)商品數(shù)據(jù)界面按圖5.11所示。
圖5.11數(shù)據(jù)分析不同價格對應(yīng)的商品數(shù)據(jù)界面效果圖數(shù)據(jù)分析不同價格對應(yīng)的商品數(shù)據(jù)核心代碼按圖5.12所示。圖5.12數(shù)據(jù)分析不同價格對應(yīng)的商品數(shù)據(jù)核心代碼
5.2.7數(shù)據(jù)分析高頻詞設(shè)計對商品名進行分詞處理,并截取前100的高頻詞。數(shù)據(jù)分析高頻詞按圖5.13所示。圖5.13數(shù)據(jù)分析高頻詞效果圖數(shù)據(jù)分析高頻詞核心代碼按圖5.14所示。圖5.14數(shù)據(jù)分析高頻詞核心代碼5.2.8數(shù)據(jù)分析商家銷售額設(shè)計統(tǒng)計各商家銷售額,然后進行降序排序得到商家銷售額數(shù)據(jù)。數(shù)據(jù)分析商家銷售額界面按圖5.15所示。圖5.15數(shù)據(jù)分析商家銷售額界面效果圖數(shù)據(jù)分析商家銷售額核心代碼按圖5.16所示。圖5.16數(shù)據(jù)分析商家銷售額核心代碼5.2.9數(shù)據(jù)可視化銷量前十商品設(shè)計將銷量前十商品數(shù)據(jù)繪制為條形圖,更好的對比各商品的銷量。數(shù)據(jù)可視化銷量前十商品按圖5.17所示。
圖5.17數(shù)據(jù)可視化銷量前十商品效果圖數(shù)據(jù)可視化銷量前十商品核心代碼按圖5.18所示。圖5.18數(shù)據(jù)可視化銷量前十商品核心代碼5.2.10數(shù)據(jù)可視化銷量前十商家設(shè)計將銷量前十商家數(shù)據(jù)繪制為條形圖,以便更有效地比較各個商家的銷量。數(shù)據(jù)可視化銷量前十商家按圖5.19所示。圖5.19數(shù)據(jù)可視化銷量前十商家效果圖數(shù)據(jù)可視化銷量前十商家核心代碼按圖5.20所示。圖5.20數(shù)據(jù)可視化銷量前十商家核心代碼5.2.11數(shù)據(jù)可視化詞云圖設(shè)計將高頻詞數(shù)據(jù)繪制為詞云圖,更好的對比高頻詞的出現(xiàn)次數(shù)。數(shù)據(jù)可視化詞云圖按圖5.21所示。圖5.21數(shù)據(jù)可視化詞云圖數(shù)據(jù)可視化詞云圖核心代碼按圖5.22所示。圖5.22數(shù)據(jù)可視化詞云圖核心代碼5.2.12數(shù)據(jù)可視化價格對銷量的影響設(shè)計將商品價格和銷量作為x軸、y軸,繪制氣泡圖,可以更好的分析價格對銷量的影響。數(shù)據(jù)可視化價格對銷售影響按圖5.23所示。圖5.23數(shù)據(jù)可視化價格對銷售影響效果圖數(shù)據(jù)可視化價格對銷售影響核心代碼按圖5.24所示。圖5.24數(shù)據(jù)可視化價格對銷售影響核心代碼5.2.13數(shù)據(jù)可視化不同價格對應(yīng)的銷量設(shè)計將不同價格對應(yīng)的商品銷量繪制為餅圖,更好的對比分析價格與銷量的關(guān)系。數(shù)據(jù)可視化不同價格對應(yīng)的銷量按圖5.25所示。圖5.25數(shù)據(jù)可視化不同價格對應(yīng)的銷量效果圖數(shù)據(jù)可視化不同價格對應(yīng)的銷量核心代碼按圖5.26所示。圖5.26數(shù)據(jù)可視化不同價格對應(yīng)的銷量核心代碼5.2.14數(shù)據(jù)獲取設(shè)計在輸入框輸入需要爬取的商品名和爬取頁數(shù),點擊搜索鍵,等待爬取程序運行結(jié)束獲取數(shù)據(jù),點擊讀取數(shù)據(jù)和初始化后得到數(shù)據(jù)表。數(shù)據(jù)獲取界面按圖5.27所示。圖5.27數(shù)據(jù)獲取界面效果圖數(shù)據(jù)獲取核心代碼按圖5.28所示。圖5.28數(shù)據(jù)獲取核心代碼5.2.15管理員界面設(shè)計輸入賬號密碼登錄到管理員界面后,便可進入管理系統(tǒng),該系統(tǒng)具備查詢、更改、刪除以及添加用戶的功能。管理員界面按圖5.29所示。圖5.29管理員界面效果圖管理員界面核心代碼按圖5.30所示。圖5.30管理員界面核心代碼
6系統(tǒng)測試6.1測試目的軟件測試皆在檢測軟件是否符合其軟件設(shè)計需求,通過測試找出軟件的缺陷和問題,通過識別和修復(fù),從而提高軟件的穩(wěn)定性和安全性,減少后期維護及修復(fù)的成本。6.2測試方法通過使用黑盒檢測方法,我們可以在保證符合預(yù)定功能性和性能標(biāo)準(zhǔn)的前提下檢查軟體系統(tǒng)的正確性,并以此找出可能存在的功能漏洞或邏輯謬誤等潛在問題,從而解決這些問題以提升軟體的品質(zhì)與穩(wěn)定度。而白盒測試則可以協(xié)助開發(fā)者及測試員更深入地了解程序的邏輯架構(gòu),以便識別其內(nèi)部的邏輯錯誤或構(gòu)造上的瑕疵,進一步優(yōu)化軟體的質(zhì)量。所以,我們將同時運用黑盒檢測法和白盒測試法來全面評估我們的軟件產(chǎn)品。6.3功能測試功能測試是確保軟件功能符合用戶需求的重要步驟,整個過程模擬用戶實際操作進行,測試用戶使用過程中出現(xiàn)的各種情況,出現(xiàn)問題立即處理,確保用戶對軟件的正常使用。6.3.1登錄模塊測試模擬用戶使用操作,對爬蟲軟件的登錄功能進行測試的測試用例,登錄功能測試表按表6.1所示。表6.1用戶登錄測試用例表用例描述用戶點擊登錄按鈕,進行登錄操作前提條件用戶未進行登錄測試步驟用戶點擊登錄按鈕用戶輸入賬號、密碼點擊登錄登錄成功測試結(jié)果用戶成功登錄,符合預(yù)期測試結(jié)果備注測試通過6.3.2注冊模塊測試模擬用戶使用操作,對爬蟲軟件的注冊功能進行測試的測試用例,注冊功能測試表按表6.2所示。表6.2用戶注冊測試用例表用例描述用戶點擊注冊按鈕,進行注冊操作前提條件用戶未進行注冊測試步驟用戶點擊注冊按鈕用戶輸入賬號、密碼、確認(rèn)密碼點擊注冊注冊成功測試結(jié)果用戶成功注冊,符合預(yù)期測試結(jié)果備注測試通過6.3.3我的信息模塊測試模擬用戶使用操作,對爬蟲軟件的用戶修改密碼進行測試的測試用例,密碼修改功能測試表按表6.3所示。表6.3我的信息模塊測試用例表用例描述用戶點擊我的信息模塊,進行修改密碼操作前提條件用戶登錄進入軟件首頁測試步驟用戶點擊我的信息按鈕用戶輸入密碼、確認(rèn)密碼點擊確認(rèn)修改成功測試結(jié)果用戶成功修改密碼,符合預(yù)期測試結(jié)果備注測試通過6.3.4數(shù)據(jù)獲取模塊測試模擬用戶使用操作,對爬蟲軟件的用戶獲取數(shù)據(jù)進行測試的測試用例,數(shù)據(jù)獲取功能測試表按表6.4所示。表6.4數(shù)據(jù)獲取模塊測試用例表用例描述用戶點擊數(shù)據(jù)獲取模塊,進行數(shù)據(jù)爬取操作前提條件用戶登錄進入軟件首頁測試步驟用戶點擊數(shù)據(jù)獲取按鈕用戶輸入需要爬取的商品、需要爬取的頁數(shù)點擊爬取按鈕等待爬蟲程序運行點擊讀取數(shù)據(jù)和初始化按鈕得到數(shù)據(jù)信息表數(shù)據(jù)爬取成功測試結(jié)果用戶成功獲取數(shù)據(jù),符合預(yù)期測試結(jié)果備注測試通過6.3.5數(shù)據(jù)分析模塊測試模擬用戶使用操作,對爬蟲軟件的用戶分析數(shù)據(jù)進行測試的測試用例,數(shù)據(jù)分析功能測試表按表6.5所示。表6.5數(shù)據(jù)分析模塊測試用例表用例描述用戶點擊數(shù)據(jù)分析模塊,進行數(shù)據(jù)分析操作前提條件用戶在數(shù)據(jù)獲取模塊爬取到數(shù)據(jù)測試步驟用戶點擊數(shù)據(jù)分析按鈕用戶點擊銷量前十商品、銷量前十商家、不同價格對應(yīng)的商品數(shù)量和銷售數(shù)量、高頻詞、商家銷售額其中一個模塊點擊讀取數(shù)據(jù)和初始化按鈕得到數(shù)據(jù)分析表數(shù)據(jù)分析成功點擊讀取數(shù)據(jù)按鈕和初始化按鈕數(shù)據(jù)爬取成功測試結(jié)果用戶成功獲取數(shù)據(jù)分析表,符合預(yù)期測試結(jié)果備注測試通過6.3.6數(shù)據(jù)可視化模塊測試模擬用戶使用操作,對爬蟲軟件的用戶數(shù)據(jù)可視化進行測試的測試用例,數(shù)據(jù)可視化功能測試表按表6.6所示。表6.6數(shù)據(jù)可視化模塊測試用例表用例描述用戶點擊數(shù)據(jù)可視化模塊,進行數(shù)據(jù)分析操作前提條件用戶在數(shù)據(jù)獲取模塊爬取到數(shù)據(jù)測試步驟用戶點擊數(shù)據(jù)可視化按鈕用戶點擊銷量前十商品、銷量前十商家、詞云圖、價格對銷量的影響、不同價格對應(yīng)的銷量其中一個模塊獲取視圖數(shù)據(jù)可視化成功點擊讀取數(shù)據(jù)按鈕和初始化按鈕數(shù)據(jù)爬取成功測試結(jié)果用戶成功獲取數(shù)據(jù)分析表,符合預(yù)期測試結(jié)果備注測試通過6.3.7管理員模塊測試模擬管理員使用操作,對爬蟲軟件的管理員管理用戶信息進行測試的測試用例,管理功能測試表按表6.7所示。表6.7管理員模塊測試用例表用例描述管理員點擊數(shù)據(jù)可視化模塊,進行數(shù)據(jù)分析操作前提條件管理員登錄進入管理員界面測試步驟管理員點擊管理系統(tǒng)管理員進行添加、修改、刪除、查詢操作成功對用戶信息進行添加、修改、刪除、查詢操
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 罐體巖棉保溫合同范本
- 小區(qū)暖氣改造合同范本
- 保產(chǎn)合同范本模板
- 國內(nèi)貨物銷售合同范本
- 車輛停車服務(wù)合同范本
- 2026屆吉林省長春市一五一中化學(xué)高一第一學(xué)期期末監(jiān)測模擬試題含解析
- 2026屆山西省渾源縣第七中學(xué)化學(xué)高二上期末學(xué)業(yè)水平測試模擬試題含答案
- 2026屆廣東省深圳市普通高中化學(xué)高二第一學(xué)期期中預(yù)測試題含解析
- 河北省隆化縣存瑞中學(xué)2026屆化學(xué)高三第一學(xué)期期末復(fù)習(xí)檢測試題含解析
- 重慶市字水中學(xué)2026屆高三上化學(xué)期中綜合測試模擬試題含解析
- 輿情安全管理辦法
- 替換車管理辦法規(guī)定
- 臨床營養(yǎng)學(xué)病例報告
- 危險作業(yè)票 安全作業(yè)票格式模板 動火登高煤氣受限空間作業(yè)票
- 水電工安全考試題及答案
- 2025至2030臨床前CRO治療行業(yè)發(fā)展趨勢分析與未來投資戰(zhàn)略咨詢研究報告
- 2025年浙江省中考數(shù)學(xué)試卷真題(含官方標(biāo)準(zhǔn)答案)
- 幼兒園物資報損管理制度
- 酒精戒斷綜合癥治療方案講課件
- 【9語安徽中考卷】2025年安徽省中考招生考試真題語文試卷(真題+答案)
- 工程造價培訓(xùn)用課件
評論
0/150
提交評論