SoundCloud API忽略持续时间fi

2024-04-19 07:05:42 发布

您现在位置:Python中文网/ 问答频道 /正文

https://developers.soundcloud.com/docs/api/reference#tracks的soundcloudapi文档之后,我开始在我的一个项目中编写soundcloudapi的实现。我尝试使用以下代码获得50首特定类型的曲目,最小长度为120000毫秒:

def get_starttracks(genres="Rock"):
    return client.get("/tracks", genres=genres, duration={
        'from': 120000
    }, limit='50')

SoundCloud会以有效的曲目列表进行响应,但它们的持续时间与给定的筛选器不匹配。你知道吗

示例:

print(get_starttracks(genres="Pop")[0].fields()['duration'])
> 30000

api是否忽略了“duration”参数,或者我的代码中的过滤器是否有错误?你知道吗

注:如果python代码中没有错误,则可能与soundcloud search api ignoring duration filter?有关。你知道吗


Tags: 代码httpscomapidocsget错误曲目
1条回答
网友
1楼 · 发布于 2024-04-19 07:05:42

在尝试通过对代码进行多次更改来解决此问题之后,我终于发现了问题:

这不是虫子。随着Soundcloud发布了他们的“Go+”服务,一些官方曲目的预览时间被限制在30秒。API过滤器似乎比较完整跟踪的持续时间,而只是将预览版本发送回客户端(如果您没有订阅“Go+”和/或您的应用程序没有登录)。你知道吗

因此,按持续时间过滤的唯一方法是遍历所有接收到的轨迹:

for track in tracks:
    if track.duration <= 30000:
        tracks.remove(track)

相关问题 更多 >