根據歌單ID爬取歌詞并生成詞云圖片

可以根據網易云音樂任何歌單的ID,抓取歌單中所有歌曲的信息以及歌詞,并根據歌詞中的詞頻生成詞云圖片。項目中還將歌曲信息及歌詞保存在本地數據庫,詳細信息見代碼github地址 lyricWordCloud.

詞云圖

QQ20180404-182638.png
1.根據歌單ID 獲取歌單中歌曲列表信息
def get163SongList(song_url,headers):
            res = requests.request('GET',song_url,headers=headers)
            song_list = res.json()['result']['tracks']
            return song_list
2.獲取每首歌歌詞
def getSongLyric(headers,lyric_url):
    res = requests.request('GET',lyric_url,headers=headers)
    # print(res.json())
    if 'lrc' in res.json():
        lyric = res.json()['lrc']['lyric']
        lyric_without_time = re.sub(r'[\d:.[\]]','',lyric)
        return lyric_without_time
    else:
        return ''
3.根據詞頻 生成詞云
    print('根據詞頻,開始生成詞云!')
    f1 = f.replace('作詞','')
    f2 = f1.replace('作曲','')
    cut_text = "   ".join(jieba.cut(f2,cut_all=False, HMM=True))
    # print(cut_text)
    # color_mask = plt.imread("dy.png")
    # color_mask = np.array(Image.open(os.path.join(os.path.dirname(__file__), "aa.jpg")))
    wc = WordCloud(
        font_path="aaa.ttf",
        # mask=color_mask,
        max_words=100,
        width=2000,
        height=1200,
        margin=2,
    )

    wordcloud = wc.generate(cut_text)
    wordcloud.to_file(os.path.join(os.path.dirname(__file__), "h11.jpg"))
    print('打開詞云圖片')
    plt.imshow(wordcloud)
    plt.axis("off")
    plt.show()

所用到的模塊

from bs4 import BeautifulSoup
import sqlite3
import sys
import re
import os
from wordcloud import WordCloud
import matplotlib.pyplot as plt
import jieba
from PIL import Image
import numpy as np

效果如下

image

github地址 lyricWordCloud.

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,351評論 25 708
  • 茅侃侃1983年出生于北京市。其從小學五年級開始玩電腦,初中肄業(yè),14歲開始在《大眾軟件》等雜志發(fā)表數篇文章,并自...
    珍珠港007閱讀 236評論 0 0
  • 強大的convert命令---介紹他的主要原因也是應為編程語言在linux下都可以調用使用 convent命令可以...
    jack_jt_z閱讀 5,103評論 2 8
  • 親愛的文悅同學,感恩你陪伴我的第38個春天到來,感恩你一路不離不棄、對我的包容、信任、支持、無條件的付出!?...
    陳文悅閱讀 1,307評論 7 9
  • 今天晚上據說就是一年一度的“群魔亂舞”萬圣節(jié)前夜了,在整個歐洲,人們都把萬圣夜看作盡情玩鬧、講鬼故事和互相嚇唬的好...
    美時購閱讀 533評論 0 0

友情鏈接更多精彩內容