基于Python的網(wǎng)易云音樂(lè)數(shù)據(jù)采集與分析_第1頁(yè)
基于Python的網(wǎng)易云音樂(lè)數(shù)據(jù)采集與分析_第2頁(yè)
基于Python的網(wǎng)易云音樂(lè)數(shù)據(jù)采集與分析_第3頁(yè)
基于Python的網(wǎng)易云音樂(lè)數(shù)據(jù)采集與分析_第4頁(yè)
基于Python的網(wǎng)易云音樂(lè)數(shù)據(jù)采集與分析_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

目錄

1引言1

1.1項(xiàng)目背景1

1.2開(kāi)發(fā)環(huán)境與工具1

1.2.1Python簡(jiǎn)介1

1.2.2Pycharm簡(jiǎn)介2

1.2.3Jupyternotebook簡(jiǎn)介3

2需求分析3

2.1可行性需求分析3

2.2采集目標(biāo)功能分析4

2.3關(guān)鍵技術(shù)分析5

2.3.1網(wǎng)絡(luò)爬蟲(chóng)技術(shù)5

2.3.2文件存取技術(shù)6

2.3.3可視化技術(shù)6

3數(shù)據(jù)采集7

3.1采集頁(yè)面分析7

3.2字段分析8

3.3編程實(shí)現(xiàn)9

4數(shù)據(jù)清洗與處理16

4.1數(shù)據(jù)清洗16

4.2數(shù)據(jù)儲(chǔ)存17

4.3編程實(shí)現(xiàn)17

5數(shù)據(jù)統(tǒng)計(jì)與分析18

5.1數(shù)據(jù)準(zhǔn)備18

5.2數(shù)據(jù)展示19

5.2.1依據(jù)歌手進(jìn)行統(tǒng)計(jì)19

5.2.2依據(jù)歌曲評(píng)分進(jìn)行統(tǒng)計(jì)20

5.2.3根據(jù)歌手上榜單曲數(shù)進(jìn)行統(tǒng)計(jì)和分析21

I

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

5.3綜述22

6小結(jié)22

參考資料1

II

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

基于Python的網(wǎng)易云音樂(lè)數(shù)據(jù)采集與分析

1引言

隨著互聯(lián)網(wǎng)和數(shù)字化技術(shù)的快速發(fā)展,現(xiàn)在可以方便地在音樂(lè)網(wǎng)站或應(yīng)用

中找到各種類(lèi)型的音樂(lè),而音樂(lè)排行榜通常是反映最新、最受歡迎的音樂(lè)作品

的較好的方式之一。

音樂(lè)作為文化藝術(shù)的重要形式之一,也越來(lái)越受到人們的關(guān)注與喜愛(ài)。網(wǎng)

易云音樂(lè)是國(guó)內(nèi)最大的在線音樂(lè)平臺(tái)之一,擁有龐大的音樂(lè)庫(kù)和活躍的用戶(hù)群

體。通過(guò)對(duì)網(wǎng)易云音樂(lè)的數(shù)據(jù)采集和分析,可以深入了解用戶(hù)的音樂(lè)口味和偏

好,為音樂(lè)制作、推廣和推薦提供參考和依據(jù)。

因此,爬取音樂(lè)排行榜數(shù)據(jù)成為了一項(xiàng)重要的任務(wù),可以幫助人們更好地

了解當(dāng)前的音樂(lè)趨勢(shì)和市場(chǎng)情況。

1.1項(xiàng)目背景

網(wǎng)易云音樂(lè)是一個(gè)國(guó)內(nèi)最大且非常流行的在線音樂(lè)平臺(tái),擁有大量的用戶(hù)

和音樂(lè)資源。本畢業(yè)設(shè)計(jì)旨在利用網(wǎng)易云音樂(lè)的數(shù)據(jù)來(lái)進(jìn)行爬取分析、數(shù)據(jù)處

理和數(shù)據(jù)可視化,從而了解用戶(hù)偏好、歌曲熱度和評(píng)論情感等方面的信息。

本畢業(yè)設(shè)計(jì)將介紹如何通過(guò)Python收集網(wǎng)易云音樂(lè)的數(shù)據(jù),包括歌曲信息、

藝人信息、用戶(hù)信息等,以及如何對(duì)這些數(shù)據(jù)進(jìn)行可視化分析。將用到Python

中的webscraping庫(kù)BeautifulSoup、數(shù)據(jù)處理庫(kù)Pandas和數(shù)據(jù)可視化庫(kù)

Matplotlib,讓大家了解在實(shí)際應(yīng)用中如何運(yùn)用Python進(jìn)行數(shù)據(jù)采集和分析。

需要注意的是,本畢業(yè)設(shè)計(jì)所涉及到的數(shù)據(jù)采集僅作為學(xué)習(xí)和研究用途,

禁止商業(yè)使用和違反網(wǎng)易云音樂(lè)相關(guān)規(guī)定。

1.2開(kāi)發(fā)環(huán)境與工具

1.2.1Python簡(jiǎn)介

Python是一種高級(jí)編程語(yǔ)言,被廣泛應(yīng)用于數(shù)據(jù)科學(xué)、人工智能、網(wǎng)絡(luò)開(kāi)

發(fā)、自動(dòng)化測(cè)試等領(lǐng)域。Python語(yǔ)言簡(jiǎn)潔易懂、易于學(xué)習(xí),同時(shí)擁有一個(gè)廣泛

的第三方庫(kù),可以極大地提高工作效率。

對(duì)于網(wǎng)易云音樂(lè)排行榜的數(shù)據(jù)采集分析與可視化展示,Python可以作為一

個(gè)非常有用的工具。Python庫(kù)BeautifulSoup和requests可以用于網(wǎng)頁(yè)數(shù)據(jù)

1

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

的爬取,Pandas可以進(jìn)行數(shù)據(jù)清洗和整理,Matplotlib和Seaborn可以用于

