操作来自github的一个下载flac的py程序
总共分两步
- 根据歌名获取id
- 根据id获取下载路径
第一步:
BAIDU_SUGGESTION_API = 'http://sug.music.baidu.com/info/suggestion'
payload = {'word': value, 'version': '2', 'from': '0'}
value = value.replace('\\xa0', ' ') # windows cmd 的编码问题
logger.info(value)
r = requests.get(BAIDU_SUGGESTION_API, params=payload)以周杰伦-告白气球为例,结果为:


第二步,根据id获取下载地址:
def get_song_info(songid):
BAIDU_MUSIC_API = "http://music.baidu.com/data/music/fmlink"
payload = {'songIds': songid, 'type': 'flac'}
r = requests.get(BAIDU_MUSIC_API, params=payload)
contents = r.text
return json.loads(contents, encoding="utf-8")结果:

其中:
songlink = d["data"]["songList"][0]["songLink"]songLink":"http:\/\/zhangmenshiting.qianqian.com\/data2\/music\/00124b91d7bdfe460e5fed9447fc622d\/596586822\/266322598252000937.flac?xcode=5f56be4baa6a2dbdb74cd3784244547c"
去掉\,得到
songLink":"http://zhangmenshiting.qianqian.com/data2/music/00124b91d7bdfe460e5fed9447fc622d/596586822/266322598252000937.flac?xcode=5f56be4baa6a2dbdb74cd3784244547c"