xushen |
2015-08-06 00:28 |
百度音乐解析....音质较差。
Hello welcome.
我们登录百度音乐 即:http://music.baidu.com/
我随便找一个音乐地址吧 :http://music.baidu.com/song/123689311
我们查找源代码:(有人说后面不是有song/123689311 这个ID吗? 这个是有 但是有的没有 我们还是超找比较那个稳定一点)
我提供的正则为:btndata=\W.*?ids\W.*?(\d*?)\W,
可以匹配到一个正则文本 其中一个子表达文本为ID
我们获取ID就好说了。
直接提交给百度ID(Post提交)
提交地址为:http://play.baidu.com/data/music/songlink
提交数据为:songIds=123689311&hq=0&type=m4a%2Cmp3%2Cflac&rate=&pt=0&flag=-1&s2p=-1&prerate=-1&bwt=-1&dur=-1&bat=-1&bp=-1&pos=-1&auto=-1
只有这个加粗需要 更改其它不要管它 这个songIds=123689311也可以添加多个ID 如:songIds=123689311,123689412,123689413,……(以","为分隔符) 然后返回一个JSon文本
{"errorCode":22000,"data":{"time":3600,"xcode":"1df7cea730d31b51cb57f76b4725985a","songList":[{"queryId":"123689311","status":0,"songId":123689311,"songName":"\u545c\u5412(uza)","artistId":"33936615","artistName":"snh48","albumId":123689312,"albumName":"\u545c\u5412","lrcLink":"\/data2\/lrc\/123691462\/123691462.lrc","time":276,"linkCode":22000,"songLink":"http:\/\/yinyueshiting.baidu.com\/data2\/music\/123689379\/12368931125200128.mp3?xcode=44e619d595e246fcb123be2e4a685e68","showLink":"http:\/\/yinyueshiting.baidu.com\/data2\/music\/123689379\/12368931125200128.mp3?xcode=44e619d595e246fcb123be2e4a685e68","format":"mp3","rate":128,"size":4426485,"linkinfo":null,"version":"","copyType":1,"enhancement":"0.000000"}]}}
这是个没有格式化 我们进行一个格式化 好看的明白
- {
"errorCode": 22000, "data": { "time": 3600, "xcode": "1df7cea730d31b51cb57f76b4725985a", "songList": [ { "queryId": "123689311", "status": 0, "songId": 123689311, "songName": "呜吒(uza)", "artistId": "33936615", "artistName": "snh48", "albumId": 123689312, "albumName": "呜吒", "lrcLink": "/data2/lrc/123691462/123691462.lrc", "time": 276, "linkCode": 22000, "songLink": "http://yinyueshiting.baidu.com/data2/music/123689379/12368931125200128.mp3?xcode=44e619d595e246fcb123be2e4a685e68", "showLink": "http://yinyueshiting.baidu.com/data2/music/123689379/12368931125200128.mp3?xcode=44e619d595e246fcb123be2e4a685e68", "format": "mp3", "rate": 128, "size": 4426485, "linkinfo": null, "version": "", "copyType": 1, "enhancement": "0.000000" } ] } }
易语言的格式为(需使用模块)
- .版本 2
.子程序 _按钮1_被单击 .局部变量 json, 类_json
json.解析 (#常量1) json.取通用属性 (“data.songList[0].songLink”)
这 songLink 可以更改 想要的数据 songName (歌曲名)
然后调到自己播放器就OK了
|
|