數(shù)據(jù)可視化以及更豐富的圖表展示。此外,Python還有其他許多強(qiáng)大的庫(kù)和工

具,可以根據(jù)具體需求進(jìn)行選擇和應(yīng)用。

總之,Python的易用性和廣泛的應(yīng)用場(chǎng)景,使它成為數(shù)據(jù)科學(xué)和數(shù)據(jù)分析

領(lǐng)域的首選工具之一。在網(wǎng)易云音樂(lè)排行榜數(shù)據(jù)采集分析與可視化展示中使用

Python,可以極大地提高工作效率和數(shù)據(jù)的分析展示效果。

1.2.2Pycharm簡(jiǎn)介

Pycharm是一款流行的Python集成開(kāi)發(fā)環(huán)境,它提供了許多實(shí)用的工具和

功能,幫助開(kāi)發(fā)者輕松、高效地編寫(xiě)Python代碼。而在Python開(kāi)發(fā)中,爬蟲(chóng)

是一個(gè)十分常見(jiàn)的應(yīng)用場(chǎng)景。

接下來(lái)將會(huì)介紹如何使用Pycharm與Python的相關(guān)庫(kù)進(jìn)行爬取網(wǎng)易云音

樂(lè)排行榜數(shù)據(jù)的工作。這充分體現(xiàn)了Pycharm所提供的強(qiáng)大功能,幫助更加高

效地完成開(kāi)發(fā)任務(wù)。

所使用的爬蟲(chóng)工具包括requests庫(kù)和BeautifulSoup庫(kù),其中requests

庫(kù)可用于獲取網(wǎng)頁(yè)HTML源碼,BeautifulSoup庫(kù)則可以方便地解析HTML源碼。

再之后,使用txt文件存儲(chǔ)技術(shù)存儲(chǔ)爬取的網(wǎng)易云歌曲排行榜數(shù)據(jù)。

而Pycharm非常適合這種開(kāi)發(fā)情景,它不僅提供了方便的Python解釋器環(huán)

境,更是支持Python解釋器的自由切換及擴(kuò)展。下面重點(diǎn)介紹如何使用Pycharm

和Python相關(guān)的庫(kù)來(lái)實(shí)現(xiàn)爬取音樂(lè)排行榜數(shù)據(jù)。

首先要使用Pycharm,需要安裝Pycharm。下載安裝后,打開(kāi)Pycharm并創(chuàng)

建新的Python畢業(yè)設(shè)計(jì)。在畢業(yè)設(shè)計(jì)中,添加需要用到的Python庫(kù),如

requests、BeautifulSoup等庫(kù)。

接下來(lái),使用requests庫(kù)獲取音樂(lè)排行榜頁(yè)面的HTML源碼,然后使用

BeautifulSoup庫(kù)解析獲取到的HTML代碼,從而得到需要的音樂(lè)排行榜數(shù)據(jù)。

在Pycharm中打開(kāi)Python畢業(yè)設(shè)計(jì),使用相關(guān)代碼獲取HTML源碼。

再使用BeautifulSoup庫(kù)解析HTML代碼,獲取需要的網(wǎng)易云音樂(lè)排行榜數(shù)

據(jù)。經(jīng)獲取了音樂(lè)排行榜數(shù)據(jù)后可以使用txt文件將這些排行榜數(shù)據(jù)存儲(chǔ)到數(shù)

據(jù)庫(kù)中。

以上就是使用Pycharm和相關(guān)的Python庫(kù)來(lái)實(shí)現(xiàn)爬取音樂(lè)排行榜數(shù)據(jù)的

完整過(guò)程。通過(guò)Pycharm提供的強(qiáng)大功能,可以很容易地完成這項(xiàng)工作,并且

可以快速分析和處理數(shù)據(jù),從而幫助人們更好地了解音樂(lè)市場(chǎng)的趨勢(shì)和變化。

2

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

綜上所述,Pycharm和Python相關(guān)的庫(kù)可以更加快速、簡(jiǎn)便地實(shí)現(xiàn)爬取音

樂(lè)排行榜數(shù)據(jù)的功能,而爬蟲(chóng)這個(gè)應(yīng)有場(chǎng)景也驗(yàn)證了Pycharm的開(kāi)發(fā)優(yōu)勢(shì)。通

過(guò)這種方式,可以更好地理解和分析音樂(lè)市場(chǎng)的數(shù)據(jù),為決策提供有力支持,

同時(shí)也能夠?yàn)榈娜粘I詈蛯W(xué)術(shù)研究帶來(lái)更多的便利。

1.2.3Jupyternotebook簡(jiǎn)介

JupyterNotebook,原名IPythonNotbook,是IPython的加強(qiáng)網(wǎng)頁(yè)版,一

個(gè)開(kāi)源Web應(yīng)用程序。

使用JupyterNotebook主要針對(duì)網(wǎng)易云音樂(lè)的熱門(mén)歌曲排行榜數(shù)據(jù)進(jìn)行了

采集、分析和展示。主要內(nèi)容包括以下幾個(gè)部分:

數(shù)據(jù)采集:使用Python的requests和BeautifulSoup庫(kù)爬取網(wǎng)易云音樂(lè)

的排行榜頁(yè)面,獲取各個(gè)歌曲的相關(guān)信息,包括歌曲名稱(chēng)、歌手、專(zhuān)輯、封面、

播放鏈接、評(píng)論數(shù)等。

數(shù)據(jù)處理:對(duì)采集到的數(shù)據(jù)進(jìn)行清洗、格式化和計(jì)算,例如刪除重復(fù)的歌

曲,將播放數(shù)和評(píng)論數(shù)數(shù)值化,以便后續(xù)分析。

數(shù)據(jù)分析:通過(guò)matplotlib和seaborn庫(kù)進(jìn)行數(shù)據(jù)可視化,分析網(wǎng)易云音

