批量添加QQ音乐歌单
2024-1-19
| 2024-1-26
0  |  阅读时长 0 分钟
type
status
date
summary
tags
category
icon

背景

经常刷到一些好听的音乐视频,里面包含挺多歌曲,虽然每一首歌在QQ音乐都有,但是往往无一个对应的QQ音乐的歌单,日常工作中,使用QQ居多,于是乎就想把视频里面的歌曲批量导入到歌单中。

想法一(不可行)

通过网页版QQ音乐的接口API,动态添加歌曲到对应的歌单中;因为添加歌单的接口会对请求参数做一个加密处理,还不是简单的md5这类的加密,要想了解具体逻辑,还得看被压缩过的源码,里面的难度还是挺大的,故放弃这种方式;

想法二(推荐)

竟然通过API调用不可行,那就只能模拟页面操作,和 E2E 测试差不多的原理。基于puppeteer写一些用例,然后动态添加歌曲到具体的歌单中。
当然还需要处理:
  1. 登录信息注入;
  1. 搜索歌曲 ⇒ 进入歌曲详情页
  1. 编写用例 ⇒ 收藏歌曲

实现

Cookie获取

先登录网页版本的QQ音乐 https://y.qq.com/,
打开chrome的控制台,从接口中复制cookie信息,或者从 application / storage / cookies 复制cookie;
以从 application / storage / cookies 中复制例子,复制表格的内容到 console 中,然后格式化一下:
简化一下cookie内容,可以使用 copy 复制到剪切板,然后粘贴到一个js文件中:
 

通过歌名搜索歌曲

通过歌名搜索歌曲可以通过QQ音乐的API实现,复制如下方法即可:
默认获取搜索结果中的第一首歌,如果知道歌曲的歌手,可以通过歌手筛选一下;
 

收藏歌曲

通过歌名搜索歌曲后,就可以直接使用 puppeteer 打开歌曲的详情页了,然后编写一些用例收藏歌曲到具体的歌单了。
完整版本代码:
将上述脚本保存到本地,先按照puppeteer就可以执行js文件,批量新增歌曲到某一个歌单了
 
执行的效果示例为:
 
实用教程
  • 教程
  • 使用Cloudflare实现域名重定向关于判断力
    目录