我正在尝试基于音乐Subreddits构建音频播放器。 我知道可以使用API并获取提要,如下所示:
https://www.reddit.com/r/vintageobscura.json
获取每个节点的title属性非常有帮助 但是它们的格式并不统一,而且我得到了非常不同的结果,例如。
- I Level - In The River(12“Version)
- Flypops - 让我留在阳光下(法国,心理学)[1979?]杀手鼓(youtube.com)
- Lola Payola - 我嫁给了一个来自太空的男人[英国/ 1981](Odd Synthpop,Cosmic)
- Bluey Robinson - '问题'[R& B / Hip-Hop]
- KOKOKO! - 我们是KOKOKO! [舞蹈/世界/电子](2017)电子音乐由D.R.中心的垃圾制成刚果
- Bareback,来自Krono
- Rebel son - 1-2-3(官方音频)
醇>
我想要的是艺术家+标题列表(特别是因为我希望能够使用last.fm对曲目进行scrobble - 所以曲目信息应该是正确的)
有没有办法解决这个问题,或者我唯一的选择是用正则表达式过滤它?知道有这么多不同的标题格式,这显然是非常危险的。
Radd.it设法做到了,我不知道怎么做;但他们的数据似乎没问题。 还有https://reddit.musicplayer.io/,它不会过滤标题。
有什么想法吗? 谢谢!
答案 0 :(得分:0)
/r/music拥有统一的提交标题。我写了一个脚本,根据标题(source code here)对Spotify跟踪推荐的提交进行了评论。作为参考,我获得标题的正则表达式是:
for %%a in ("First & Last") do echo %%~a
那是在Python中。等效的PHP正则表达式应为:
for %%a in ("%~1") do echo %%~a
我对正则表达式不是最好的,所以可能有办法简化这个。您可以测试正则表达式here。
对于其他subreddits,除非您想获取链接URL属性,否则您将独立完成。如果提交的内容是官方YouTube视频的链接,您可以使用YouTube API从这些带有艺术家姓名等的视频中获取元数据。有人询问了您的跟进问题here。
理解自然语言是非常棘手的。祝你好运: - )