樂(lè)熱門(mén)歌曲的各種特征,例如歌曲類(lèi)型分布、歌手和專(zhuān)輯的熱門(mén)程度、歌曲播

放量和評(píng)論數(shù)的關(guān)系等。

結(jié)論和展示:在分析的基礎(chǔ)上提出一些結(jié)論和發(fā)現(xiàn),并通過(guò)可視化展示呈

現(xiàn)出來(lái)。

通過(guò)本JupyterNotebook的學(xué)習(xí),讀者可以了解如何使用Python爬蟲(chóng)爬取

網(wǎng)頁(yè)數(shù)據(jù),如何使用matplotlib和seaborn庫(kù)進(jìn)行數(shù)據(jù)可視化,以及如何利用

這些技能進(jìn)行數(shù)據(jù)分析和展示,從而更好地理解網(wǎng)易云音樂(lè)熱門(mén)歌曲的特點(diǎn)和

趨勢(shì)。

2需求分析

2.1可行性需求分析

(1).技術(shù)可行性

網(wǎng)易云音樂(lè)排行榜數(shù)據(jù)的采集相對(duì)容易實(shí)現(xiàn),可以通過(guò)爬蟲(chóng)技術(shù)實(shí)現(xiàn),只

需要獲取到網(wǎng)易云音樂(lè)排行榜的網(wǎng)址,然后模擬瀏覽器進(jìn)行訪問(wèn)并解析出其中

的數(shù)據(jù)即可。但需要注意的是,網(wǎng)易云音樂(lè)官方網(wǎng)站可能會(huì)對(duì)爬蟲(chóng)進(jìn)行反爬蟲(chóng)

處理,需要采取一定的反反爬蟲(chóng)措施。

3

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

采集到的數(shù)據(jù)可以進(jìn)行分析和可視化展示。對(duì)于分析可以結(jié)合機(jī)器學(xué)習(xí)算

法,例如使用分類(lèi)算法對(duì)不同類(lèi)型的音樂(lè)進(jìn)行分類(lèi)。對(duì)于可視化展示,可以使

用各種圖表、儀表盤(pán)等方式展示不同類(lèi)型的音樂(lè)排行榜、用戶(hù)喜好分布等信息,

從而為音樂(lè)愛(ài)好者提供更好的用戶(hù)體驗(yàn)。

以上為此次畢業(yè)設(shè)計(jì)的技術(shù)可行性,也將在后續(xù)的工作中將所有的步驟實(shí)

現(xiàn)到位,保證數(shù)據(jù)的準(zhǔn)確性和安全性。

(2).項(xiàng)目可行性

該畢業(yè)設(shè)計(jì)的可行性較高,采集網(wǎng)易云音樂(lè)排行榜數(shù)據(jù)可以通過(guò)模擬用戶(hù)

登陸、爬蟲(chóng)等方式實(shí)現(xiàn)。其中,模擬用戶(hù)登陸的方式較為安全,可以避免被網(wǎng)

站封禁。數(shù)據(jù)采集后,可以使用數(shù)據(jù)分析和可視化工具進(jìn)行數(shù)據(jù)處理和展示,

例如Python的Pandas和Matplotlib庫(kù)、Tableau等工具。

此外,網(wǎng)易云音樂(lè)排行榜數(shù)據(jù)一直備受關(guān)注,對(duì)于歌曲排行、歌曲趨勢(shì)等

方面的分析和展示也具有一定的市場(chǎng)需求和商業(yè)價(jià)值。

需要注意的是,在該畢業(yè)設(shè)計(jì)中需要遵循相關(guān)法律法規(guī),避免侵犯他人權(quán)

益。

2.2采集目標(biāo)功能分析

本次畢業(yè)設(shè)計(jì)的數(shù)據(jù)集的來(lái)源是網(wǎng)易云音樂(lè)網(wǎng)站,是通過(guò)python爬取網(wǎng)易

云音樂(lè)歌曲的原創(chuàng)榜、新歌榜、熱歌榜、飆升榜、網(wǎng)易云音樂(lè)用戶(hù)評(píng)論數(shù)從而

了解用戶(hù)偏好、歌曲熱度和評(píng)論情感等方面的信息。數(shù)據(jù)清洗后共4333條記錄,

爬取完成后盡可能的檢查數(shù)據(jù)的準(zhǔn)確性,確定爬取出來(lái)的數(shù)據(jù)無(wú)誤并且是屬于

網(wǎng)易云音樂(lè)網(wǎng)站實(shí)時(shí)存在的信息。

為了對(duì)網(wǎng)易云音樂(lè)的排行榜進(jìn)行數(shù)據(jù)采集、分析和可視化展示,可以列出

以下目標(biāo)功能分析:

數(shù)據(jù)采集:通過(guò)網(wǎng)易云音樂(lè)的開(kāi)放API接口,獲取實(shí)時(shí)的音樂(lè)排行榜數(shù)據(jù),

包括歌曲名、歌手名、播放量、收藏?cái)?shù)、評(píng)論數(shù)等信息。同時(shí),也可以從其他

公開(kāi)的數(shù)據(jù)源中獲取相關(guān)的音樂(lè)數(shù)據(jù),例如音樂(lè)的歌詞、專(zhuān)輯封面等信息。

數(shù)據(jù)清洗和預(yù)處理:將采集到的數(shù)據(jù)進(jìn)行清洗和預(yù)處理,包括去重、去除

異常值、格式化數(shù)據(jù)等操作。同時(shí),也可以進(jìn)行一些數(shù)據(jù)挖掘和特征工程,提

取有用的特征,并將數(shù)據(jù)轉(zhuǎn)化為適合分析和可視化的格式

數(shù)據(jù)分析和統(tǒng)計(jì):對(duì)采集到的音樂(lè)排行榜數(shù)據(jù)進(jìn)行分析和統(tǒng)計(jì),包括各個(gè)

