获取专辑last.fm api的发行日期

时间:2020-01-21 10:44:14

标签: last.fm

我需要获取歌曲的发行日期。

在last.fm API中,如文档中所述,足以向服务器发出HTTP请求,它将使用包含字段“”的XML(或JSON)进行回复(如示例响应中所示)在网站上)。

问题是,如果我在文档中使用相同的请求进行调用,则除了我需要的字段外,答复是相同的。

是否可以通过其他方式获取此信息?

示例:

  • 网站上样本回复的部分:

    <album>
      <name>Believe</name>
      <artist>Cher</artist>
      <id>2026126</id>
      <mbid>61bf0388-b8a9-48f4-81d1-7eb02706dfb0</mbid>
      <url>http://www.last.fm/music/Cher/Believe</url>
      <releasedate>6 Apr 1999, 00:00</releasedate> //i need this
      <image size="small">...</image>
      <image size="medium">...</image>
      <image size="large">...</image>
      <listeners>47602</listeners>
      <playcount>212991</playcount>
      <toptags>
        <tag>
          <name>pop</name>
          <url>http://www.last.fm/tag/pop</url>
        </tag>
        ...
      </toptags>
      <tracks>
        <track rank="1">
          <name>Believe</name>
          <duration>239</duration>
          <mbid/>
          <url>http://www.last.fm/music/Cher/_/Believe</url>
          <streamable fulltrack="0">1</streamable>
          <artist>
            <name>Cher</name>
            <mbid>bfcc6d75-a6a5-4bc6-8282-47aec8531818</mbid>
            <url>http://www.last.fm/music/Cher</url>
          </artist>
        </track>
        ...
      </tracks>
    </album>

  • 我的回应

    <album>
    <name>Believe</name>
    <artist>Cher</artist>
    <mbid>63b3a8ca-26f2-4e2b-b867-647a6ec2bebd</mbid>
    <url>https://www.last.fm/music/Cher/Believe</url>
    <image size="small">
    https://lastfm.freetls.fastly.net/i/u/34s/3b54885952161aaea4ce2965b2db1638.png
    </image>
    <image size="medium">
    https://lastfm.freetls.fastly.net/i/u/64s/3b54885952161aaea4ce2965b2db1638.png
    </image>
    <image size="large">
    https://lastfm.freetls.fastly.net/i/u/174s/3b54885952161aaea4ce2965b2db1638.png
    </image>
    <image size="extralarge">
    https://lastfm.freetls.fastly.net/i/u/300x300/3b54885952161aaea4ce2965b2db1638.png
    </image>
    <image size="mega">
    https://lastfm.freetls.fastly.net/i/u/300x300/3b54885952161aaea4ce2965b2db1638.png
    </image>
    <image size="">
    https://lastfm.freetls.fastly.net/i/u/300x300/3b54885952161aaea4ce2965b2db1638.png
    </image>
    <listeners>405536</listeners>
    <playcount>2644726</playcount>
    <tracks>
    ...
    <tags>...</tags>
    <wiki>...</wiki>
    </album>
    </lfm>

请求为http://ws.audioscrobbler.com/2.0/?method=album.getinfo&api_key=MY_API_KEY&artist=Cher&album=Believe

该信息所在的页面是:https://www.last.fm/api/show/album.getInfo

非常感谢!

2 个答案:

答案 0 :(得分:2)

Last.fm API文档和实际响应绝对不一致。

可能只有这样的地方可以提供此类信息,即artist.getTopAlbums,但是发布日期也不可用。

因此,要回答您的问题,不,无法通过API获取专辑的发行日期。如果您真的希望获得此信息,最好的选择是通过网络抓取从html页面本身中提取信息,并且在这种情况下不要依赖API。

答案 1 :(得分:0)

我遇到了同样的问题-发布日期没有回来。我选择使用MusicBrainz API来获取专辑详细信息。但是,与此相关的问题是,如果连续快速地发出太多请求,则通话将回到500秒-我唯一能找到的解决方法是给每个通话增加第二次延迟,这使很多专辑变得烦人。

无论如何,这是一个示例请求:http://musicbrainz.org/ws/2/release/844eb096-2b84-4c8f-9922-7f287126b39e?fmt=json

如果您发现计时问题的解决方法,请告诉我

相关问题