Wikipedia 从维基百科检索音乐艺术家数据?

Wikipedia 从维基百科检索音乐艺术家数据?,wikipedia,Wikipedia,说到按流派对音乐进行分类,我发现维基百科比大多数其他数据源都有更有趣的流派信息 我似乎记得有一个数据库从维基百科收集了这类信息,使其更容易访问,但我今天无法用谷歌搜索任何东西 如果我试图检索这些数据,我的选择是什么?是否有类似于我所描述的内容,或者我是否需要进行屏幕抓取?您应该查看(例如,请参阅他们的)。如果你选择了维基百科,那么你可能应该下载一个 比较Radiohead乐队Freebase和Wikipedia流派列表的示例: :另类摇滚、艺术摇滚、电子音乐、进步摇滚、电子音乐和实验摇滚 :替

说到按流派对音乐进行分类,我发现维基百科比大多数其他数据源都有更有趣的流派信息

我似乎记得有一个数据库从维基百科收集了这类信息,使其更容易访问,但我今天无法用谷歌搜索任何东西

如果我试图检索这些数据,我的选择是什么?是否有类似于我所描述的内容,或者我是否需要进行屏幕抓取?

您应该查看(例如,请参阅他们的)。如果你选择了维基百科,那么你可能应该下载一个

比较Radiohead乐队Freebase和Wikipedia流派列表的示例:

  • :另类摇滚、艺术摇滚、电子音乐、进步摇滚、电子音乐和实验摇滚
  • :替代岩石、电子和实验岩石
编辑:更重要的是,我已经包含了一个使用mjt的工作示例,mjt是为Freebase设计的Javascript框架。将其复制粘贴到文件中,用浏览器打开,输入艺术家的姓名,然后查看Freebase为他们提供的流派

更重要的是,我已将示例和默认值更改为Radiohead


var name=mjt.urlquery.name?mjt.urlquery.name:'Radiohead';
mjt.freebase.MqlRead([{
类型:“/音乐/艺术家”,
姓名:{
值:name,
朗:{name:{value:'English'}
},
类型:[{
姓名:{
值:null,
lang:{name:{value:'English'}}
}]
}])
var gname=topic.genre[rowi].name$啃咬价值
您很可能正在使用另一种语言,但希望您能够轻松地翻译上述查询。

MusicBrainz()可能是您想要的,而不是维基百科。这是一个免费授权的高质量音乐元数据收集项目(作曲家姓名、专辑名称、曲目名称、该曲目长号手姓名等)。他们开发了一个很棒的数据库,一个详细的数据库模式,使元数据准确一致的综合风格指南,可以将元数据插入音乐数据文件标签的应用软件,以及一个可以使用数据的API。所有这些都是免费提供和协作编辑的


MusicBrainz元数据的一个薄弱领域是音乐类型。这是因为它是一个如此棘手的问题:一个人的“恐惧”是另一个人的“流行”。我发现了我在发布问题时的想法。保存来自维基百科的信息框集合,例如音乐艺术家的信息框。但这并不是我想要的,因为它只能下载


当我查看时,我发现如何使用未描述的wiki标记访问中的文章。显然,在维基百科服务器上更容易解析,但我不确定是否更容易解析。

+1对于freebase,除了标签/艺术家本身之外,可能是最好的来源。freebase看起来确实不错。我会进一步调查的。谢谢在大多数语言中都有与Freebase交互的良好API?不幸的是,我只通过mjt进行过交互,mjt是一个Javascript框架:非常好,我需要从维基百科收集体育信息。这看起来好多了。“Freebase API将于2016年8月31日完全关闭”。为什么现在。。。。。。。。。
<html>
<head>
  <script type="text/javascript" src="http://mjtemplate.org/dist/mjt-0.6/mjt.js"></script>
</head>
<body onload="mjt.run()">
<pre mjt.script="">
var name = mjt.urlquery.name ? mjt.urlquery.name : 'Radiohead';
</pre>
<div mjt.task="q">
mjt.freebase.MqlRead([{
  type: '/music/artist',
  name: {
    value:name,
    lang:{name:{value:'English'}}
  },
  genre: [{
    name: {
      value:null,
      lang:{name:{value:'English'}}}
  }]
}])
</div>

<form method="get" action="">
<input type="text" name="name" value="$name" />
<input type="submit" value="search" />
</form>

<table mjt.for="topic in q.result">
  <tr mjt.for="(var rowi = 0; rowi &lt; topic.genre.length; rowi++)">
    <td><pre mjt.script="">var gname = topic.genre[rowi].name;</pre>$gname.value</td>
  </tr>
</table>
</body></html>