榜單的排名變化、歌曲的播放量趨勢(shì)、歌手的熱度排名等。同時(shí),也可以進(jìn)行

4

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

一些數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)算法,例如聚類(lèi)分析、關(guān)聯(lián)規(guī)則挖掘等,來(lái)發(fā)現(xiàn)數(shù)據(jù)

中隱藏的規(guī)律和趨勢(shì)。

可視化展示:將分析和統(tǒng)計(jì)的結(jié)果以圖表、表格、地圖等形式進(jìn)行可視化

展示,使數(shù)據(jù)更加直觀和易于理解。同時(shí),也可以進(jìn)行交互式可視化,例如動(dòng)

態(tài)圖表、可拖拽的過(guò)濾器等,提供更加靈活和個(gè)性化的數(shù)據(jù)展示方式。

實(shí)時(shí)更新和監(jiān)控:對(duì)采集到的音樂(lè)排行榜數(shù)據(jù)進(jìn)行實(shí)時(shí)更新和監(jiān)控,及時(shí)

發(fā)現(xiàn)榜單的變化和趨勢(shì),并及時(shí)調(diào)整分析和展示策略。同時(shí),也可以進(jìn)行一些

異常檢測(cè)和預(yù)警,例如歌曲的異常上升或下降,歌手的突然爆發(fā)等,提前發(fā)現(xiàn)

并及時(shí)處理。

2.3關(guān)鍵技術(shù)分析

2.3.1網(wǎng)絡(luò)爬蟲(chóng)技術(shù)

在日常生活中瀏覽網(wǎng)頁(yè)通常都會(huì)遇到需要緩存在本地的數(shù)據(jù),當(dāng)數(shù)量量比

較小的時(shí)候可以自己采取手動(dòng)下載的方式去獲得想要的數(shù)據(jù),不過(guò)在的大數(shù)據(jù)

領(lǐng)域一般用到的數(shù)據(jù)體量都是幾個(gè)G甚至幾個(gè)T的單位,這個(gè)時(shí)候采取手動(dòng)下

載獲取數(shù)據(jù)無(wú)疑是一個(gè)很愚蠢的方式,所以會(huì)采取網(wǎng)絡(luò)爬蟲(chóng)的手段自動(dòng)化的獲

取數(shù)據(jù)。

網(wǎng)絡(luò)爬蟲(chóng)也被人們叫做網(wǎng)絡(luò)機(jī)器人,顧名思義就是讓人們不用自己動(dòng)手操

作,只需要編寫(xiě)程序或者一些小腳本用來(lái)自動(dòng)的瀏覽龐大的互聯(lián)網(wǎng),并且對(duì)想要

的目標(biāo)網(wǎng)頁(yè)去進(jìn)行精準(zhǔn)的數(shù)據(jù)的采集。當(dāng)下常見(jiàn)的一些網(wǎng)絡(luò)爬蟲(chóng)按照實(shí)現(xiàn)的原

理和技術(shù)結(jié)構(gòu)一般可以分為:通用網(wǎng)絡(luò)爬蟲(chóng)、聚焦網(wǎng)絡(luò)爬蟲(chóng)、增量式網(wǎng)絡(luò)爬蟲(chóng)、

深層網(wǎng)絡(luò)爬蟲(chóng)等一些類(lèi)型。

在大家的印象中常常將普通的網(wǎng)絡(luò)爬蟲(chóng)與黑客混為一談,其實(shí)二者之間有

很大的區(qū)別。黑客屬于違反法律肆意竊取個(gè)人或者組織內(nèi)有價(jià)值的信息以此獲

利,而爬蟲(chóng)僅僅知識(shí)用來(lái)代替重復(fù)無(wú)意義的動(dòng)作,在合法合理的范圍內(nèi)去獲得自

己想要的信息,在一定程度上網(wǎng)絡(luò)爬蟲(chóng)和普通用戶(hù)瀏覽網(wǎng)頁(yè)是沒(méi)有本質(zhì)區(qū)別的,

但是爬蟲(chóng)確實(shí)可以作為一種攻擊的手段。在編寫(xiě)網(wǎng)絡(luò)爬蟲(chóng)的腳本時(shí)沒(méi)有設(shè)置一

定的睡眠緩沖時(shí)間,通過(guò)極高的頻率反復(fù)訪問(wèn)客戶(hù)端網(wǎng)站會(huì)讓服務(wù)器持續(xù)在高

強(qiáng)度環(huán)境下工作,對(duì)服務(wù)器造成一定的壓力,如果一時(shí)間處理不過(guò)來(lái)服務(wù)器往往

會(huì)自動(dòng)關(guān)機(jī),也就是宕機(jī),這也是常見(jiàn)的DDOS攻擊。

由此可見(jiàn),網(wǎng)絡(luò)爬蟲(chóng)技術(shù)在應(yīng)用場(chǎng)景的不同它發(fā)揮的作用也是不同的。在好

的場(chǎng)景下可以幫完成搶購(gòu)、投票、報(bào)名、搶購(gòu)等操作。但是在壞的場(chǎng)景下同樣

5

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

也能一直發(fā)送騷擾信息,給他人帶來(lái)困擾。爬蟲(chóng)技術(shù)是一把雙刃劍,一個(gè)不小心

可能就會(huì)傷害到自己和他人,所以技術(shù)人員要懂法、守法。在法律允許的范疇內(nèi)

去編寫(xiě)自己的腳本程序,不要一不小心半只腳踏進(jìn)犯罪的深淵。

有爬蟲(chóng)技術(shù),那也一定存在反爬取的技術(shù)了。高級(jí)的爬蟲(chóng)都會(huì)涉及到反爬蟲(chóng)

的概念,往往能夠繞過(guò)或者突破人家的防守機(jī)制從而獲取到自己想到要的數(shù)據(jù)

