gpt4 book ai didi

javascript - Soundcloud 嵌入流 URL( Node 、JSON)

转载 作者:行者123 更新时间:2023-11-30 17:45:51 24 4
gpt4 key购买 nike

我目前正在使用 Node 抓取一个将选定数据存储在 JSON 文件中的博客。当从 Soundcloud 抓取包含嵌入式轨道的博客文章时,我似乎只能收集 ​​iframe src 而不是实际的轨道链接(soundcloud 链接或流链接)。

当我抓取 iframe src url 时,我似乎只能获得以下格式的链接: https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/120261008&color=000000&auto_play=false&show_artwork=false

如果我无法抓取轨道 URL,有没有办法可以操纵上述链接如何存储到数组中?为了使此链接可用,我只需要存储 url=https%3A//api.soundcloud.com/tracks/120261008(减去 url=)。

但是问题在于 %3A 需要替换为 a :

在存储或调用 url 时,操作 url 以实现所需输出 url 的最佳方法是什么?

最佳答案

我不确定您在获得轨道 URL 后打算用它做什么,但是要获取轨道/播放列表的固定链接 URL,您需要分两步进行。首先,您需要解析 iframe src 中查询字符串中的 url 参数:

CLIENT_ID = 'client_id=b45b1aa10f1ac2941910a7f0d10f8e28';
var src = 'https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/120261008&color=000000&auto_play=false&show_artwork=false',
match = src.match(/url=([^&]*)/),
resource = match[0],
stream = decodeURIComponent(match[1])+'/stream/?'+CLIENT_ID;

然后您将需要向 SoundCloud 的解析 API 发出 HTTP 请求,以将该资源实际转换为永久链接 URL:

var url = 'http://api.soundcloud.com/resolve.json?'+resource+'&'+CLIENT_ID;
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.onload = function(){
var data = JSON.parse(xhr.responseText);
// do something with the data
console.log(data.permalink_url);
};
xhr.send();

关于javascript - Soundcloud 嵌入流 URL( Node 、JSON),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20203275/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com