gpt4 book ai didi

soundcloud - 使用API​​访问Soundcloud图表

转载 作者:行者123 更新时间:2023-12-03 09:32:10 26 4
gpt4 key购买 nike

是否可以使用soundcloud api访问新图表https://soundcloud.com/charts/top(前50名)?还是有其他方法?

也许用php或其他东西进行爬网?

最佳答案

要找到可与HTTP API请求一起使用的参数,可以执行以下操作:


转到“ https://soundcloud.com/charts/”并打开控制台(Chrome上为F12)。
进入控制台的“网络”选项卡,然后刷新页面(F5)。
清除控制台。


现在,例如,如果您想知道用于检索“ TOP 50-Dance&EDM”的参数:


更改过滤器框内的值
在控制台中检入以以下内容开头的请求:“ charts?kind =”
在此url中搜索参数。




一些例子:

返回顶部舞蹈和EDM

https://api-v2.soundcloud.com/charts?kind = top&genre = soundcloud%3Ageneres%3Adanceedm&client_id = ...

返回顶部深宅

https://api-v2.soundcloud.com/charts?kind = top&genre = soundcloud%3Agenres%3Adeephouse&client_id = ...

新品与热门

国家
https://api-v2.soundcloud.com/charts?kind = trending&genre = soundcloud%3Agenres%3Acountry&client_id = ...



所有参数:

类:


顶部<-顶部50
趋势<-新与热


类型:


soundcloud:流派:全音乐
soundcloud:流派:所有音频
soundcloud:流派:alternativerock
soundcloud:类型:环境
soundcloud:类型:古典
soundcloud:类型:国家
soundcloud:流派:danceedm
soundcloud:流派:dancehall
soundcloud:类型:deephouse
soundcloud:流派:disco
soundcloud:流派:drumbass
soundcloud:流派:dubstep
soundcloud:类型:电子
soundcloud:类型:民谣歌手
soundcloud:流派:hiphoprap
soundcloud:流派:房子
soundcloud:类型:独立
soundcloud:流派:爵士蓝调
soundcloud:流派:拉丁
soundcloud:类型:metal
soundcloud:流派:钢琴
soundcloud:流派:流行
soundcloud:流派:rbsoul
soundcloud:流派:雷鬼
soundcloud:流派:reggaeton
soundcloud:流派:摇滚
soundcloud:流派:原声带
soundcloud:类型:techno
soundcloud:流派:tr
soundcloud:类型:陷阱
soundcloud:流派:triphop
soundcloud:流派:世界
soundcloud:类型:有声读物
soundcloud:类型:业务
soundcloud:流派:喜剧
soundcloud:类型:娱乐
soundcloud:流派:学习
soundcloud:类型:新闻政治
soundcloud:类型:宗教灵性
soundcloud:类型:科学
soundcloud:流派:体育
soundcloud:类型:故事讲述
soundcloud:类型:技术




在php中获取TOP50的json响应的示例-国家:

网址:
https://api-v2.soundcloud.com/charts?kind=top&genre=soundcloud%3Agenres%3Acountry&client_id=XXXXXXXXXXX&limit=10&linked_pa​​rtitioning=1

网址参数:
类型:顶部
体裁:soundcloud:体裁:国家
client_id:XXXXXXXXXXX
限制:10
linked_pa​​rtitioning:1

限制:您希望接收多少歌曲作为回应。
linked_pa​​rtitioning:页数,根据限制。

例如限制= 10的linked_pa​​rtitioning:


1从0到9获得歌曲
2从10到19获得歌曲
...


例如限制= 20的linked_pa​​rtitioning:


1从0到19获得歌曲
2从20到39获得歌曲
...


现在有了URL,如果要使用PHP检索JSON响应
您必须编写例如:

<?php 
$url = "https://api-v2.soundcloud.com/charts?kind=top&genre=soundcloud%3Agenres%3Acountry&client_id=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&limit=10&linked_partitioning=1";
// Get JSON Response
$json = file_get_contents($url);
// Decode response to array
$objectJSON = json_decode($json, true);


示例Json响应:

{
"genre":"soundcloud:genres:country",
"kind":"top",
"last_updated":"2016-03-24T09:50:02Z",
"collection":[
{
"track":{
"commentable":true,
"comment_count":211,
"downloadable":true,
"download_count":80,
"duration":251060,
.
.
.
"kind":"track",
.
.
.
.
"license":"all-rights-reserved",
"streamable":true,
"title":"Award winning Falling Star",
"uri":"https://api.soundcloud.com/tracks/245170733",
.
.
.
"country_code":"US"
}
"score":1093171.0
},
{
...
},
OTHER TRACKS HERE...
],
"query_urn":"soundcloud:charts:bc9b903f2cee44e7bca955bc2fc4601d",
"next_href":"https://api-v2.soundcloud.com/charts?genre=soundcloud%3Agenres%3Acountry&query_urn=soundcloud%3Acharts%3Abc9b903f2cee44e7bca955bc2fc4601d&offset=20&kind=top&limit=20"
}
}


如果要读取响应的JSON内容:

    // Read Json taking for example Name, Title and SoundCloud URI of song.
foreach ($objectJSON["collection"] as $key => $value) {
echo 'user: ' . $value['track']['user']['full_name'] . "<br/>";
echo 'title: ' . $value['track']['title'] . "<br/>";
echo 'url: ' . $value['track']['uri'] . "<br/><br/>";
}
echo $response;
?>


该PHP的结果:

user: ...
title: ...
url: ...

user: ...
title: ...
url: ...

...


Example of this code



希望我能对您有所帮助,对不起我的英语。

编辑:

我认为SoundCloud改变了获取下一页的方式。
现在,您需要更改“偏移”参数。

像这样:

Page 1: ....&limit=20&offset=0
Page 2: ....&limit=20&offset=20
Page 3: ....&limit=20&offset=40




@VietHung问题的答案。
问:您可以浏览系统播放列表吗?
(例如:soundcloud:system-playlists图表-top:all-music)

为了找到系统播放列表,我使用了Charles Web调试代理。
这个想法是嗅探SoundClound App从iOS设备发送的网络软件包(在我的情况下)。

在将Charles配置为正确嗅探SSL软件包之后,您可以将pc用作智能手机的代理。
(您必须在Windows和iOS设备上安装Charles cert才能正确嗅探SSL软件包,以在Google上搜索更多信息)。

现在,打开SoundCloud App,然后单击应用程序内的每个播放列表(TOP,NEWS)。
屏幕截图下方(质量由油漆提供,抱歉啊):
SoundCloud APP

现在在Charles内部,我们可以看到类似以下内容:

Charles_Request_Soundcloud

我仅将重点放在SoundCloud主机上,以更好地阅读传入的软件包。
Charles很聪明,并将所有类似的请求放入一个子文件夹,在我们的情况下,我们必须查看“系统播放列表”中的所有请求。

现在,您可以从所有请求中检索所有系统播放列表值。

我没有列出所有播放列表歌曲,因为当前我没有太多时间。
我会尽快编辑此帖子,其中包含可能的系统播放列表值的完整列表。

关于soundcloud - 使用API​​访问Soundcloud图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35688367/

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