時(shí),就代表爬蟲(chóng)工程師的個(gè)人水平已經(jīng)很不錯(cuò)了。常見(jiàn)的反爬機(jī)制有IP、JS加

密、css反爬、或者Ajax異步、驗(yàn)證碼等等手段。這些手段會(huì)加大爬蟲(chóng)工程師

的工作量,也會(huì)加大網(wǎng)站的開(kāi)發(fā)成本。所以像一般的小網(wǎng)站最多設(shè)置一個(gè)小反爬,

對(duì)于獲取數(shù)據(jù)而言也相對(duì)容易。也不用去考慮成本的問(wèn)題。

2.3.2文件存取技術(shù)

爬取音樂(lè)排行榜和txt文件技術(shù)的聯(lián)系在于數(shù)據(jù)的存儲(chǔ)和處理,爬取音樂(lè)

排行榜需要對(duì)互聯(lián)網(wǎng)上的大量數(shù)據(jù)進(jìn)行抓取,收集后其數(shù)據(jù)可以選擇存儲(chǔ)在txt

文件中。

txt文件作為一種文本文件,是最為簡(jiǎn)單的文件格式之一,易于存儲(chǔ)、傳輸

和處理。一旦抓取的音樂(lè)排行榜數(shù)據(jù)保存在txt文件中,數(shù)據(jù)處理變得更容易。

txt文件技術(shù)不僅僅是一種簡(jiǎn)單地存儲(chǔ)和傳輸數(shù)據(jù)的方式,同時(shí)也可以作為一個(gè)

簡(jiǎn)單的數(shù)據(jù)處理工具。通過(guò)使用Python等編程語(yǔ)言,可以使用txt文件技術(shù)讀

取并處理排行榜數(shù)據(jù),應(yīng)用有關(guān)算法和模型,生成合適的數(shù)據(jù)圖表或統(tǒng)計(jì)數(shù)據(jù)。

這些數(shù)據(jù)可以用來(lái)分析音樂(lè)排行榜的趨勢(shì)和規(guī)律,幫助開(kāi)發(fā)者了解音樂(lè)行業(yè)并

進(jìn)行趨勢(shì)分析,或是廣告行業(yè)進(jìn)行市場(chǎng)營(yíng)銷(xiāo)。

txt文件技術(shù)對(duì)于數(shù)據(jù)共享和傳輸也非常簡(jiǎn)便。透過(guò)互聯(lián)網(wǎng)或是內(nèi)部網(wǎng)絡(luò)資

源,可以通過(guò)txt文件共享和傳輸數(shù)據(jù)。

總而言之,txt文件技術(shù)是一種應(yīng)用廣泛的文本文件格式,可以用于數(shù)據(jù)的

存儲(chǔ)、傳輸和處理。對(duì)于音樂(lè)排行榜數(shù)據(jù)的抓取和處理,txt文件技術(shù)與爬蟲(chóng)技

術(shù)配合使用,可實(shí)現(xiàn)便捷的數(shù)據(jù)處理和共享。通過(guò)txt文件技術(shù),可以在大量

數(shù)據(jù)中快速找到需要的音樂(lè)排行榜數(shù)據(jù),并方便地進(jìn)行數(shù)據(jù)處理和分析。

2.3.3可視化技術(shù)

爬取下來(lái)的數(shù)據(jù)通過(guò)預(yù)處理、保存為csv文件格式。該數(shù)據(jù)集能否一眼就

得到想要的結(jié)論呢?答案是否定的!

需要一種技術(shù),根據(jù)獲取到的龐大數(shù)據(jù)將其通過(guò)統(tǒng)計(jì)學(xué)圖形的方式展現(xiàn)在

眼前,讓對(duì)其結(jié)果一目了然。這個(gè)就是數(shù)據(jù)可視化技術(shù)。

6

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

顯然獲取到的數(shù)據(jù)是一串串冗長(zhǎng)的字符串,上面寫(xiě)的一條條信息或許能夠

看懂讀懂,但是當(dāng)它成千上萬(wàn)的時(shí)候短時(shí)間內(nèi)很難看出端倪和破綻,需要進(jìn)行深

入的了解和分析。對(duì)這一坨枯燥而乏味的數(shù)據(jù)集進(jìn)行處理完畢后,就要導(dǎo)入需要

的第三方庫(kù)將數(shù)據(jù)合理的進(jìn)行判斷,決定使用什么樣的幾何圖形才能最好、并且

直觀的表達(dá)出數(shù)據(jù)集的信息。

多年來(lái)可視化的技術(shù)也逐漸發(fā)展成為了一下三類(lèi):科學(xué)可視化、信息可視

化、可視化分析。而這里用到的就是信息可視化,信息可視化的處理對(duì)象是非結(jié)

構(gòu)化、非幾何的抽象數(shù)據(jù),如金融交易、社交網(wǎng)絡(luò)和文本數(shù)據(jù),其核心挑戰(zhàn)是針

對(duì)大尺度高維復(fù)雜數(shù)據(jù)如何減少視覺(jué)混淆對(duì)信息的干擾。

本次畢業(yè)使用python第三方庫(kù)matpoltlab去進(jìn)行可視化,matplotlab中

包含了許多庫(kù),分別對(duì)應(yīng)餅圖、條形圖、直方圖、折線圖等圖形,可以很好的將

數(shù)據(jù)高效率的表現(xiàn)出來(lái),可視化圖形呈現(xiàn)出來(lái)后對(duì)于結(jié)果自然一目了然,然后得

出結(jié)論。

3數(shù)據(jù)采集

3.1采集頁(yè)面分析

首先通過(guò)谷歌瀏覽器搜索網(wǎng)易云音樂(lè)的官方網(wǎng)頁(yè),然后找到排行榜目錄集

頁(yè)面觀察圖3-1,其中URL為:。

圖3-1數(shù)據(jù)網(wǎng)址頁(yè)面圖

