网页抓取qq(PythonQQ音乐数据(第二弹)项目(二)获取指定歌曲首页热评)

优采云 发布时间: 2022-02-18 14:06

  网页抓取qq(PythonQQ音乐数据(第二弹)项目(二)获取指定歌曲首页热评)

  【一、项目目标】

  通过教你如何使用Python抓取QQ音乐数据(第一弹),我们实现了指定歌手单曲排名中指定页数歌曲的歌曲名、专辑名和播放链接。

  通过教大家如何使用Python抓取QQ音乐数据(第二弹),我们实现了获取音乐指定歌曲的歌词和指定歌曲首页的热评。

  本次以项目(二))为基础,获取更多评论并生成词云图,形成分步教程,教大家使用Python抓取QQ音乐数据(第三弹)。

  [二、需要的库]

  涉及的主要库有:requests、json、wordcloud、jieba

  如果要替换词云图片背景图片,还需要numpy库和PIL库(pipinstall枕头)

  【三、项目实现】

  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',encoding='utf-8') #存储到txt中

for i in comments:

comment = i['rootcommentcontent'] + '\n——————————————————————————————————\n'

f2.writelines(comment)

# print(comment)

f2.close()

  2、我们来考虑如何获取下面的评论,下图是项目(二)评论页的parms参数;

  

  图片

  3、网页无法选择评论的页码,如果想看后面的评论,请反复点击“点击加载更多”;我们可以点击查看对parms进行了哪些更改。

  

  图片

  4、这里有个小技巧,点击下图的清除按钮,清除网络接口,然后点击“点击加载更多”,就可以直接在第二页找到数据了。

  

  图片

  

  图片

  5、点击加载更多,会出现如下图。

  

  图片

  

  图片

  6、发现不仅pagenum变了,cmd和pagesize也变了。那个参数有什么问题,那我们看第三页;

  

  图片

  7、只有pagenum变了,我们试试把pagenum改成“0”,其他不变。第一页数据能正常显示吗?

  

  图片

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线