疫情數據實時可視化平臺 python+Flask+Echarts+mysql 計算機畢業設計
一、開發技術
pycharm、MySQL數據庫/sqlite3數據庫、Python3.x版本、Flask框架
二、功能
用戶注冊、登錄、后臺管理員、商品數據基本信息首頁、數據統計分析、商品價格區間、銷售價格、銷量、好評率、差評率、商品詳情
商品數據分析可視化、區間餅圖、柱狀圖、折線圖、好評率前5、前5品牌、差評最多...............
商品數據爬蟲......
三、項目運行截圖
1、MySQL版本要求: 8.0 (5.x版本導不進去)
2、運行說明:
啟動app.py文件,瀏覽器打開可視化大屏:http://127.0.0.1:5000/
系統后臺頁面:http://127.0.0.1:5000/login
賬號admins ???密碼 admins
一、數據集說明
數據格式:數據集存入一個以yiqing.sql命名的sql文件中;
數據來源:通過Python的爬蟲技術,爬取騰訊疫情數據可視化平臺的數據;
數據存儲方式:將爬取到的數據存入MySQL數據庫中;
數據特點:數據庫系統實現了整體數據的結構化,數據之間有聯系;備份數據,可以避免數據丟失,可以被多個應用程序共享使用,可以大大減少數據冗余,節約存儲空間;數據獨立性高。
二、技術說明
本項目運用Python網絡爬蟲、MySQL、Flask、ECharts、Layui為基礎的新冠疫情實時監測系統。涉及到的技術主要包括:使用Python網絡爬蟲爬取疫情數據、使用MySQL數據庫存儲解析得到的數據、利用Flask構建Web項目、利用ECharts生成可視化大屏圖、利用Layui生成后臺數據管理的網頁布局。功能主要包括管理員的登錄、管理員對數據爬蟲進行啟動獲取數據、管理員對后臺疫情相關數據進行修改和刪除操作、全國新冠肺炎疫情總體狀況統計和展示等。
Python編程語言
Python程序語言適用于數據處理、數據可視化等,所以在該項目使用Python程序語言是非常合適的。Python可以根據pip來直接安裝大量的第三方庫,便于操作。
Python網絡爬蟲
網絡爬蟲是一種根據具體搜索規則來實現自動爬行的應用程序。因為標準庫和第三方庫的內容全面而充實,所以它能夠實現大量的數據采集、數據分析等工作。
爬蟲工作的流程:
①建立起請求,獲取響應。
通過HTTP庫,對目標站點進行請求,就好像打開瀏覽器,輸入一個網址。
用到的庫∶ Urlib、Urlib3、Requests。服務器會返回請求的內容,一般為HTML、二進制文件、文檔、JSON字符串等。
②解析內容。
尋求自己所需的信息,即使用正則表達式或利用其他庫來提取目標管理信息。Re庫和BeautifulSoup4庫是最常見的兩種。
③保存數據。
將分析所得到的數據持久化到文件或者數據庫中。
beautifulsoup4庫
使用beautifulsoup4解析內容
beautifulsoup4將復雜的 HTML 文檔轉換成一個樹形結構,每個節點都是Python對象
?安裝:pip install beautifulsoup4
?BeautifulSoup(html)
? 獲取節點:find()、find_all()/select()
? 獲取屬性:attrs
? 獲取文本:text
MySQL數據庫
MySQL數據庫是目前大家使用最頻繁的關系數據庫管理系統之一。它是瑞典MySQL AB公司發展起來的,后來被Oracle公司收購。關系型數據庫把數據存儲于不同的數據表格中,而非把所有的數據都置于一個大的倉庫中,并且表與表之間也有聯系。因此,訪問的速度和靈活性得到了改善。MySQL使用的SQL語句是目前應用最廣泛的一種規范語言。
?使用 pymysql 模塊與數據庫交互
?安裝: pip install pymysql
① 建立連接
② 創建游標
③ 執行操作
④ 關閉連接
Flask框架
Flask 是一個使用 Python 編寫的輕量級 Web 應用框架。其 WSGI(Python Web Server Gateway Interface) 工具包采用 Werkzeug ,模板引擎則使用 Jinja2 ,是目前十分流行的 web 框架。
? Flask 獲取請求參數
? 使用 request 對象獲取參數
① request.values 獲取參數字典
② request.values.get("參數名")
? 使用 Ajax 局部刷新頁面
?Ajax 是 Asynchronous JavaScript
and XML 的簡稱,通過 Ajax 向服務
器發送請求,接收服務器返回的json
數據,然后使用JavaScript 修改網頁
的來實現頁面局部數據更新
?使用 jquery 框架可方便的編寫
ajax代碼,需要 jquery.js 文件
ECharts,縮寫來自 Enterprise Charts,商業級數據圖表,是百度的一個開源的數據可視化工具,提供了豐富的圖表庫,能夠在 PC 端和移動設備上流暢運行。
Layui(諧音:類 UI) 是一套開源的 Web UI 解決方案,采用自身經典的模塊化規范,并遵循原生 HTML/CSS/JS 的開發方式,極易上手,拿來即用。其風格簡約輕盈,而組件優雅豐盈,從源代碼到使用方法的每一處細節都經過精心雕琢,非常適合網頁界面的快速開發。Layui 區別于那些基于 MVVM 底層的前端框架,卻并非逆道而行,而是信奉返璞歸真之道。準確地說,它更多是面向后端開發者,你無需涉足前端各種工具,只需面對瀏覽器本身,讓一切你所需要的元素與交互,從這里信手拈來。