按F12調(diào)出開(kāi)發(fā)者工具,刷新頁(yè)面,如圖3-2。

7

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖3-2開(kāi)發(fā)者工具圖

利用全局搜索工具定位所需數(shù)據(jù)位置,點(diǎn)擊開(kāi)發(fā)者工具上面的Headers字

段,分析這是個(gè)什么請(qǐng)求,發(fā)現(xiàn)這個(gè)是一個(gè)POST請(qǐng)求,那需要尋找它的from

data往下翻找,在最后找到了表單數(shù)據(jù)FormData,如圖3-3。

圖3-3FormData圖

3.2字段分析

首先來(lái)到網(wǎng)頁(yè)面打開(kāi)網(wǎng)頁(yè)的選擇欄,然后將選擇欄目定位到歌曲信息集中

的位置也就是定位到所需要的數(shù)據(jù)所在的位置,然后跳出開(kāi)發(fā)者工具頁(yè)面刷新

一下頁(yè)面再進(jìn)入,點(diǎn)擊開(kāi)發(fā)者工具界面上方的數(shù)據(jù)預(yù)覽Preview按鈕。

可以看到需要的所有的數(shù)據(jù)信息都是呈現(xiàn)json格式傳遞在這個(gè)網(wǎng)頁(yè)面,還

得知他是get方法響應(yīng)的網(wǎng)站,所以可以根據(jù)以上特點(diǎn)通過(guò)Requests方法中的

get方法來(lái)獲得響應(yīng)的數(shù)據(jù),最原始的數(shù)據(jù)格式是呈現(xiàn)json格式的所以需要重

8

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

復(fù)獲取響應(yīng)數(shù)據(jù)然后依次寫(xiě)入到csv格式的文件當(dāng)中,頁(yè)面數(shù)據(jù)分析如圖3-4。

圖3-4分析數(shù)據(jù)類(lèi)型頁(yè)面圖

3.3編程實(shí)現(xiàn)

首先,導(dǎo)入所需庫(kù)如圖3-5。

圖3-5導(dǎo)入所需庫(kù)頁(yè)面圖

設(shè)置網(wǎng)址,選擇對(duì)應(yīng)的榜單,進(jìn)入榜單后設(shè)置定位標(biāo)簽,定位到iframe,

然后獲取頁(yè)面,使用Xpath,之后使用字典存放起來(lái)并輸出,如圖3-6。

9

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖3-6請(qǐng)求頭內(nèi)容頁(yè)面圖

代碼實(shí)現(xiàn)如下:

#每個(gè)歌單的歌曲爬取

importtime

importpandasaspd

fromlxmlimportetree

#fromentryimportdriver

fromseleniumimportwebdriver

importjson

driver=webdriver.Chrome()

frommon.byimportBy

base_url="/#/discover/toplist?id="

bang_typical={'飆升榜':19723756,'新歌榜':3779629,'原創(chuàng)榜':2884035,'熱歌榜':3778678}

#選擇榜單

foriinrange(4):

bang=(list(bang_typical.keys())[i])

print(bang_typical[bang])

#構(gòu)造榜單對(duì)應(yīng)的鏈接

url=base_url+str(bang_typical[bang])

print('開(kāi)始分析:-%s'%(bang))

print(url)

#進(jìn)入榜單

10

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

driver.get(url)

time.sleep(3)

#iframe標(biāo)簽定位,必要的,否則無(wú)法定位其他標(biāo)簽

_iframe=driver.find_element(By.XPATH,"http://iframe[@id='g_iframe']")#找到iframe標(biāo)簽

driver.switch_to.frame(_iframe)

time.sleep(1)

page_text=driver.execute_script("returndocument.documentElement.outerHTML")

#獲取頁(yè)面

html=etree.HTML(page_text)

trs=html.xpath('//tbody/tr')

rank_list=[]

title_list=[]

span_list=[]

singer_list=[]

fortrintrs:

rank=tr.xpath(".//span[@class='num']/text()")[0]#注意xpath獲取到的是列表,

需提取其元素

title=tr.xpath(".//b/@title")[0]

span=tr.xpath(".//td[@class='s-fc3']/span[@class='u-dur']/text()")[0]

singer=tr.xpath(".//div[@class='text']/span/@title")[0]

rank_list.append(rank)

title_list.append(title)

span_list.append(span)

singer_list.append(singer)

#輸出榜單結(jié)果

df_bang=pd.DataFrame({'排名':rank_list,'歌名':title_list,'時(shí)長(zhǎng)':span_list,'歌手':singer_list})

#表頭

print(df_bang)

df_bang.to_csv("SongList/"+bang+".csv",index=False,encoding='utf-8-sig')

對(duì)網(wǎng)易云進(jìn)行解密評(píng)論,首先導(dǎo)入庫(kù),如圖3-7。

圖3-7開(kāi)發(fā)所需庫(kù)導(dǎo)入圖

設(shè)置網(wǎng)址,并使用header偽裝瀏覽器,并使用代理IP,防止被反爬封禁,

如圖3-8。

11

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖3-8代理IP和偽裝圖

使用for函數(shù)循環(huán),獲取網(wǎng)易云中的四個(gè)榜單中的rid與ThreadIDd參數(shù),

分別用四個(gè)def函數(shù)對(duì)其進(jìn)行解密,如圖3-9。

圖3-9解密四個(gè)榜單圖

解密完成之后,再和之前一樣獲取網(wǎng)頁(yè)即可,具體實(shí)現(xiàn)代碼如下:

#解密爬取網(wǎng)易云評(píng)論分頁(yè)進(jìn)行

importrequests

fromCryptodome.CipherimportAES

frombase64importb64encode

importjson

importpandasaspd

url='/weapi/comment/resource/comments/get?csrf_token='

header={

"user-agent":"Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36

(KHTML,likeGecko)Chrome/Safari/537.36"

}

