从音乐Subreddit获取格式良好的曲目列表

时间:2017-05-18 15:16:34

标签: php json regex formatting reddit

我正在尝试基于音乐Subreddits构建音频播放器。 我知道可以使用API​​并获取提要,如下所示:

https://www.reddit.com/r/vintageobscura.json

获取每个节点的title属性非常有帮助 但是它们的格式并不统一,而且我得到了非常不同的结果,例如。

  
      
  1. I Level - In The River(12“Version)
  2.   
  3. Flypops - 让我留在阳光下(法国,心理学)[1979?]杀手鼓(youtube.com)
  4.   
  5. Lola Payola - 我嫁给了一个来自太空的男人[英国/ 1981](Odd Synthpop,Cosmic)
  6.   
  7. Bluey Robinson - '问题'[R& B / Hip-Hop]
  8.   
  9. KOKOKO! - 我们是KOKOKO! [舞蹈/世界/电子](2017)电子音乐由D.R.中心的垃圾制成刚果
  10.   
  11. Bareback,来自Krono
  12.   
  13. Rebel son - 1-2-3(官方音频)
  14.   

我想要的是艺术家+标题列表(特别是因为我希望能够使用last.fm对曲目进行scrobble - 所以曲目信息应该是正确的)

有没有办法解决这个问题,或者我唯一的选择是用正则表达式过滤它?知道有这么多不同的标题格式,这显然是非常危险的。

Radd.it设法做到了,我不知道怎么做;但他们的数据似乎没问题。 还有https://reddit.musicplayer.io/,它不会过滤标题。

有什么想法吗? 谢谢!

1 个答案:

答案 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

理解自然语言是非常棘手的。祝你好运: - )