中藥材數據分析與可視化系統
項目截圖
登錄
注冊
首頁
藥材Top20
藥材價格
產地占比
歷史價格
新聞資訊
后臺管理
一、項目概述
中藥材數據分析與可視化系統是一個基于Django框架開發的專業Web應用,致力于對各類中藥材數據進行全面、系統的采集、分析和可視化展示。本系統結合現代計算機技術與傳統中醫藥知識,利用網絡爬蟲技術從專業藥材網站獲取豐富的數據資源,通過科學的數據清洗和處理手段,以直觀的圖表形式呈現藥材的價格走勢、產地分布、使用頻率等多維度信息,為中藥材研究、市場交易和臨床使用提供全方位的數據支持和決策參考。
1.1 系統背景與意義
中藥材作為中國傳統醫藥的重要物質基礎,擁有數千年的應用歷史和豐富的理論體系。在現代醫藥體系中,中藥材仍然扮演著不可替代的角色,其市場動態、價格波動、產地分布和功效研究等信息對于醫藥行業從業者、研究人員、教育工作者和消費者都具有極高的參考價值。
然而,目前中藥材相關數據存在以下問題:
- 數據分散:中藥材信息散布在各個網站、書籍和機構,難以系統獲取
- 更新滯后:傳統資料更新周期長,難以反映市場最新動態
- 形式單一:多以文字和表格為主,缺乏直觀的可視化呈現
- 關聯性弱:各類數據之間關聯度低,難以進行多維度綜合分析
- 獲取困難:專業數據往往需要付費或特定渠道才能獲取
本系統正是為解決這些問題而設計,通過現代信息技術手段將分散的中藥材數據聚合為系統化的知識庫,并以可視化的方式呈現,提升數據的可用性和分析價值。系統的建立對于中醫藥行業具有以下重要意義:
- 促進信息透明:提高中藥材市場信息的透明度,減少信息不對稱
- 輔助科學研究:為中藥材研究提供數據支持,促進研究的科學性
- 指導市場交易:幫助從業者了解市場動態,指導采購和銷售決策
- 服務臨床實踐:為醫師提供藥材選擇參考,優化臨床用藥方案
- 傳承中醫文化:以現代技術手段傳承和弘揚中醫藥文化
1.2 系統目標與愿景
1.2.1 核心目標
- 建立完整的中藥材數據采集流程:實現對主要中藥材門戶網站數據的自動化、定期采集,確保數據的時效性和準確性
- 構建多維度數據分析框架:對中藥材的價格、產地、功效、藥方配伍等多個維度進行深入分析,挖掘數據價值
- 開發直觀的可視化展示界面:利用現代數據可視化技術,以圖表、地圖等形式直觀展示分析結果
- 提供用戶友好的交互體驗:設計簡潔明了的用戶界面,降低使用門檻,提升用戶體驗
- 構建系統化的中藥材知識庫:逐步積累并系統化整理中藥材相關知識,形成有價值的數據資產
二、系統架構
2.1 技術棧
前端技術
- 基礎技術:HTML5、CSS3、JavaScript
- 框架與庫:Bootstrap、jQuery、Echarts(數據可視化)
- 響應式設計:適配不同尺寸的屏幕設備
后端技術
- 開發框架:Django 4.2.2
- 編程語言:Python 3.9.16
- 數據庫:MySQL 8.0.26
- 開發模式:MVT(Model-View-Template)架構
- 數據分析:Python數據分析庫(Pandas, NumPy)
- 網絡爬蟲:Requests, BeautifulSoup
2.2 系統模塊
數據采集模塊
- 實現對中藥材網站數據的自動爬取
- 支持多種藥材信息的采集,包括價格、產地、藥方等
- 數據存儲至CSV文件和MySQL數據庫
數據分析模塊
- 對采集的原始數據進行清洗和處理
- 使用統計學方法分析藥材數據特征
- 提取有價值的數據結果用于可視化展示
用戶管理模塊
- 用戶注冊與登錄功能
- 用戶信息管理
- 權限控制與安全保障
數據展示模塊
- 首頁概覽:系統功能導航和數據總覽
- 藥材Top20:展示使用頻率最高的20種藥材
- 藥材價格:不同產地藥材價格對比
- 產地占比:藥材產地分布情況
- 歷史價格:藥材價格的歷史走勢
- 新聞資訊:藥材相關市場動態和新聞
后臺管理模塊
- 系統數據管理
- 用戶管理
- 內容更新與維護
2.3 數據庫設計
系統采用MySQL數據庫,主要包含以下數據表:
- 藥方信息表(prescript):存儲藥材的處方信息
- 產地價格表(originprice):記錄不同產地藥材的價格
- 歷史價格表(historyprice):記錄藥材價格的歷史變化
- 供應產地表(originstatistics):統計藥材的主要產地及供應情況
- 市場資訊表(info):存儲藥材相關的市場動態和新聞
三、系統功能
3.1 數據采集功能
系統通過reptile.py爬蟲程序實現對中藥材數據的自動采集,主要采集內容包括:
- 各種藥材的藥方配置與使用方法
- 不同產地藥材的價格信息
- 藥材歷史價格變動數據
- 藥材供應產地分布情況
- 藥材市場資訊與新聞動態
爬蟲程序具有以下特點:
- 支持自定義藥材關鍵詞搜索
- 自動識別藥材ID并采集相關數據
- 數據分類整理并保存至CSV文件
- 支持數據自動入庫
3.2 數據可視化功能
系統利用Echarts圖表庫實現數據的可視化展示,主要圖表類型包括:
- 柱狀圖:展示藥材價格對比和使用頻率Top20
- 餅圖:顯示藥材產地分布占比
- 折線圖:展示藥材歷史價格走勢
- 表格:展示藥材市場資訊和詳細數據
每個圖表都具有交互功能,用戶可以通過鼠標懸停、點擊等操作獲取更詳細的數據信息。
3.3 用戶功能
- 用戶注冊:新用戶可通過注冊頁面創建賬號
- 用戶登錄:已注冊用戶通過賬號密碼登錄系統
- 數據瀏覽:用戶可瀏覽系統中各類藥材數據和圖表
- 個人信息管理:用戶可修改個人信息和賬戶設置
3.4 管理員功能
- 用戶管理:查看、編輯和刪除用戶信息
- 數據管理:管理系統中的藥材數據
- 內容審核:審核用戶提交的信息
- 系統配置:調整系統參數和設置
四、系統啟動教程
4.1 環境準備
基本環境要求
- Python 3.9或更高版本
- MySQL 8.0或更高版本
- 操作系統:Windows/Linux/MacOS
依賴軟件
- Python開發環境(推薦PyCharm 2023.1)
- MySQL數據庫及管理工具(如Navicat)
- Git(可選,用于代碼克隆)
4.2 系統安裝
步驟一:配置Python環境
- 使用PyCharm打開項目文件夾
- 創建并激活虛擬環境(可選但推薦)
python -m venv venv # Windows激活 venv\Scripts\activate # Linux/MacOS激活 source venv/bin/activate
- 安裝項目依賴(可根據項目需要安裝以下包)
pip install django==4.2.2 pip install mysqlclient pip install pandas pip install requests pip install beautifulsoup4 pip install jieba pip install sqlalchemy pip install numpy
步驟三:配置數據庫
- 打開MySQL數據庫管理工具(如Navicat)
- 創建名為"materialsdb"的新數據庫(注意大小寫)
CREATE DATABASE materialsdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
- 選擇以下兩種方式之一導入數據:
方式1:直接導入現有數據(推薦)
- 在數據庫管理工具中選擇"materialsdb"數據庫
- 導入項目根目錄中的"materialsDB.sql"文件
- 等待導入完成
方式2:自定義數據采集
- 修改reptile.py文件中的數據庫連接信息(用戶名、密碼等)
- 執行數據庫遷移命令
cd djangoProject python manage.py makemigrations python manage.py migrate
- 運行爬蟲采集數據
python reptile.py
步驟四:修改數據庫連接設置
- 打開
djangoProject/djangoProject/settings.py
文件 - 找到DATABASES配置部分
- 根據你的MySQL配置修改以下內容:
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'materialsdb','USER': '你的MySQL用戶名','PASSWORD': '你的MySQL密碼','HOST': '127.0.0.1','PORT': '3306',} }
4.3 系統啟動
步驟一:創建管理員賬號
- 在命令行中進入項目目錄
cd Herbs_Analysis-main/Herbs_Analysis-main/djangoProject
- 創建超級管理員賬號
python manage.py createsuperuser
- 按提示輸入用戶名、郵箱和密碼
步驟二:啟動Web服務器
- 在項目根目錄執行
python manage.py runserver
- 看到以下輸出表示啟動成功:
Starting development server at http://127.0.0.1:8000/ Quit the server with CTRL-BREAK.
步驟三:訪問系統
- 打開Web瀏覽器
- 訪問前臺頁面:http://127.0.0.1:8000/
- 訪問管理后臺:http://127.0.0.1:8000/admin (使用之前創建的超級管理員賬號登錄)
4.4 常見問題解決
數據庫連接錯誤
- 檢查MySQL服務是否啟動
- 確認數據庫用戶名和密碼是否正確
- 確認數據庫名稱是否為"materialsdb"
依賴包安裝失敗
- 嘗試使用國內鏡像源:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
- 逐個安裝依賴包并解決錯誤
頁面樣式加載不正確
- 檢查static文件夾是否包含所有靜態資源
- 確認settings.py中STATIC_URL配置是否正確
- 清除瀏覽器緩存后重試
爬蟲數據采集失敗
- 檢查網絡連接是否正常
- 確認目標網站是否可訪問
- 檢查reptile.py中的URL是否有效
五、項目展望
本系統作為中藥材數據分析與可視化的基礎平臺,未來可在以下方向繼續擴展和完善:
- 數據源擴展:增加更多中藥材相關網站的數據采集
- 分析維度拓展:加入藥材功效分析、藥材組合分析等更深入的數據挖掘
- 智能推薦系統:基于用戶行為和藥材特性實現個性化推薦
- 移動端適配:開發移動應用或進一步優化移動端體驗
- API接口開放:提供數據接口,便于第三方應用調用
- 社區功能:增加用戶交流和評論功能,促進知識共享
中藥材數據分析與可視化系統不僅是一個技術平臺,更是連接傳統中醫藥知識與現代數據科學的橋梁。通過數據的力量,我們可以更好地理解和傳承中醫藥文化,為中醫藥事業的發展貢獻力量。