Soundcloud 已锁定其 API,没有人能够请求新的客户端 ID。在他们关闭之前,他们几个月来一直忽略 API key 请求。他们显然有他们的理由,但多年来一直如此,这真的很烦人。
有人知道从提供的用户名中检索跟踪数据的任何厚颜无耻的解决方法吗?
我尝试解析 dom 并抓取它,但它不起作用,因为它们在抓取时返回“无 javascript”错误,从而渲染主页而不是用户页面。
示例:
$url = "https://soundcloud.com/username/tracks";
$dom = new Dom;
$dom->loadFromUrl($url);
$dom = $dom->find('title',0)->text;
应该返回:
username | Free Listening on SoundCloud
但是我们得到:
SoundCloud - Hear the world’s sounds
最佳答案
我的建议是使用现有的公共(public) API key ,例如 the CLIENT_ID youtube-dl uses to download SoundCloud tracks .
您首先需要从用户名中获取 ID。为此,我们将使用 /resolve
端点:
HTTP GET: http://api.soundcloud.com/resolve?url=http://soundcloud.com/{username}&client_id={CLIENT_ID}
然后,从 /users/{id}/tracks
端点获取用户的轨迹:
HTTP GET: https://api.soundcloud.com//users/{id}/tracks
关于无需客户端 ID 即可检索 Soundcloud 内容。这有可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49634738/