#代理IP

proxies={

"http":"6:55443",

#"http":"6:55481"

12

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

}

#參數(shù)

forjinrange(4):

#網(wǎng)易云四個(gè)榜單data中的的rid與threadIDd參數(shù)

rid_threadId=[

"A_PL_0_19723756",#飆升榜

"A_PL_0_3779629",#新歌榜

"A_PL_0_2884035",#原創(chuàng)榜

"A_PL_0_3778678"#熱歌榜

]

names=['飆升榜','新歌榜','原創(chuàng)榜','熱歌榜']

data={

"csrf_token":"",

"cursor":"-1",

"offset":"0",

"orderType":"1",

"pageNo":"50",

"pageSize":"1000",

"rid":rid_threadId[j],

"threadId":rid_threadId[j]

}

e='010001'

f=

"00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8

a5aa76d2e417629ec4ee341f56135fccf695280104e0312ecbda92557c93870114af6c9d05c4f7f0c3

685b7a46bee255932575cce10b424d813cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece

0462db0a22b8e7"

g='0CoJUm6Qyw8W8jud'

i="nld9q9R9aGKtrQ68"

defget_encSeckey():

return

"8a1d863fbfcf2395fd9de5347cd0a5c7d7fade1cf2ea8b1e59efb58334f9cd75cea80de67f1ca6e8f5e

c06191764d33ba1d76933f49d00174e5aea6de742f28d2e44353b9ab346eb096d778714954ca2922

cfd04953ad80c9f9a1868b6c8412e22f530be1b0fe33b6334cb87a90a6e38ed697f7518abf71f3ef060

d85a8f88ed"

defget_params(data):

first=enc_params(data,g)

second=enc_params(first,i)

returnsecond

13

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

defto_16(data):

pad=16-len(data)%16

data+=chr(pad)*pad

returndata

defenc_params(data,key):

iv="0102030405060708"

data=to_16(data)

aes=AES.new(key=key.encode("utf-8"),IV=iv.encode("utf-8"),

mode=AES.MODE_CBC)

bs=aes.encrypt(data.encode("utf-8"))

returnstr(b64encode(bs),'utf-8')

"""

functiona(a){

vard,e,b=

"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",c="";

for(d=0;a>d;d+=1)

e=Math.random()*b.length,

e=Math.floor(e),

c+=b.charAt(e);

returnc

}

functionb(a,b){

varc=CryptoJS.enc.Utf8.parse(b)

,d=CryptoJS.enc.Utf8.parse("0102030405060708")

,e=CryptoJS.enc.Utf8.parse(a)

,f=CryptoJS.AES.encrypt(e,c,{

iv:d,

mode:CryptoJS.mode.CBC

});

returnf.toString()

}

functionc(a,b,c){

vard,e;

returnsetMaxDigits(131),

d=newRSAKeyPair(b,"",c),

e=encryptedString(d,a)

}

functiond(d,e,f,g){d:datae:'010001

varh={}

14

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

,i=a(16);

returnh.encText=b(d,g),

h.encText=b(h.encText,i),

h.encSecKey=c(i,e,f),

h

}

"""

reqs=requests.post(url,proxies=proxies,headers=header,data={

"params":get_params(json.dumps(data)),

"encSecKey":get_encSeckey()

})

#print(reqs)

reqss=json.loads(reqs.text)["data"]["comments"]

print(json.loads(reqs.text))

print("**************************************************************")

#print(reqs)

#print(reqss)

#print(type(reqss))

list_id=[]

list_name=[]

list_reply=[]

list_time=[]

list_review=[]

avatars_url_list=[]

x=0

foriinrange(1000):

ifstr(reqss[i]["user"]["nickname"])=='None'orstr(reqss[i]["richContent"])=='None':

x+=1

continue

#print(str(reqss[i]["user"]["nickname"]))

ifstr(reqss[i]["user"]["nickname"])[0]=="-":

txt=str(reqss[i]["user"]["nickname"]).replace('-','')

#print(txt)

list_name.append(txt)

else:

list_name.append(str(reqss[i]["user"]["nickname"]))

list_reply.append(str(reqss[i]["likedCount"]))

list_time.append(reqss[i]["timeStr"])

list_review.append(str(reqss[i]["richContent"]))

avatars_url_list.append(reqss[i]["user"]["avatarUrl"])

list_id.append(i-x)

df_dang=pd.DataFrame(

15

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

{'id':list_id,'用戶(hù)名':list_name,'回復(fù)數(shù)':list_reply,'時(shí)間':list_time,'評(píng)論內(nèi)容':

list_review,

'頭像地址':avatars_url_list})

df_dang.to_csv("UserComments/"+names[j]+".csv",index=False,encoding='utf-8-sig')

4數(shù)據(jù)清洗與處理

獲得龐大的數(shù)據(jù)集之后需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,也就是所謂的清洗和檢查,

確定爬取過(guò)來(lái)的數(shù)據(jù)是否存在無(wú)效值和確實(shí)值,要保證數(shù)據(jù)的一致性,這個(gè)對(duì)于

信息質(zhì)量的評(píng)估是一項(xiàng)很重要的任務(wù)。不僅如此,需要將數(shù)據(jù)進(jìn)行有理化和有序

化,這樣子能夠在數(shù)據(jù)調(diào)用共享過(guò)程中方便很多開(kāi)發(fā)人員對(duì)數(shù)據(jù)信息的使用。

本次畢業(yè)設(shè)計(jì)中需要將爬下來(lái)的數(shù)據(jù)和網(wǎng)頁(yè)原數(shù)據(jù)進(jìn)行比對(duì),并且檢查是

否出現(xiàn)空值、錯(cuò)值,還有數(shù)據(jù)的位置是否正確。根據(jù)不同的需求要對(duì)數(shù)據(jù)進(jìn)行不

同的處理。

4.1數(shù)據(jù)清洗

