上一篇
百度音乐API基础URL: http://tingapi.ting.baidu.com/v1/restserver/ting
支持方法:GET请求,通过method
参数调用不同功能 🔍
功能 | Method参数 | 示例 |
---|---|---|
获取榜单 | baidu.ting.billboard.billList |
type=1&size=10&offset=0 (type=1为新歌榜,size=10为返回10首) |
搜索歌曲 | baidu.ting.search.catalogSug |
query=七里香 (搜索关键字) |
歌曲详情 | baidu.ting.song.play |
songid=877578 (通过歌曲ID获取播放链接、歌词等) |
歌手歌曲列表 | baidu.ting.artist.getSongList |
tinguid=歌手ID&limits=6 (返回歌手前6首歌曲) |
{ "songList": [ { "songId": 242078437, "songName": "演员", "artistName": "薛之谦", "songLink": "http://yinyueshiting.baidu.com/data2/music/242078559/242078437133200128.mp3", "lrcLink": "http://musicdata.baidu.com/data2/lrc/ac66a881bd5cb97ad351936606c37495/266097259/266097259.lrc" } ] }
import requests import json def get_song_info(song_id): url = f"http://tingapi.ting.baidu.com/v1/restserver/ting?method=baidu.ting.song.play&songid={song_id}" response = requests.get(url) data = response.json() return { "歌曲名": data["songinfo"]["title"], "歌手": data["songinfo"]["artistname"], "播放链接": data["bitrate"]["file_link"], "歌词链接": data["songinfo"]["lrclink"] } # 批量获取歌手所有歌曲(示例:薛之谦) artist_id = "2517" # 薛之谦的tinguid songs = [] for offset in range(0, 100, 10): # 分页处理 url = f"http://tingapi.ting.baidu.com/v1/restserver/ting?method=baidu.ting.artist.getSongList&tinguid={artist_id}&limits=10&offset={offset}" response = requests.get(url) song_list = response.json()["songList"] for song in song_list: songs.append(get_song_info(song["songid"])) print(json.dumps(songs, ensure_ascii=False, indent=2))
offset
参数循环请求,避免遗漏数据 🔄通过本文指南,您已掌握百度音乐API的核心用法与批量抓取技巧!记得合规使用数据,让音乐洞察助力您的创作与研究 🌟 如需进一步优化,可尝试结合爬虫框架(如Scrapy)实现自动化流程 🚀
本文由 云厂商 于2025-08-19发表在【云服务器提供商】,文中图片由(云厂商)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vds.7tqx.com/fwqgy/666840.html
发表评论