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

时间:2009-01-19 04:03:20

标签: wikipedia

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

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

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

3 个答案:

答案 0 :(得分:11)

您应该查看Freebase(例如,参见他们的musical artists table)。如果您确实选择了维基百科,那么您应该下载database dump

比较Radiohead乐队的Freebase和维基百科的流派列表的示例:

  • Freebase:另类摇滚,艺术摇滚,电子音乐,前卫摇滚,电子乐和实验摇滚。
  • Wikipedia:替代摇滚,电子和实验摇滚。

编辑:更重要的是,我已经包含了一个使用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>

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

答案 1 :(得分:7)

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

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

答案 2 :(得分:2)

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

在我看的时候,我找到了如何使用未提取的维基标记访问XML format中的文章。显然它在维基百科服务器上更容易,但我不确定它是否更容易解析。