【一、项目目标】
通过教你使用Python抓取QQ音乐数据(一)我们实现了获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名、专辑名、播放链接。
通过教你使用Python抓取QQ音乐数据(二)我们实现了获取 QQ 音乐指定歌曲的歌词和指定歌曲首页热评。
此次我们在项目(二)的基础上获取更多评论并生成词云图,形成手把手教你使用Python抓取QQ音乐数据(第三弹)。
【二、需要的库】
主要涉及的库有:requests、json、wordcloud、jieba
如需更换词云图背景图片还需要numpy库和PIL库(pipinstall pillow)
【三、项目实现】
1、首先回顾一下,下面是项目(二)获取指定歌曲首页热评的代码;
def get_comment(i):
url_3 = 'https://c.y.qq.com/base/fcgi-bin/fcg_global_comment_h5.fcg'
headers = {
'user-agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36',
# 标记了请求从什么设备,什么浏览器上发出
}
params = {'g_tk_new_20200303': '5381', 'g_tk': '5381', 'loginUin': '0', 'hostUin': '0', 'format': 'json', 'inCharset': 'utf8', 'outCharset': 'GB2312', 'notice': '0', 'platform': 'yqq.json', 'needNewCode': '0', 'cid': '205360772', 'reqtype': '2', 'biztype': '1', 'topid': id, 'cmd': '8', 'needmusiccrit': '0', 'pagenum': '0', 'pagesize': '25', 'lasthotcommentid': '', 'domain': 'qq.com', 'ct': '24', 'cv': '10101010'}
res_music = requests.get(url_3,headers=headers,params=params)
# 发起请求
js_2 = res_music.json()
comments = js_2['hot_comment']['commentlist']
f2 = open(i+'评论.txt','a',encod