恕我json类用不了,我用了网友的水淼json类,很高兴他开源了,思路最重要!!
https://c.y.qq.com/soso/fcgi-bin/client_search_cp?n=15&w=alone
n=15就是返回数量15,w=alone就是歌名,我以此为例子咯。
以第一个为例子
mid值=001nHOrr49sHM7 找歌曲用
album里的mid值=003ArgKV3mjzwp 调图片用
grp里的id值=109364695找歌曲用
找歌
用到了mid值
ws.stream.qqmusic.qq.com/C100+【001nHOrr49sHM7】+.m4a?fromtag=38
这样也许直观点,你别真把加号,括号不删就用了
找图片
用到了album里的mid值
https://y.gtimg.cn/music/photo_new/T002R300x300M000 +【 003ArgKV3mjzwp】+ .jpg?max_age=2592000
不解释了
找歌词
准备一个文本常量a
{"comm":{"g_tk":1677012956,"uin":0,"format":"json","inCharset":"utf-8","outCharset":"utf-8","notice":0,"platform":"h5","needNewCode":1},"song_detail":{"module":"music.pf_song_detail_svr","method":"get_song_detail","param":{"song_id":songid}}}
最后有个songid,用子文本替换()函数,把他换成grp里的id(也就是109364695)
a = 子文本替换 (a, “songid”, "109364695" , , , 真)
用post方式提交表单(以下二选一,用了精易模块)
编码_utf8到gb2312(到文本(网页_访问 (“https://u.y.qq.com/cgi-bin/musicu.fcg”, 1, a)))
编码_utf8到gb2312 (网页_访问S (“https://u.y.qq.com/cgi-bin/musicu.fcg”, 1, a))
song_detail.data.info.[5或6或7].content.[1].value
这样表示的关系是从外到内,至于[5],[6],[7]表示json里的[ ]里头第几个{ }而已,不难理解
歌词自己提取
高能区
编码_utf8到gb2312 (网页_访问S (“https://c.y.qq.com/rsc/fcgi-bin/fcg_get_profile_homepage.fcg?loginUin=&cid=205360838&userid=” + 编辑框_QQ号.内容 + “&reqfrom=1”))
能返回QQ号的音乐列表
mymusic是我喜欢列表(tittle列表名,num0数量,id列表id)
mydiss是创建的列表(tittle列表名,subtitle有数量但是要处理下,dissid列表id)
网页_访问S (“https://c.y.qq.com/qzone/fcg-bin/fcg_ucc_getcdinfo_byids_cp.fcg?type=1&disstid=” + id)
然后还是提取albummid,id(songid),mid(songmid)
剩下的就跟上面写的一样咯,自己获取歌名,歌手,歌曲文件,歌词文件。
MV没搞定,我费了好久也没搞定,我还是太年轻啊。。。。