Python的網(wǎng)易云音樂數(shù)據(jù)分析系統(tǒng) 爬蟲 echarts可視化 Flask框架 音樂推薦系統(tǒng)
一记某、技術(shù)說(shuō)明
網(wǎng)易云音樂數(shù)據(jù)(歌單司训、用戶、歌詞液南、評(píng)論)Python爬取Flask框架搭建ECharts壳猜、WordCloud可視化項(xiàng)目。系統(tǒng)分為:數(shù)據(jù)采集模塊滑凉、數(shù)據(jù)分析處理模塊统扳、數(shù)據(jù)存儲(chǔ)模塊、以及數(shù)據(jù)可視化呈現(xiàn)模塊畅姊。
項(xiàng)目目標(biāo):
1. 實(shí)現(xiàn)通過(guò)搜索關(guān)鍵詞咒钟,對(duì)相關(guān)歌曲的主要信息進(jìn)行展示
2. 對(duì)搜索出的信息進(jìn)行歌單、歌詞若未、評(píng)論盯腌、聽眾地域分布、活躍時(shí)間段等幾個(gè)方面的數(shù)據(jù)進(jìn)行可視化分析陨瘩。
Python3、urllib庫(kù)级乍、Flask框架舌劳、ECharts.js、WordCloud庫(kù)玫荣、SQLite3數(shù)據(jù)庫(kù)
1.爬取歌單預(yù)覽頁(yè)甚淡,所有歌單數(shù)據(jù),35單*38頁(yè)捅厂,(歌單詳情url)
2.爬取歌單詳情頁(yè)(歌單標(biāo)題贯卦、歌單作者资柔、作者url、歌單創(chuàng)建日期撵割、歌單收藏量贿堰、歌單分享量、歌單評(píng)論數(shù)啡彬、歌單標(biāo)簽羹与、歌單介紹、歌單歌曲數(shù)量)
3.爬取歌單內(nèi)音樂(歌曲id庶灿、標(biāo)題纵搁、時(shí)長(zhǎng)、歌手往踢、專輯腾誉、歌曲url)
4.爬取歌曲詳情(歌曲id、歌曲標(biāo)題峻呕、歌手利职、專輯、歌詞山上、評(píng)論數(shù)眼耀、評(píng)論內(nèi)容)
5.爬取歌曲歌單評(píng)論內(nèi)容(歌單歌曲辨識(shí)id、評(píng)論者id佩憾、評(píng)論者名哮伟、評(píng)論內(nèi)容、評(píng)論時(shí)間妄帘、評(píng)論點(diǎn)贊量楞黄、評(píng)論者url-地區(qū)累計(jì)聽歌量)
1.數(shù)據(jù)庫(kù)可視化:用戶搜索關(guān)鍵詞,完成相應(yīng)內(nèi)容可視化的展現(xiàn)抡驼。
1.數(shù)據(jù)呈現(xiàn)的多樣化:多種圖表形式鬼廓。(用戶活躍時(shí)間分布、用戶地域分布致盟、歌單標(biāo)簽排名碎税、歌曲情緒馏锡、評(píng)論區(qū)詞云雷蹂、歌單歌曲詞云、)
2.數(shù)據(jù)維度的設(shè)計(jì):能夠從不同維度的數(shù)據(jù)分析杯道,為用戶提供更多的價(jià)值
3.界面表現(xiàn)的美化(可點(diǎn)擊保存詞云圖片匪煌,根據(jù)歌曲id生成評(píng)論區(qū)詞云、根據(jù)歌單id生成歌單詞云)
二、運(yùn)行截圖
四萎庭、補(bǔ)充
設(shè)計(jì)語(yǔ)言:Python+SQL+HTML+CSS+JS
數(shù)據(jù)爬人健:selenium+request+json+time+random
數(shù)據(jù)存儲(chǔ):SQLite
數(shù)據(jù)清洗:re+replace+time.localtime+time.strftime
后端搭建:PalletsFlask
前端搭建:TwitterBootstrap
圖表展現(xiàn):ApacheECharts
詞云制作:pyplot+jieba+wordcloud+Image+numpy
(1)selenium主要用webdriver來(lái)模仿認(rèn)為點(diǎn)擊爬取頁(yè)面數(shù)據(jù),request負(fù)責(zé)偽裝headers獲取頁(yè)面驳规,json負(fù)責(zé)將獲取到的文本數(shù)據(jù)轉(zhuǎn)換為字典數(shù)據(jù)肴敛。time和random負(fù)責(zé)隨機(jī)訪問(wèn)頻率。
(2)re是通過(guò)正則表達(dá)式提取一定規(guī)則的文本內(nèi)容达舒。replace主要取出部分不要的字符值朋。time模塊負(fù)責(zé)轉(zhuǎn)換json時(shí)間
(3)Flask通過(guò)編寫app路由處理請(qǐng)求響應(yīng),然后以render_template渲染視圖效果巩搏。
(4)jieba負(fù)責(zé)提供分詞昨登、識(shí)詞過(guò)濾,Image負(fù)責(zé)背景圖的圖像處理贯底,numpy負(fù)責(zé)矩陣運(yùn)算丰辣,中文顯示需要的空間,wordcloud負(fù)責(zé)形成有遮罩效果的圖形禽捆,pyplot是負(fù)責(zé)繪出最終圖形笙什。