打開(kāi)JupyterNotebook軟件,從存儲(chǔ)的txt文件中讀取數(shù)據(jù),并準(zhǔn)備進(jìn)行

數(shù)據(jù)清理,網(wǎng)易云排行榜的數(shù)據(jù)讀取如圖4-1所示。

圖4-1數(shù)據(jù)清洗準(zhǔn)備頁(yè)面圖

經(jīng)過(guò)比對(duì)和檢查,發(fā)現(xiàn)數(shù)據(jù)不存在缺失,錯(cuò)位還有空值,那么根據(jù)需求將有

效數(shù)據(jù)統(tǒng)一規(guī)劃去掉不要的行列數(shù)據(jù),防止數(shù)據(jù)冗余。因此只需保留需要的數(shù)據(jù),

16

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

然后整理為原網(wǎng)頁(yè)格式存入data.csv文件中,留存后續(xù)作為統(tǒng)計(jì)分析、可視化

使用,數(shù)據(jù)清洗完成界面如圖4-2。

圖4-2數(shù)據(jù)清洗完成界面圖

4.2數(shù)據(jù)儲(chǔ)存

數(shù)據(jù)儲(chǔ)存得方法有很多種,常見(jiàn)得可以直接用記事本格式儲(chǔ)存(txt),或者

直接用其他文件的形式儲(chǔ)存csv、excel、json等,但是以上方法保存的數(shù)據(jù)體

量普遍都比較小。如果需要儲(chǔ)存較大的數(shù)據(jù)信息就需要用到的數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)也

分為關(guān)系型和非關(guān)系型數(shù)據(jù)庫(kù)。關(guān)系型數(shù)據(jù)庫(kù)比較典型的有MySQL和Oracle等,

非關(guān)系型數(shù)據(jù)庫(kù)等以鍵值對(duì)形式儲(chǔ)存數(shù)據(jù)的代表有Mongodb、Redis等。

4.3編程實(shí)現(xiàn)

本次畢業(yè)設(shè)計(jì)使用csv存儲(chǔ)文件數(shù)據(jù),核心實(shí)現(xiàn)代碼如圖5-3所示。

17

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖4-3數(shù)據(jù)存儲(chǔ)為csv頁(yè)面圖

5數(shù)據(jù)統(tǒng)計(jì)與分析

5.1數(shù)據(jù)準(zhǔn)備

導(dǎo)入相關(guān)庫(kù),使用pandas加載源數(shù)據(jù),如圖5-1、5-2。

圖5-1數(shù)據(jù)準(zhǔn)備頁(yè)面圖

18

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖5-2數(shù)據(jù)加載頁(yè)面圖

打開(kāi)本地data.csv文件,再次確認(rèn)數(shù)據(jù)的準(zhǔn)確性,如圖5-3。

圖5-3txt文檔存儲(chǔ)頁(yè)面圖

5.2數(shù)據(jù)展示

5.2.1依據(jù)歌手進(jìn)行統(tǒng)計(jì)

通過(guò)詞云圖對(duì)歌手進(jìn)行統(tǒng)計(jì)的代碼如下,詞云圖如圖5-4。

#1.新歌排行榜歌曲歌手詞云圖

singer_group=data['歌手'].value_counts()

singer_dict=dict(singer_group)

labels=list(singer_dict.keys())

sizes=list(singer_dict.values())

values=list(map(lambdax:int(x),sizes))

v1=list(zip(labels,values))

defwordcloud()->WordCloud:

c=(

19

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

WordCloud()

.add("",v1,word_size_range=[20,80])

.set_global_opts(title_opts=opts.TitleOpts(title="歌手詞云圖"),

toolbox_opts=opts.ToolboxOpts())

)

returnc

wordcloud().render('../網(wǎng)易云音樂(lè)爬取分析與數(shù)據(jù)展示/singer_map.html')

圖5-4歌手歌曲云詞圖

從5-4的歌手詞云圖可以得到的結(jié)論是網(wǎng)易云新歌榜的歌手周杰倫的出現(xiàn)

頻率最高,其次便是祁隆、鄧麗君和王菲這些歌手。通過(guò)詞云圖,可以側(cè)面得

到的結(jié)論是,在網(wǎng)易云新歌榜中周杰倫的上榜歌曲一定是第一位的。

5.2.2依據(jù)歌曲評(píng)分進(jìn)行統(tǒng)計(jì)

通過(guò)餅圖對(duì)評(píng)分進(jìn)行統(tǒng)計(jì)的代碼如下,餅圖展示圖如圖5-5。

#2.歌曲評(píng)分分布餅狀圖

album_group=data['評(píng)分'].value_counts()

group_dict=dict(album_group)

labels=list(group_dict.keys())

sizes=list(group_dict.values())

plt.pie(sizes,labels=labels,startangle=90,autopct='%1.1f%%')

plt.title('評(píng)分分布餅狀圖')

plt.show()

20

湖南商務(wù)職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(jì)

圖5-5歌曲評(píng)分分別餅圖

從圖5-5中可以看出網(wǎng)易云新歌榜的歌曲評(píng)分集中在八分,占比55.4%。其

次就是九分,占比18.5%。所以可以看出網(wǎng)易云的新歌榜歌曲質(zhì)量還是非??捎^

的,聽(tīng)眾的反響也比較好。

5.2.3根據(jù)歌手上榜單曲數(shù)進(jìn)行統(tǒng)計(jì)和分析

通過(guò)柱狀圖對(duì)歌手上榜單曲數(shù)進(jìn)行統(tǒng)計(jì)的代碼如下,柱狀圖展示圖如圖5-6。

#3.前十歌手的上榜歌曲總數(shù)柱狀圖

singer_group=data['歌手'].value_counts()

group_dict=dict(singer_group)

x=list(group_dict.keys())[:10]

y=list(group_dict.values())[:10]

pl

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論