在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?有关。你知道吗
在尝试通过对代码进行多次更改来解决此问题之后,我终于发现了问题:
这不是虫子。随着Soundcloud发布了他们的“Go+”服务,一些官方曲目的预览时间被限制在30秒。API过滤器似乎比较完整跟踪的持续时间,而只是将预览版本发送回客户端(如果您没有订阅“Go+”和/或您的应用程序没有登录)。你知道吗
因此,按持续时间过滤的唯一方法是遍历所有接收到的轨迹:
相关问题 更多 >
编程相关推荐