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

Ken*_*nny 8 wikipedia

在按类型对音乐进行分类时,我发现维基百科比其他大多数数据源都有更多有趣的类型信息.

我似乎记得有一个数据库从维基百科收集这类信息并使其更容易访问,但我今天无法谷歌.

如果我要尝试检索此数据,我有哪些选择?有没有像我描述的那样或者我需要进行屏幕刮擦?

A. *_*Rex 11

您应该查看Freebase(例如,参见他们的音乐艺术家表).如果您确实选择了Wikipedia,那么您应该下载数据库转储.

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

  • Freebase:另类摇滚,艺术摇滚,电子音乐,前卫摇滚,电子乐和实验摇滚.
  • 维基百科:替代摇滚,电子和实验摇滚.

编辑:更重要的是,我已经包含了一个使用mjt的工作示例,这是一个为Freebase设计的Javascript框架.将其复制粘贴到文件中,使用浏览器打开,输入艺术家姓名,然后查看Freebase为其提供的类型.

不太重要的是,我已经更改了我的示例并默认为Radiohead.=)

<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>
Run Code Online (Sandbox Code Playgroud)

您最有可能使用其他语言,但希望您可以轻松翻译上述查询.


小智 7

MusicBrainz(http://musicbrainz.org/)可能是你想要的,而不是维基百科.这是一个制作自由许可的高质量音乐元数据集合的项目(作曲家的名字,专辑的标题,曲目的标题,该曲目上的长号手的名字等).他们开发了一个很棒的数据库,一个详细的数据库模式,用于使元数据准确和一致的综合风格指南,可以将元数据插入音乐数据文件中的标签的应用软件,以及可以使用这些数据的API.所有免费提供和协作编辑.

MusicBrainz元数据的一个薄弱环节是音乐类型.这是因为它是一个棘手的问题:一个人的"放克"是另一个人的"流行".


Ken*_*nny 2

当我发布问题时,我发现了我的想法。Infochimps保留了维基百科的信息框集合,例如音乐艺术家的信息。但这并不是我真正想要的,因为它只能下载。

当我在寻找时,我发现了如何使用未渲染的 wiki 标记访问XML 格式的文章。显然它在维基百科服务器上更容易,但我不确定它是否更容易解析。