Python的網易云音樂數據分析系統 爬蟲 echarts可視化 Flask框架 音樂推薦系統
Python音樂數據分析系統 爬蟲 echarts可視化 Flask框架 音樂推薦系統 計算機畢業設計 源碼下載
一、技術說明
網易云音樂數據(歌單、用戶、歌詞、評論)Python爬取Flask框架搭建ECharts、WordCloud可視化項目。系統分為:數據采集模塊、數據分析處理模塊、數據存儲模塊、以及數據可視化呈現模塊。
項目目標:
1. 實現通過搜索關鍵詞,對相關歌曲的主要信息進行展示
2. 對搜索出的信息進行歌單、歌詞、評論、聽眾地域分布、活躍時間段等幾個方面的數據進行可視化分析。
Python3、urllib庫、Flask框架、ECharts.js、WordCloud庫、SQLite3數據庫
1.爬取歌單預覽頁,所有歌單數據,35單*38頁,(歌單詳情url)
2.爬取歌單詳情頁(歌單標題、歌單作者、作者url、歌單創建日期、歌單收藏量、歌單分享量、歌單評論數、歌單標簽、歌單介紹、歌單歌曲數量)
3.爬取歌單內音樂(歌曲id、標題、時長、歌手、專輯、歌曲url)
4.爬取歌曲詳情(歌曲id、歌曲標題、歌手、專輯、歌詞、評論數、評論內容)
5.爬取歌曲歌單評論內容(歌單歌曲辨識id、評論者id、評論者名、評論內容、評論時間、評論點贊量、評論者url-地區累計聽歌量)
1.數據庫可視化:用戶搜索關鍵詞,完成相應內容可視化的展現。
1.數據呈現的多樣化:多種圖表形式。(用戶活躍時間分布、用戶地域分布、歌單標簽排名、歌曲情緒、評論區詞云、歌單歌曲詞云、)
2.數據維度的設計:能夠從不同維度的數據分析,為用戶提供更多的價值
3.界面表現的美化(可點擊保存詞云圖片,根據歌曲id生成評論區詞云、根據歌單id生成歌單詞云)
二、運行截圖
四、補充
設計語言:Python+SQL+HTML+CSS+JS
數據爬取:selenium+request+json+time+random
數據存儲:SQLite
數據清洗:re+replace+time.localtime+time.strftime
后端搭建:PalletsFlask
前端搭建:TwitterBootstrap
圖表展現:ApacheECharts
詞云制作:pyplot+jieba+wordcloud+Image+numpy
(1)selenium主要用webdriver來模仿認為點擊爬取頁面數據,request負責偽裝headers獲取頁面,json負責將獲取到的文本數據轉換為字典數據。time和random負責隨機訪問頻率。
(2)re是通過正則表達式提取一定規則的文本內容。replace主要取出部分不要的字符。time模塊負責轉換json時間
(3)Flask通過編寫app路由處理請求響應,然后以render_template渲染視圖效果。
(4)jieba負責提供分詞、識詞過濾,Image負責背景圖的圖像處理,numpy負責矩陣運算,中文顯示需要的空間,wordcloud負責形成有遮罩效果的圖形,pyplot是負責繪出最終圖形。
項目目標:
1. 實現通過搜索關鍵詞,對相關歌曲的主要信息進行展示
2. 對搜索出的信息進行歌單、歌詞、評論、聽眾地域分布、活躍時間段等幾個方面的數據進行可視化分析。
Python3、urllib庫、Flask框架、ECharts.js、WordCloud庫、SQLite3數據庫
1.爬取歌單預覽頁,所有歌單數據,35單*38頁,(歌單詳情url)
2.爬取歌單詳情頁(歌單標題、歌單作者、作者url、歌單創建日期、歌單收藏量、歌單分享量、歌單評論數、歌單標簽、歌單介紹、歌單歌曲數量)
3.爬取歌單內音樂(歌曲id、標題、時長、歌手、專輯、歌曲url)
4.爬取歌曲詳情(歌曲id、歌曲標題、歌手、專輯、歌詞、評論數、評論內容)
5.爬取歌曲歌單評論內容(歌單歌曲辨識id、評論者id、評論者名、評論內容、評論時間、評論點贊量、評論者url-地區累計聽歌量)
1.數據庫可視化:用戶搜索關鍵詞,完成相應內容可視化的展現。
1.數據呈現的多樣化:多種圖表形式。(用戶活躍時間分布、用戶地域分布、歌單標簽排名、歌曲情緒、評論區詞云、歌單歌曲詞云、)
2.數據維度的設計:能夠從不同維度的數據分析,為用戶提供更多的價值
3.界面表現的美化(可點擊保存詞云圖片,根據歌曲id生成評論區詞云、根據歌單id生成歌單詞云)