我正在尝试使用我服务器上的 PHP 脚本从 MusicBrainz 数据库中检索发布信息。我有一个包含歌曲名称和艺术家姓名的歌曲列表,我正在尝试检索该歌曲的首次发行日期,以及有关该发行的其他信息。
我意识到搜索并不总是 100% 准确,但该列表包含相当罕见和独特的歌曲,因此它至少应该让我走上正轨。
我的脚本已经走得很远了,它返回结果和所有内容,但我不确定如何准确地编写查询。该文档非常混乱,并且没有提供同时搜索歌曲名称和艺术家的示例。
这是我的代码:
// this info is normally fetched from my DB, but just as a simple example (as it is returned):
$artist = "ZZTop";
$song_title = "It's only Love";
// I'm having trouble with this part:
$mb_query = 'http://www.musicbrainz.org/ws/2/recording?query=' . $song_title .' ANDartist:' . $artist ;
$xml = simplexml_load_file($mb_query);
$releasedate = $xml->{'recording-list'}->recording[0]->{'release-list'}->release[0]->date;
起初我尝试rawurlencode()
了$artist
and $song_title
,但有趣的是,它没有返回任何结果,所以我想我会把它作为一个普通的字符串。查询返回结果,但它们真的关闭了,我感觉只有部分查询被提取(例如只有歌曲标题而不是艺术家)。
有谁知道这样做的正确方法?