Получить дату выпуска альбома last.fm API

Мне нужно получить дату выпуска песни.

В 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

Большое спасибо!


person mferre    schedule 21.01.2020    source источник


Ответы (2)


Определенное несоответствие в документации API Last.fm фактическому ответу.

Единственное другое место, где такая информация может быть доступна, — это artist.getTopAlbums, но и там нет даты выпуска.

Итак, отвечая на ваш вопрос, нет, невозможно получить дату выпуска альбома через API. Лучше всего, если вам действительно нужна эта информация, извлечь ее из самой html-страницы с помощью веб-скрейпинга и не полагаться на API для этого сценария.

person mihai    schedule 24.01.2020

У меня такая же проблема - дата выхода не возвращается. Я решил использовать API MusicBrainz, чтобы получить информацию об альбоме. Однако проблема в том, что звонки будут возвращаться как 500, если слишком много запросов будет сделано в быстрой последовательности - единственный обходной путь, который я могу найти, - это установить вторую задержку для каждого звонка, что становится раздражающим при большом количестве альбомов.

В любом случае, вот пример запроса: http://musicbrainz.org/ws/2/release/844eb096-2b84-4c8f-9922-7f287126b39e?fmt=json

Если вы найдете обходной путь для проблемы с синхронизацией, дайте мне знать

person abyrne85    schedule 21.05.2020
comment
многие из этих сервисов ограничивают звонки по времени, потому что они предназначены для ответа на один запрос, а не на большую их группу. Попробуйте с ACRCloud для удобства - person mferre; 21.05.2020