前言
嗨喽!大家好,这里是魔王。
音乐,无论什么时候都有无数人欣赏,好的歌曲还能共情!今天我们就来爬一爬音乐,使用歌词来制作一张有趣的词云图叭~
【介绍】
- python爬虫爬取某音乐歌词,将内容保存
- 并制作出词云图
【模块】
- requests 发送数据请求 (安装方法 >>>pip install requests)
- parsel 数据解析模块 (安装方法 >>>pip install parsel)
- jieba 中文分词 ( 安装方法 >>>pip install jieba)
- imageio 图片处理模块 ( 安装方法 >>>pip install imageio))
- wordcloud 词云图制作模块 (安装方法 >>>pip install wordcloud)
方法 : xpath爬取方法
【介绍内容】
需要的数据都是什么
在哪里,从哪里找
【代码实现步骤】
- 获取网页地址 (目标地址)
- 发送请求
- 数据解析
- 保存数据
- 制作词云图
【导入模块】
import requests
import parsel
import jieba
import imageio
import wordcloud
目标地址
url = ‘http://www.kuwo.cn/play_detail/199390992’
发送请求
html_data = requests.get(url=url).text
3.数据解及保存数据
sel = parsel.Selector(html_data)
name = sel.xpath('//*[@class="song_name flex_c"]/span/text()').get().strip()
lyric = sel.xpath('//*[@id="lyric"]/div/p/text()').getall()
制作词云图
f = open(name + '.txt', mode='r', encoding='utf-8')
txt = f.read()
txt_list = jieba.lcut(txt)
print('合并前',txt_list)
txt_str = ' '.join(txt_list)
img = imageio.imread('五星.png')
word = wordcloud.WordCloud(
width=1000,
height=1000,
background_color='gray',
font_path='msyh',
mask=img,
stopwords=set([i.strip() for i in open('cn-stopwords.txt', mode='r', encoding='utf-8').readlines()])
)
word.generate(txt_str)
word.to_file(name + '.png')
print(name+'词云图','保存成功')
好了,我的这篇文章写到这里就结束啦!
希望你在python这条路上依心而行,别回头,别四顾。一如既往不改初见的模样,未来的路很长,不管怎样,一定要相信自己一直走下去。
有更多建议或问题可以评论区或私信我哦!一起加油努力叭(? ?_?)?
|