爬取最新QQ音乐下载地址分析
以下均以歌名 不要说话 分析
通过音乐名字搜索
1
2
3
4
5
6
7
8
9
10
11
12
13'qq' => [
'method' => 'GET',
'url' => 'http://c.y.qq.com/soso/fcgi-bin/client_search_cp',
'referer' => 'http://m.y.qq.com',
'proxy' => false,
'body' => [
'w' => $query,
'p' => $page,
'n' => 10,
'format' => 'json'
],
'user-agent' => 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1'
]即组成 http://c.y.qq.com/soso/fcgi-bin/client_search_cp?w=不要说话&p=1&n=10&format=json 通过定义的useragent通过Get取得的内容如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102{
"code":0,
"data":{
"keyword":"不要说话",
"priority":0,
"qc":[
],
"semantic":{
"curnum":0,
"curpage":1,
"list":[
],
"totalnum":0
},
"song":{
"curnum":10,
"curpage":1,
"list":[
{
"albumid":35182,
"albummid":"000J1pJ50cDCVE",
"albumname":"不想放手",
"albumname_hilight":"不想放手",
"alertid":23,
"belongCD":0,
"cdIdx":7,
"chinesesinger":0,
"docid":"14691017891116423173",
"grp":[
],
"interval":285,
"isonly":0,
"lyric":"《时尚先生》电影主题曲",
"lyric_hilight":"《时尚先生》电影主题曲",
"media_mid":"004cc3OU0GLJHb",
"msgid":16,
"newStatus":2,
"nt":1413023447,
"pay":{
"payalbum":0,
"payalbumprice":0,
"paydownload":1,
"payinfo":1,
"payplay":0,
"paytrackmouth":1,
"paytrackprice":200
},
"preview":{
"trybegin":74064,
"tryend":102207,
"trysize":960887
},
"pubtime":1214755200,
"pure":0,
"singer":[
{
"id":143,
"mid":"003Nz2So3XXYek",
"name":"陈奕迅",
"name_hilight":"陈奕迅"
}
],
"size128":4566820,
"size320":11416753,
"sizeape":0,
"sizeflac":30255204,
"sizeogg":6051718,
"songid":9059607,
"songmid":"002B2EAA3brD5b",
"songname":"不要说话",
"songname_hilight":"<em>不要说话</em>",
"strMediaMid":"004cc3OU0GLJHb",
"stream":1,
"switch":16888579,
"t":1,
"tag":11,
"type":0,
"ver":0,
"vid":"e0011thbfzs"
}
],
"totalnum":600
},
"tab":0,
"taglist":[
],
"totaltime":0,
"zhida":{
"chinesesinger":0,
"type":0
}
},
"message":"",
"notice":"",
"subcode":0,
"time":1632975151,
"tips":""
}通过返回的json可以取得歌曲的songmid为 002B2EAA3brD5b
通过歌曲的songmid取得音频信息
1
2
3
4
5
6
7
8
9
10
11'qq' => [
'method' => 'GET',
'url' => 'http://c.y.qq.com/v8/fcg-bin/fcg_play_single_song.fcg',
'referer' => 'http://m.y.qq.com',
'proxy' => false,
'body' => [
'songmid' => $songid,
'format' => 'json'
],
'user-agent' => 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1'
]即通过 http://c.y.qq.com/v8/fcg-bin/fcg_play_single_song.fcg?songmid=002B2EAA3brD5b&format=json 和自定义的头,返回的json如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124{
"code":0,
"data":[
{
"action":{
"alert":21,
"icons":8535932,
"msgdown":0,
"msgfav":0,
"msgid":14,
"msgpay":6,
"msgshare":0,
"switch":16888579
},
"aid":0,
"album":{
"id":35182,
"mid":"000J1pJ50cDCVE",
"name":"不想放手",
"pmid":"000J1pJ50cDCVE_3",
"subtitle":"《时尚先生》电影主题曲",
"time_public":"2008-06-30",
"title":"不想放手"
},
"bpm":66,
"data_type":0,
"es":"",
"file":{
"b_30s":0,
"e_30s":60000,
"hires_bitdepth":0,
"hires_sample":0,
"media_mid":"004cc3OU0GLJHb",
"size_128mp3":4566820,
"size_192aac":6893143,
"size_192ogg":6051718,
"size_24aac":0,
"size_320mp3":11416753,
"size_48aac":1733017,
"size_96aac":3476533,
"size_96ogg":3079411,
"size_ape":0,
"size_dts":0,
"size_flac":30255204,
"size_hires":0,
"size_try":960887,
"try_begin":74064,
"try_end":102207,
"url":""
},
"fnote":4009,
"genre":1,
"id":9059607,
"index_album":7,
"index_cd":0,
"interval":285,
"isonly":0,
"ksong":{
"id":4841,
"mid":"000A57lN1qgVTQ"
},
"label":"0",
"language":0,
"mid":"002B2EAA3brD5b",
"modify_stamp":0,
"mv":{
"id":173498,
"name":"",
"title":"",
"vid":"e0011thbfzs",
"vt":0
},
"name":"不要说话",
"ov":0,
"pay":{
"pay_down":1,
"pay_month":1,
"pay_play":0,
"pay_status":0,
"price_album":0,
"price_track":200,
"time_free":0
},
"sa":0,
"singer":[
{
"id":143,
"mid":"003Nz2So3XXYek",
"name":"陈奕迅",
"pmid":"",
"title":"陈奕迅",
"type":0,
"uin":0
}
],
"status":0,
"subtitle":"《时尚先生》电影主题曲",
"tid":0,
"time_public":"2008-06-30",
"title":"不要说话",
"trace":"",
"type":0,
"url":"",
"version":0,
"volume":{
"gain":-8.178000000000001,
"lra":9.406000000000001,
"peak":1
}
}
],
"url":{
"9059607":"ws.stream.qqmusic.qq.com/C100002B2EAA3brD5b.m4a?fromtag=38"
},
"url1":{
},
"extra_data":[
],
"joox":0,
"joox_login":1,
"msgid":0
}通过登录QQ取得guid和uin进而取得vkey
QQ音乐的地址如下:
dl.stream.qqmusic.qq.com/C400000QCwge3B6Ad1.m4a?vkey=
6FBECDE68E94D9E5B1F6731C5A8D83AE2DE961466D2CF64694D86F94590B3E27592575D38322394478AFC921DA703B6805A4278DE54344F1&GUID=
1849502645&UIN=1000&fromtag=66
其实就是:
dl.stream.qqmusic.qq.com/C400$songmid.m4a?vkey=$vkey的值&guid=$guid值&uin=$uin&fromtag=66
guid需要QQ登录后才能取得,uin就是你登录的QQ号,经测试guid和qq号可以任意输出,而不需要登录,仅客户端的VIP歌曲无效
根据guid和uin通过https://u.y.qq.com/cgi-bin/musicu.fcg取得vkey,取得过程可以看下面的python代码
python代码
1 | import requests |