Giter Club home page Giter Club logo

yandex-music-download's People

Contributors

dmulitsa avatar kaimi- avatar korjavin avatar l29ah avatar molind avatar nett00n avatar s-and-witch avatar xjathie87 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

yandex-music-download's Issues

--skip-existing option not always work

Если в названии трека есть запрещенные символы для имен файлов, например "?", ":" и т.п., которые потом будут заменены, этот трек будет скачиваться при каждом запуске. Например у меня каждый день скачивается вот этот трек
image
Двоеточие после слова ТРОН

Как временное решение можно конечно убрать подобные треки из плейлиста, но все же желательно починить.
Спасибо.

Загружается только 30 секунд

ya.pl --cookie "Session_id=3:1599336781.5.0.1599336781602:DDFHsg:48.11166458334.0.2.0:3222489.833617.tBYeau9PyzqoTwvnHo9vHXAozT4" -u https://music.yandex.ru/album/3622135/track/30022994 --debug
[DEBUG] main::print_perl_info(1221): OS: linux; Path: /usr/bin/perl; Version: v5.30.0
[INFO] Checking Yandex.Music availability
[OK] Yandex.Music is available
[INFO] Fetching album info: 3622135
[INFO] Album title: Subway Gawdz
[INFO] Tracks total: 14
[INFO] Filtering single track: 30022994 [3622135]
[INFO] Trying to fetch track: Too Many Zooz - FTG, Pt. 1
[DEBUG] main::get_track_url(644): Track url: https://s363sas.storage.yandex.net/get-mp3/61bb01ed1dcc37b953772725aaa3aafe/0005ae97e3f43fff/rmusic/U2FsdGVkX1-jTtx0AsRHdjm6mqftETxmsmRpfFOGH68eFsks2ZPdYiXgGRP1z1MD-bT8il-xlsu-ZqCXJrWvD70uj1SX9oPFfT_Rzdiy1TQ/aa9df326f2d5b358ec5ff2c69c8f601beeb0817610773c0a77f4cb14e141511f?track-id=30022994&from=service-10-track&similarities-experiment=default
[DEBUG] main::download_track(519): File size from header: 481115
[OK] Temporary saved track at ./aHvv6yzkrR
[DEBUG] main::fetch_album_cover(985): Cover url: https://avatars.yandex.net/get-music-content/38044/befca0be.a.3622135-1/400x400
[DEBUG] main::write_mp3_tags(954): add_frame: TYER=2016
[DEBUG] main::write_mp3_tags(954): add_frame: TRCK=6
[DEBUG] main::write_mp3_tags(954): add_frame: TPE2=Too Many Zooz
[DEBUG] main::write_mp3_tags(954): add_frame: TALB=Subway Gawdz
[DEBUG] main::write_mp3_tags(954): add_frame: TPE1=Too Many Zooz
[DEBUG] main::write_mp3_tags(954): add_frame: TIT2=FTG, Pt. 1
[DEBUG] main::write_mp3_tags(954): add_frame: TCON=pop
[DEBUG] main::write_mp3_tags(954): add_frame: APIC=ARRAY(0x5614d6ff
[INFO] MP3 tags added for ./aHvv6yzkrR
[INFO] ./aHvv6yzkrR -> ./Too Many Zooz - FTG, Pt. 1.mp3
[OK] Done!

mp3info -x *.mp3
Too Many Zooz - FTG, Pt. 1.mp3 does not have an ID3 1.x tag.
File: Too Many Zooz - FTG, Pt. 1.mp3
Media Type:  MPEG 1.0 Layer III
Audio:       128 kbps, 44 kHz (joint stereo)
Emphasis:    none
CRC:         No
Copyright:   No
Original:    Yes
Padding:     Yes
Length:      0:30```

Не удается скачать музыку в 320kbps

Доброго времени суток!
Не удается скачать ни один трек по следующей команде:
perl ya.pl -u https://music.yandex.ru/album/2747498/track/23559960 --auth {39_digit_auth_header_token} --bitrate 320 --debug -d /music
Получаю ошибку:
[DEBUG] main::get_track_url(556): Can't find track with proper format & bitrate
Делаю что-то не так, или просто лавочку прикрыли, и в HQ скачать уже ничего нельзя?
Спасибо за скрипт!

Cannot interrupt the process

Ctrl+C does not interrupt the process. At least when run in Docker (I have not checked other deployments) with --interactive --tty options. At least on Windows (I have not checked other operating systems).

Path

Hi there, may I know how to add it to path?

Пропускать существующие треки

привет. посмотрел примеры использования и поискал в issues, но похоже не прям такое есть.
можно ли сделать, чтобы скрипт сам не скачивал файл, если он уже есть?
я видел что можно указать файл со списком треков, которые не надо скачивать, но хотелось бы чтобы скрипт мог сам в список файлов заглядывать.
у меня очень много треков, не все за один проход скачиваются, и иногда новые появляются. хотелось бы автоматизировать это, не перекачивая все файлы.

Missing perl modules during install

Macos Monterey

Done all your instructions
Now running:
$ perl ya.pl -h

Getting:
Please, install this modules: Mozilla::CA, File::Util, MP3::Tag

Running:
cpanm Mozilla::CA, File::Util, MP3::Tag

Getting:

! Finding Mozilla::CA, on cpanmetadb failed.
! Finding Mozilla::CA, () on mirror http://www.cpan.org failed.
! Couldn't find module or a distribution Mozilla::CA,
! Finding File::Util, on cpanmetadb failed.
! Finding File::Util, () on mirror http://www.cpan.org failed.
! Couldn't find module or a distribution File::Util,

Add attaching the lyrics

Hello! Thank you for your great software.
It would be great if you attach the lyrics to the audio metadata. Lyrics are accessible from the track handler API path in the JSON response. For example,
https://music.yandex.ru/handlers/track.jsx?track=46402425%3A6255689&lang=ru&external-domain=music.yandex.ru&overembed=false&ncrnd=0.7224647013686882 hast the lyric attribute

{
  "counter": 1,
  "artists": [
    {
      "id": "5054100",
      "name": "Дайте танк (!)",
      "various": false,
      "composer": false,
      "cover": {
        "type": "from-artist-photos",
        "uri": "avatars.yandex.net/get-music-content/2480468/6537dc4f.p.5054100/%%",
        "prefix": "6537dc4f.p.5054100/"
      },
      "ogImage": "avatars.yandex.net/get-music-content/2480468/6537dc4f.p.5054100/%%",
      "noPicturesFromSearch": true,
      "genres": [
        "local-indie"
      ],
      "counts": {
        "tracks": 108,
        "directAlbums": 18,
        "alsoAlbums": 2,
        "alsoTracks": 2
      },
      "available": true,
      "ratings": {
        "week": 78,
        "month": 103,
        "day": 72
      },
      "links": [
        {
          "title": "daitetank.ru",
          "href": "http://daitetank.ru/",
          "type": "official"
        },
        {
          "title": "channel/UCqJ2L80I0pFEl1WZWZYklzw",
          "href": "https://www.youtube.com/channel/UCqJ2L80I0pFEl1WZWZYklzw",
          "type": "social",
          "socialNetwork": "youtube"
        },
        {
          "title": "daitetank",
          "href": "https://vk.com/daitetank",
          "type": "social",
          "socialNetwork": "vk"
        }
      ],
      "ticketsAvailable": false
    }
  ],
  "aliases": [],
  "otherVersions": {},
  "similarTracks": [
    {
      "id": "85647597",
      "realId": "85647597",
      "title": "Двадцать",
      "major": {
        "id": 1,
        "name": "UNIVERSAL_MUSIC"
      },
      "available": true,
      "availableForPremiumUsers": true,
      "availableFullWithoutPermission": false,
      "storageDir": "",
      "durationMs": 215260,
      "fileSize": 0,
      "r128": {
        "i": -9.6,
        "tp": 0.06
      },
      "previewDurationMs": 30000,
      "artists": [
        {
          "id": 3836355,
          "name": "Shortparis",
          "various": false,
          "composer": false,
          "cover": {
            "type": "from-artist-photos",
            "uri": "avatars.yandex.net/get-music-content/2397565/0ee820d0.p.3836355/%%",
            "prefix": "0ee820d0.p.3836355/"
          },
          "genres": []
        }
      ],
      "albums": [
        {
          "id": 16375345,
          "title": "Яблонный сад",
          "metaType": "music",
          "contentWarning": "explicit",
          "year": 2021,
          "releaseDate": "2021-06-24T00:00:00+03:00",
          "coverUri": "avatars.yandex.net/get-music-content/5235336/ec72931b.a.16375345-1/%%",
          "ogImage": "avatars.yandex.net/get-music-content/5235336/ec72931b.a.16375345-1/%%",
          "genre": "local-indie",
          "trackCount": 11,
          "likesCount": 2215,
          "recent": false,
          "veryImportant": false,
          "artists": [
            {
              "id": 3836355,
              "name": "Shortparis",
              "various": false,
              "composer": false,
              "cover": {
                "type": "from-artist-photos",
                "uri": "avatars.yandex.net/get-music-content/2397565/0ee820d0.p.3836355/%%",
                "prefix": "0ee820d0.p.3836355/"
              },
              "genres": []
            }
          ],
          "labels": [
            {
              "id": 448618,
              "name": "Universal Music"
            }
          ],
          "available": true,
          "availableForPremiumUsers": true,
          "availableForMobile": true,
          "availablePartially": false,
          "bests": [
            85647594,
            81733102,
            85647597
          ],
          "trackPosition": {
            "volume": 1,
            "index": 8
          }
        }
      ],
      "coverUri": "avatars.yandex.net/get-music-content/5235336/ec72931b.a.16375345-1/%%",
      "ogImage": "avatars.yandex.net/get-music-content/5235336/ec72931b.a.16375345-1/%%",
      "lyricsAvailable": true,
      "type": "music",
      "rememberPosition": false,
      "backgroundVideoUri": "https://strm.yandex.ru/vh-music-videoshots-converted/vod-content/8999043040986813294/mp4/mp4/360x640p.mp4",
      "trackSharingFlag": "VIDEO_ALLOWED",
      "playerId": "vxVMOXpfkwB4",
      "lyricsInfo": {
        "hasAvailableSyncLyrics": true,
        "hasAvailableTextLyrics": true
      },
      "trackSource": "OWN"
    },
    {
      "id": "102412676",
      "realId": "102412676",
      "title": "Еду к тебе",
      "major": {
        "id": 298,
        "name": "REPOST"
      },
      "available": true,
      "availableForPremiumUsers": true,
      "availableFullWithoutPermission": false,
      "storageDir": "",
      "durationMs": 181490,
      "fileSize": 0,
      "r128": {
        "i": -9.51,
        "tp": -0.88
      },
      "previewDurationMs": 30000,
      "artists": [
        {
          "id": 9160246,
          "name": "Митя Крылов",
          "various": false,
          "composer": false,
          "cover": {
            "type": "from-artist-photos",
            "uri": "avatars.yandex.net/get-music-content/2806365/15cc716b.p.9160246/%%",
            "prefix": "15cc716b.p.9160246/"
          },
          "genres": []
        }
      ],
      "albums": [
        {
          "id": 21734625,
          "title": "НОМЕР ДВА",
          "metaType": "music",
          "contentWarning": "explicit",
          "year": 2022,
          "releaseDate": "2022-03-12T00:00:00+03:00",
          "coverUri": "avatars.yandex.net/get-music-content/5503671/cf830468.a.21734625-1/%%",
          "ogImage": "avatars.yandex.net/get-music-content/5503671/cf830468.a.21734625-1/%%",
          "genre": "alternative",
          "trackCount": 5,
          "likesCount": 3,
          "recent": false,
          "veryImportant": false,
          "artists": [
            {
              "id": 9160246,
              "name": "Митя Крылов",
              "various": false,
              "composer": false,
              "cover": {
                "type": "from-artist-photos",
                "uri": "avatars.yandex.net/get-music-content/2806365/15cc716b.p.9160246/%%",
                "prefix": "15cc716b.p.9160246/"
              },
              "genres": []
            }
          ],
          "labels": [
            {
              "id": 2257091,
              "name": "Митя Крылов"
            }
          ],
          "available": true,
          "availableForPremiumUsers": true,
          "availableForMobile": true,
          "availablePartially": false,
          "bests": [],
          "trackPosition": {
            "volume": 1,
            "index": 2
          }
        }
      ],
      "coverUri": "avatars.yandex.net/get-music-content/5503671/cf830468.a.21734625-1/%%",
      "ogImage": "avatars.yandex.net/get-music-content/5503671/cf830468.a.21734625-1/%%",
      "lyricsAvailable": false,
      "type": "music",
      "rememberPosition": false,
      "trackSharingFlag": "COVER_ONLY",
      "lyricsInfo": {
        "hasAvailableSyncLyrics": false,
        "hasAvailableTextLyrics": false
      },
      "trackSource": "OWN"
    },
    {
      "id": "49376183",
      "realId": "49376183",
      "title": "Всех сдал",
      "major": {
        "id": 123,
        "name": "IRICOM"
      },
      "available": true,
      "availableForPremiumUsers": true,
      "availableFullWithoutPermission": false,
      "storageDir": "",
      "durationMs": 169950,
      "fileSize": 0,
      "r128": {
        "i": -7.91,
        "tp": 0.32
      },
      "previewDurationMs": 30000,
      "artists": [
        {
          "id": 2816301,
          "name": "МОРЭ&РЭЛЬСЫ",
          "various": false,
          "composer": false,
          "cover": {
            "type": "from-album-cover",
            "uri": "avatars.yandex.net/get-music-content/5587254/82736828.a.20153296-1/%%",
            "prefix": "82736828.a.20153296-1"
          },
          "genres": []
        }
      ],
      "albums": [
        {
          "id": 6776583,
          "title": "Ломая суть демо (ЛСД)",
          "metaType": "music",
          "year": 2018,
          "releaseDate": "2018-11-06T00:00:00+03:00",
          "coverUri": "avatars.yandex.net/get-music-content/108289/7f673d54.a.6776583-1/%%",
          "ogImage": "avatars.yandex.net/get-music-content/108289/7f673d54.a.6776583-1/%%",
          "genre": "local-indie",
          "trackCount": 11,
          "likesCount": 2,
          "recent": false,
          "veryImportant": false,
          "artists": [
            {
              "id": 2816301,
              "name": "МОРЭ&РЭЛЬСЫ",
              "various": false,
              "composer": false,
              "cover": {
                "type": "from-album-cover",
                "uri": "avatars.yandex.net/get-music-content/5587254/82736828.a.20153296-1/%%",
                "prefix": "82736828.a.20153296-1"
              },
              "genres": []
            }
          ],
          "labels": [
            {
              "id": 490803,
              "name": "Первое музыкальное"
            }
          ],
          "available": true,
          "availableForPremiumUsers": true,
          "availableForMobile": true,
          "availablePartially": false,
          "bests": [
            49376179,
            49376182
          ],
          "trackPosition": {
            "volume": 1,
            "index": 7
          }
        }
      ],
      "coverUri": "avatars.yandex.net/get-music-content/108289/7f673d54.a.6776583-1/%%",
      "ogImage": "avatars.yandex.net/get-music-content/108289/7f673d54.a.6776583-1/%%",
      "lyricsAvailable": false,
      "type": "music",
      "rememberPosition": false,
      "trackSharingFlag": "VIDEO_ALLOWED",
      "lyricsInfo": {
        "hasAvailableSyncLyrics": false,
        "hasAvailableTextLyrics": false
      },
      "trackSource": "OWN"
    },
    {
      "id": "39541761",
      "realId": "39541761",
      "title": "когда?",
      "major": {
        "id": 87,
        "name": "BELIEVE_DIGITAL"
      },
      "available": true,
      "availableForPremiumUsers": true,
      "availableFullWithoutPermission": false,
      "storageDir": "",
      "durationMs": 225220,
      "fileSize": 0,
      "r128": {
        "i": -8.7,
        "tp": 0.19
      },
      "previewDurationMs": 30000,
      "artists": [
        {
          "id": 5364444,
          "name": "источник",
          "various": false,
          "composer": false,
          "cover": {
            "type": "from-artist-photos",
            "uri": "avatars.yandex.net/get-music-content/2373979/9ce3c23f.p.5364444/%%",
            "prefix": "9ce3c23f.p.5364444/"
          },
          "genres": []
        }
      ],
      "albums": [
        {
          "id": 5106602,
          "title": "Когда?",
          "type": "single",
          "metaType": "music",
          "year": 2018,
          "releaseDate": "2018-02-23T00:00:00+03:00",
          "coverUri": "avatars.yandex.net/get-music-content/149669/cb1c252e.a.5106602-1/%%",
          "ogImage": "avatars.yandex.net/get-music-content/149669/cb1c252e.a.5106602-1/%%",
          "genre": "punk",
          "trackCount": 1,
          "likesCount": 104,
          "recent": false,
          "veryImportant": false,
          "artists": [
            {
              "id": 5364444,
              "name": "источник",
              "various": false,
              "composer": false,
              "cover": {
                "type": "from-artist-photos",
                "uri": "avatars.yandex.net/get-music-content/2373979/9ce3c23f.p.5364444/%%",
                "prefix": "9ce3c23f.p.5364444/"
              },
              "genres": []
            }
          ],
          "labels": [
            {
              "id": 2279821,
              "name": "❀USTO4NUK❀"
            }
          ],
          "available": true,
          "availableForPremiumUsers": true,
          "availableForMobile": true,
          "availablePartially": false,
          "bests": [],
          "trackPosition": {
            "volume": 1,
            "index": 1
          }
        }
      ],
      "coverUri": "avatars.yandex.net/get-music-content/149669/cb1c252e.a.5106602-1/%%",
      "ogImage": "avatars.yandex.net/get-music-content/149669/cb1c252e.a.5106602-1/%%",
      "lyricsAvailable": false,
      "type": "music",
      "rememberPosition": false,
      "trackSharingFlag": "COVER_ONLY",
      "lyricsInfo": {
        "hasAvailableSyncLyrics": true,
        "hasAvailableTextLyrics": true
      },
      "trackSource": "OWN"
    },
    {
      "id": "101011111",
      "realId": "101011111",
      "title": "Убегай",
      "contentWarning": "explicit",
      "major": {
        "id": 123,
        "name": "IRICOM"
      },
      "available": true,
      "availableForPremiumUsers": true,
      "availableFullWithoutPermission": false,
      "storageDir": "",
      "durationMs": 280000,
      "fileSize": 0,
      "r128": {
        "i": -11.02,
        "tp": -0.19
      },
      "previewDurationMs": 30000,
      "artists": [
        {
          "id": 13191077,
          "name": "Извините за опоздание",
          "various": false,
          "composer": false,
          "cover": {
            "type": "from-artist-photos",
            "uri": "avatars.yandex.net/get-music-content/5485872/5767e62f.p.13191077/%%",
            "prefix": "5767e62f.p.13191077/"
          },
          "genres": []
        }
      ],
      "albums": [
        {
          "id": 21261469,
          "title": "Грустно",
          "metaType": "music",
          "contentWarning": "explicit",
          "year": 2022,
          "releaseDate": "2022-02-18T00:00:00+03:00",
          "coverUri": "avatars.yandex.net/get-music-content/5531900/c39eebe7.a.21261469-1/%%",
          "ogImage": "avatars.yandex.net/get-music-content/5531900/c39eebe7.a.21261469-1/%%",
          "genre": "rusrock",
          "trackCount": 7,
          "likesCount": 56,
          "recent": false,
          "veryImportant": false,
          "artists": [
            {
              "id": 13191077,
              "name": "Извините за опоздание",
              "various": false,
              "composer": false,
              "cover": {
                "type": "from-artist-photos",
                "uri": "avatars.yandex.net/get-music-content/5485872/5767e62f.p.13191077/%%",
                "prefix": "5767e62f.p.13191077/"
              },
              "genres": []
            }
          ],
          "labels": [
            {
              "id": 1220958,
              "name": "Vauvision"
            }
          ],
          "available": true,
          "availableForPremiumUsers": true,
          "availableForMobile": true,
          "availablePartially": false,
          "bests": [
            101011109,
            101011115
          ],
          "trackPosition": {
            "volume": 1,
            "index": 4
          }
        }
      ],
      "coverUri": "avatars.yandex.net/get-music-content/5531900/c39eebe7.a.21261469-1/%%",
      "ogImage": "avatars.yandex.net/get-music-content/5531900/c39eebe7.a.21261469-1/%%",
      "lyricsAvailable": false,
      "type": "music",
      "rememberPosition": false,
      "trackSharingFlag": "VIDEO_ALLOWED",
      "lyricsInfo": {
        "hasAvailableSyncLyrics": false,
        "hasAvailableTextLyrics": false
      },
      "trackSource": "OWN"
    },
    {
      "id": "2291868",
      "realId": "2291868",
      "title": "P.R.",
      "major": {
        "id": 87,
        "name": "BELIEVE_DIGITAL"
      },
      "available": true,
      "availableForPremiumUsers": true,
      "availableFullWithoutPermission": false,
      "storageDir": "",
      "durationMs": 195130,
      "fileSize": 0,
      "r128": {
        "i": -8.34,
        "tp": 0.21
      },
      "previewDurationMs": 30000,
      "artists": [
        {
          "id": 454163,
          "name": "Leut Magnetik",
          "various": false,
          "composer": false,
          "cover": {
            "type": "from-album-cover",
            "uri": "avatars.yandex.net/get-music-content/118603/ada67bc6.a.7738131-1/%%",
            "prefix": "ada67bc6.a.7738131-1"
          },
          "genres": []
        }
      ],
      "albums": [
        {
          "id": 227183,
          "title": "Leut Magnetik",
          "metaType": "music",
          "year": 2005,
          "releaseDate": "2005-01-01T00:00:00+03:00",
          "coverUri": "avatars.yandex.net/get-music-content/34131/5b367d16.a.227183-1/%%",
          "ogImage": "avatars.yandex.net/get-music-content/34131/5b367d16.a.227183-1/%%",
          "genre": "folk",
          "trackCount": 11,
          "recent": false,
          "veryImportant": false,
          "artists": [
            {
              "id": 454163,
              "name": "Leut Magnetik",
              "various": false,
              "composer": false,
              "cover": {
                "type": "from-album-cover",
                "uri": "avatars.yandex.net/get-music-content/118603/ada67bc6.a.7738131-1/%%",
                "prefix": "ada67bc6.a.7738131-1"
              },
              "genres": []
            }
          ],
          "labels": [
            {
              "id": 19306,
              "name": "Aquarius"
            }
          ],
          "available": true,
          "availableForPremiumUsers": true,
          "availableForMobile": true,
          "availablePartially": false,
          "bests": [],
          "trackPosition": {
            "volume": 1,
            "index": 6
          }
        }
      ],
      "coverUri": "avatars.yandex.net/get-music-content/34131/5b367d16.a.227183-1/%%",
      "ogImage": "avatars.yandex.net/get-music-content/34131/5b367d16.a.227183-1/%%",
      "lyricsAvailable": false,
      "type": "music",
      "rememberPosition": false,
      "trackSharingFlag": "COVER_ONLY",
      "lyricsInfo": {
        "hasAvailableSyncLyrics": false,
        "hasAvailableTextLyrics": false
      },
      "trackSource": "OWN"
    },
    {
      "id": "92471336",
      "realId": "92471336",
      "title": "Пластилин",
      "major": {
        "id": 143,
        "name": "FRESH_TUNES"
      },
      "available": true,
      "availableForPremiumUsers": true,
      "availableFullWithoutPermission": false,
      "storageDir": "",
      "durationMs": 156980,
      "fileSize": 0,
      "r128": {
        "i": -6.27,
        "tp": -0.11
      },
      "previewDurationMs": 30000,
      "artists": [
        {
          "id": 8497052,
          "name": "ZeNoir",
          "various": false,
          "composer": false,
          "cover": {
            "type": "from-album-cover",
            "uri": "avatars.yandex.net/get-music-content/5587254/6dfc3d90.a.21060806-1/%%",
            "prefix": "6dfc3d90.a.21060806-1"
          },
          "genres": []
        }
      ],
      "albums": [
        {
          "id": 18531931,
          "title": "Пластилин",
          "metaType": "music",
          "year": 2021,
          "releaseDate": "2021-09-27T00:00:00+03:00",
          "coverUri": "avatars.yandex.net/get-music-content/5559490/98b9bce8.a.18531931-1/%%",
          "ogImage": "avatars.yandex.net/get-music-content/5559490/98b9bce8.a.18531931-1/%%",
          "genre": "indie",
          "trackCount": 4,
          "recent": false,
          "veryImportant": false,
          "artists": [
            {
              "id": 8497052,
              "name": "ZeNoir",
              "various": false,
              "composer": false,
              "cover": {
                "type": "from-album-cover",
                "uri": "avatars.yandex.net/get-music-content/5587254/6dfc3d90.a.21060806-1/%%",
                "prefix": "6dfc3d90.a.21060806-1"
              },
              "genres": []
            }
          ],
          "labels": [
            {
              "id": 3707682,
              "name": "Magnitofon Music"
            }
          ],
          "available": true,
          "availableForPremiumUsers": true,
          "availableForMobile": true,
          "availablePartially": false,
          "bests": [],
          "trackPosition": {
            "volume": 1,
            "index": 1
          }
        }
      ],
      "coverUri": "avatars.yandex.net/get-music-content/5559490/98b9bce8.a.18531931-1/%%",
      "ogImage": "avatars.yandex.net/get-music-content/5559490/98b9bce8.a.18531931-1/%%",
      "lyricsAvailable": false,
      "type": "music",
      "rememberPosition": false,
      "trackSharingFlag": "COVER_ONLY",
      "lyricsInfo": {
        "hasAvailableSyncLyrics": false,
        "hasAvailableTextLyrics": false
      },
      "trackSource": "OWN"
    },
    {
      "id": "104667761",
      "realId": "104667761",
      "title": "Будем гулять всю ночь",
      "major": {
        "id": 308,
        "name": "ONERPM"
      },
      "available": true,
      "availableForPremiumUsers": true,
      "availableFullWithoutPermission": false,
      "storageDir": "",
      "durationMs": 250180,
      "fileSize": 0,
      "r128": {
        "i": -4.52,
        "tp": 0.78
      },
      "previewDurationMs": 30000,
      "artists": [
        {
          "id": 13942057,
          "name": "Письмо на Марс",
          "various": false,
          "composer": false,
          "cover": {
            "type": "from-album-cover",
            "uri": "avatars.yandex.net/get-music-content/6255016/3a207191.a.23613443-1/%%",
            "prefix": "3a207191.a.23613443-1"
          },
          "genres": []
        }
      ],
      "albums": [
        {
          "id": 22556892,
          "title": "Будем гулять всю ночь",
          "type": "single",
          "metaType": "music",
          "year": 2022,
          "releaseDate": "2022-06-06T00:00:00+03:00",
          "coverUri": "avatars.yandex.net/get-music-content/6296749/da379867.a.22556892-1/%%",
          "ogImage": "avatars.yandex.net/get-music-content/6296749/da379867.a.22556892-1/%%",
          "genre": "alternative",
          "trackCount": 1,
          "likesCount": 1,
          "recent": false,
          "veryImportant": false,
          "artists": [
            {
              "id": 13942057,
              "name": "Письмо на Марс",
              "various": false,
              "composer": false,
              "cover": {
                "type": "from-album-cover",
                "uri": "avatars.yandex.net/get-music-content/6255016/3a207191.a.23613443-1/%%",
                "prefix": "3a207191.a.23613443-1"
              },
              "genres": []
            }
          ],
          "labels": [
            {
              "id": 3984470,
              "name": "Письмо на Марс"
            }
          ],
          "available": true,
          "availableForPremiumUsers": true,
          "availableForMobile": true,
          "availablePartially": false,
          "bests": [],
          "trackPosition": {
            "volume": 1,
            "index": 1
          }
        }
      ],
      "coverUri": "avatars.yandex.net/get-music-content/6296749/da379867.a.22556892-1/%%",
      "ogImage": "avatars.yandex.net/get-music-content/6296749/da379867.a.22556892-1/%%",
      "lyricsAvailable": false,
      "type": "music",
      "rememberPosition": false,
      "trackSharingFlag": "COVER_ONLY",
      "lyricsInfo": {
        "hasAvailableSyncLyrics": false,
        "hasAvailableTextLyrics": false
      },
      "trackSource": "OWN"
    },
    {
      "id": "42834874",
      "realId": "42834874",
      "title": "Кто я такой",
      "major": {
        "id": 123,
        "name": "IRICOM"
      },
      "available": true,
      "availableForPremiumUsers": true,
      "availableFullWithoutPermission": false,
      "storageDir": "",
      "durationMs": 188670,
      "fileSize": 0,
      "r128": {
        "i": -6.59,
        "tp": -0.08
      },
      "previewDurationMs": 30000,
      "artists": [
        {
          "id": 4184841,
          "name": "ATOW",
          "various": false,
          "composer": false,
          "cover": {
            "type": "from-artist-photos",
            "uri": "avatars.yandex.net/get-music-content/6202531/35d31852.p.4184841/%%",
            "prefix": "35d31852.p.4184841/"
          },
          "genres": []
        }
      ],
      "albums": [
        {
          "id": 5675862,
          "title": "Предсмертные записки несуществующих людей",
          "metaType": "music",
          "year": 2018,
          "releaseDate": "2018-08-22T00:00:00+03:00",
          "coverUri": "avatars.yandex.net/get-music-content/192707/b0b10301.a.5675862-1/%%",
          "ogImage": "avatars.yandex.net/get-music-content/192707/b0b10301.a.5675862-1/%%",
          "genre": "indie",
          "trackCount": 5,
          "likesCount": 2,
          "recent": false,
          "veryImportant": false,
          "artists": [
            {
              "id": 4184841,
              "name": "ATOW",
              "various": false,
              "composer": false,
              "cover": {
                "type": "from-artist-photos",
                "uri": "avatars.yandex.net/get-music-content/6202531/35d31852.p.4184841/%%",
                "prefix": "35d31852.p.4184841/"
              },
              "genres": []
            }
          ],
          "labels": [
            {
              "id": 1099709,
              "name": "Ionoff Music"
            }
          ],
          "available": true,
          "availableForPremiumUsers": true,
          "availableForMobile": true,
          "availablePartially": false,
          "bests": [],
          "trackPosition": {
            "volume": 1,
            "index": 1
          }
        }
      ],
      "coverUri": "avatars.yandex.net/get-music-content/192707/b0b10301.a.5675862-1/%%",
      "ogImage": "avatars.yandex.net/get-music-content/192707/b0b10301.a.5675862-1/%%",
      "lyricsAvailable": false,
      "type": "music",
      "rememberPosition": false,
      "trackSharingFlag": "VIDEO_ALLOWED",
      "lyricsInfo": {
        "hasAvailableSyncLyrics": false,
        "hasAvailableTextLyrics": false
      },
      "trackSource": "OWN"
    },
    {
      "id": "25517034",
      "realId": "25517034",
      "title": "Бойз Донт Край",
      "contentWarning": "explicit",
      "major": {
        "id": 308,
        "name": "ONERPM"
      },
      "available": true,
      "availableForPremiumUsers": true,
      "availableFullWithoutPermission": false,
      "storageDir": "",
      "durationMs": 551440,
      "fileSize": 0,
      "r128": {
        "i": -6.15,
        "tp": 0.71
      },
      "previewDurationMs": 30000,
      "artists": [
        {
          "id": 359561,
          "name": "Курара",
          "various": false,
          "composer": false,
          "cover": {
            "type": "from-artist-photos",
            "uri": "avatars.yandex.net/get-music-content/4747389/80abdd16.p.359561/%%",
            "prefix": "80abdd16.p.359561/"
          },
          "genres": []
        }
      ],
      "albums": [
        {
          "id": 17870709,
          "title": "Бойз Донт Край",
          "metaType": "music",
          "contentWarning": "explicit",
          "year": 2015,
          "releaseDate": "2015-10-13T00:00:00+03:00",
          "coverUri": "avatars.yandex.net/get-music-content/5234929/e18da5cb.a.17870709-1/%%",
          "ogImage": "avatars.yandex.net/get-music-content/5234929/e18da5cb.a.17870709-1/%%",
          "genre": "local-indie",
          "trackCount": 5,
          "likesCount": 16,
          "recent": false,
          "veryImportant": false,
          "artists": [
            {
              "id": 359561,
              "name": "Курара",
              "various": false,
              "composer": false,
              "cover": {
                "type": "from-artist-photos",
                "uri": "avatars.yandex.net/get-music-content/4747389/80abdd16.p.359561/%%",
                "prefix": "80abdd16.p.359561/"
              },
              "genres": []
            }
          ],
          "labels": [
            {
              "id": 1449158,
              "name": "КУРАРА"
            }
          ],
          "available": true,
          "availableForPremiumUsers": true,
          "availableForMobile": true,
          "availablePartially": false,
          "bests": [
            90428861
          ],
          "trackPosition": {
            "volume": 1,
            "index": 1
          }
        }
      ],
      "coverUri": "avatars.yandex.net/get-music-content/5234929/e18da5cb.a.17870709-1/%%",
      "ogImage": "avatars.yandex.net/get-music-content/5234929/e18da5cb.a.17870709-1/%%",
      "lyricsAvailable": false,
      "type": "music",
      "rememberPosition": false,
      "trackSharingFlag": "COVER_ONLY",
      "lyricsInfo": {
        "hasAvailableSyncLyrics": true,
        "hasAvailableTextLyrics": true
      },
      "trackSource": "OWN"
    }
  ],
  "track": {
    "id": "46402425",
    "realId": "46402425",
    "title": "Мы",
    "major": {
      "id": 87,
      "name": "BELIEVE_DIGITAL"
    },
    "available": true,
    "availableForPremiumUsers": true,
    "availableFullWithoutPermission": false,
    "storageDir": "",
    "durationMs": 182970,
    "fileSize": 0,
    "r128": {
      "i": -5.29,
      "tp": -0.25
    },
    "previewDurationMs": 30000,
    "artists": [
      {
        "id": 5054100,
        "name": "Дайте танк (!)",
        "various": false,
        "composer": false,
        "cover": {
          "type": "from-artist-photos",
          "uri": "avatars.yandex.net/get-music-content/2480468/6537dc4f.p.5054100/%%",
          "prefix": "6537dc4f.p.5054100/"
        },
        "genres": []
      }
    ],
    "albums": [
      {
        "id": 6255689,
        "title": "На вырост",
        "type": "single",
        "metaType": "music",
        "year": 2018,
        "releaseDate": "2018-11-27T00:00:00+03:00",
        "coverUri": "avatars.yandex.net/get-music-content/3226792/7e2b95cc.a.6255689-5/%%",
        "ogImage": "avatars.yandex.net/get-music-content/3226792/7e2b95cc.a.6255689-5/%%",
        "genre": "local-indie",
        "trackCount": 3,
        "likesCount": 4757,
        "recent": false,
        "veryImportant": false,
        "artists": [
          {
            "id": 5054100,
            "name": "Дайте танк (!)",
            "various": false,
            "composer": false,
            "cover": {
              "type": "from-artist-photos",
              "uri": "avatars.yandex.net/get-music-content/2480468/6537dc4f.p.5054100/%%",
              "prefix": "6537dc4f.p.5054100/"
            },
            "genres": []
          }
        ],
        "labels": [
          {
            "id": 978492,
            "name": "Дайте танк (!)"
          }
        ],
        "available": true,
        "availableForPremiumUsers": true,
        "availableForMobile": true,
        "availablePartially": false,
        "bests": [
          46402425
        ],
        "trackPosition": {
          "volume": 1,
          "index": 2
        }
      }
    ],
    "coverUri": "avatars.yandex.net/get-music-content/3226792/7e2b95cc.a.6255689-5/%%",
    "ogImage": "avatars.yandex.net/get-music-content/3226792/7e2b95cc.a.6255689-5/%%",
    "lyricsAvailable": true,
    "type": "music",
    "rememberPosition": false,
    "trackSharingFlag": "COVER_ONLY",
    "lyricsInfo": {
      "hasAvailableSyncLyrics": true,
      "hasAvailableTextLyrics": true
    },
    "trackSource": "OWN"
  },
  "lyricsAvailable": true,
  "alsoInAlbums": [],
  "lyric": [
    {
      "majorId": 560,
      "majorName": "Musixmatch",
      "writers": "Дайте танк (!)",
      "externalLyricId": "90113380",
      "lyricId": 8397144,
      "fullLyrics": "Мы разрисуем все заборы своими стихами\nДостань, пожалуйста, краску из рюкзака\nНам ни к чему учителя — мы придумаем сами\nПравила русского языка\n\nКогда экономят силы все остальные\nМы заранее готовимся к ностальгии\nМы решили: дорога каждая минута\nМы валяем дурака, и пока\nВпечатления — наша валюта\n\nМы сказочно богаты\nСказочно богаты\nСказочно богаты\nТы и я\nЭй, подожди, куда ты?\nПодожди, куда ты?\nПодожди, куда ты\nМолодость моя?\n\nДавай в подземном переходе играть на гитаре?\nНотная грамота тоже нам не нужна\nНа фоне площади луна\nКак огромный фонарик\n\nИ губы, бордовые от вина\nДополнение к очкам нашим розовым\nВ этом возрасте легко быть философом\nВ этом мире даже на приключения\nПоднимается цена, но она\nНе имеет значения\n\nМы сказочно богаты\nСказочно богаты\nСказочно богаты\nТы и я\nЭй, подожди, куда ты?\nПодожди, куда ты?\nПодожди, куда ты\nМолодость моя?\n\nМолодость моя\nМолодость моя\nМолодость моя!",
      "lyrics": "Мы разрисуем все заборы своими стихами\nДостань, пожалуйста, краску из рюкзака\nНам ни к чему учителя — мы придумаем сами\nПравила русского языка"
    }
  ],
  "episodeDescription": [],
  "videos": [
    {
      "cover": "https://avatars.yandex.net/get-music-content/6255016/1479fd1b.a.22146772-1/%%",
      "title": "Мы",
      "embedUrl": "https://frontend.vh.yandex.ru/player/8832287696922927833?service=ya-video&from=ya-music"
    }
  ],
  "isUgcTrack": false
}

Thank you!

License

Hi, I'm making a Gentoo ebuild (an installation script) for your downloader and the format requires a license. How do you distribute the code?

Very nice work! But it seems I get blocked by yandex after a few Downloads

Hi!
I have your Script running with my Yandex Plus Account and russian VPN.
I can download the first ~10 Songs without any Problems. But from this Time on, I get always the message:

[ERROR] Can't get track list info                                      
[INFO] Checking Yandex.Music availability                           
[OK] Yandex.Music is available                                      
[INFO] Fetching album info: 9454617  

Do you also experience this Problem ?

Do you know if it is possible to decrypt/convert downloaded Songs by the Yandex Android App ?
I can download and find the files on the Storage from the mobile Device but Im not able to play it.

Best Regards!

Yandex.Music is not availible

I cloned the repository and after installing the dependencies with cpan and figuring out I need to prepend commands with perl. I ran into the same error all the time and the script just wouldn't get me anything useful.

kix@KiXBoX:~/yandex-music-download/src$ perl ya.pl -a=3155218Unknown option: =
Unknown option: 3
Unknown option: 1
Unknown option: 5
Unknown option: 5
Unknown option: 2
Unknown option: 1
Unknown option: 8
ya.pl [-adkptu] [long options...]
-p[=INT] --playlist[=INT] playlist id to download
-k[=STR] --kind[=STR] playlist kind (eg. ya-playlist,
music-blog, music-partners, etc.)
-a[=INT] --album[=INT] album to download
-t[=INT] --track[=INT] track to download (album id must be
specified)
-u[=STR] --url[=STR] download by URL
-d[=STR] --dir[=STR] download path (current direcotry will be
used by default)
--proxy STR HTTP-proxy (format: 1.2.3.4:8888)
--exclude STR skip tracks specified in file
--include STR download only tracks specified in file
--delay INT delay between downloads (in seconds)
--mobile INT use mobile API

--debug print debug info during work
--help print usage

--include and --exclude options use weak match i.e. ~/$term/

Example:
ya.pl -p 123 -k ya-playlist
ya.pl -a 123
ya.pl -a 123 -t 321
ya.pl -u https://music.yandex.ru/album/215690
ya.pl -u https://music.yandex.ru/album/215688/track/1710808
ya.pl -u https://music.yandex.ru/users/ya.playlist/playlists/1257
kix@KiXBoX:/yandex-music-download/src$ perl ya.pl -a 3155218
[INFO] Checking Yandex.Music availability
[ERROR] Yandex.Music is not available
[INFO] Fetching album info: 3155218
[ERROR] Can't get track list info
kix@KiXBoX:
/yandex-music-download/src$ perl ya.pl -u https://music.yandex.ru/album/3155218
[INFO] Checking Yandex.Music availability
[ERROR] Yandex.Music is not available
[INFO] Fetching album info: 3155218
[ERROR] Can't get track list info
kix@KiXBoX:/yandex-music-download/src$ sudo perl ya.pl -u https://music.yandex.ru/album/3155218
[INFO] Checking Yandex.Music availability
[ERROR] Yandex.Music is not available
[INFO] Fetching album info: 3155218
[ERROR] Can't get track list info
kix@KiXBoX:
/yandex-music-download/src$ ya.pl -u https://music.yandex.ru/album/215690
ya.pl: command not found
kix@KiXBoX:/yandex-music-download/src$ perl ya.pl -u https://music.yandex.ru/album/215690
[INFO] Checking Yandex.Music availability
[ERROR] Yandex.Music is not available
[INFO] Fetching album info: 215690
[ERROR] Can't get track list info
kix@KiXBoX:
/yandex-music-download/src$ perl ya.pl -u https://music.yandex.ru/album/215688/track/1710808
[INFO] Checking Yandex.Music availability
[ERROR] Yandex.Music is not available
[INFO] Fetching album info: 215688
[INFO] Filtering single track: 1710808 [215688]
[ERROR] Can't get track list info
kix@KiXBoX:/yandex-music-download/src$ ya.pl -u https://music.yandex.ru/users/ya.playlist/playlists/1257
ya.pl: command not found
kix@KiXBoX:
/yandex-music-download/src$ perl ya.pl -u https://music.yandex.ru/users/ya.playlist/playlists/1257
[INFO] Checking Yandex.Music availability
[ERROR] Yandex.Music is not available
[INFO] Fetching playlist info: 1257 [ya.playlist]
[ERROR] Can't get track list info
kix@KiXBoX:~/yandex-music-download/src$

Русские имена плейлистов

Кажется он не может распарсить русские имена.
На 2 плейлистах, которые имеют названия на русском получаю ошибку:

[INFO] Checking Yandex.Music availability
[OK] Yandex.Music is available
[INFO] Fetching playlist info: 1000 [username]
[ERROR] Can't get track list info

А скопированные треки в плейлист с английским названием - качает корректно

Problem

[DEBUG] main::print_debug_info(1226): OS: linux; Path: /usr/bin/perl; Version: v5.18.2
[DEBUG] main::print_debug_info(1228): Cookie: 3:1606303467.5.0.********8580:zIvsLg:e.1|176462006.0.2|226361.948517.z5q5H1BeobpDlqzTANIzndzV6Es
[INFO] Checking Yandex.Music availability
[OK] Yandex.Music is available
[INFO] Fetching album info: 12903800
[DEBUG] main::get_album_tracks_info(666): Request failed
[DEBUG] main::log_response(1215): Response stored at log_1606303606
[ERROR] Can't get track list info

Не запускается скрипт

Скачал последнюю версию, при запуске получаю ошибку
perl ya.pl Please, install this modules: Mozilla::CA, MP3::Tag, Getopt::Long::Descriptive, LWP::UserAgent, LWP::Protocol::https, HTTP::Cookies, HTML::Entities

скачивает только 618 Кбайт

Замечательный инструмент, спасибо
но есть проблема ("в шапке")
указываю --cookie='Session_id:....'
м.б. я чего-то не так указываю
куки брал из ФайрФокса
пробовал и sessionid2 и вместе с Session_id
заход из браузера по ссылке (если -l) дает тот же эффект - тоько 30сек

Ошибка "Track with non-existent path (deleted?). Skipping..."

Отличный скрипт, ничего лишнего и всё необходимое, но появилась проблема.
Ещё вчера всё отрабатывало, около 200 песен скачал, а теперь выдаёт эту ошибку.
Всё делал скриптом на macOS, его код не менялся. Что это может быть?

Содержимое моего .command файла:

cd "`dirname $0`"
perl ./ya.pl\
 -d ./ya.new\
 -u https://music.yandex.ru/users/MikkBenelis/playlists/3

Скрин результата работы (для наглядности выбрал другой плейлист с 1 треком):
image

Can i get my "Liked" tracks or get text list of album/"Liked"/playList?

Можно ли скачивать "Мне нравится"? А получать список песен по урлу?
Если нет, то вношу предложение для следующей версии)

(
Can i get my "Liked" tracks or get text list of album/"Liked"/playList by url?
)

Track number in filename [feature request]

Tracks in a playlist have an order. When a playlist is downloaded, this order is lost. I suggest to (optionally) save this order by adding a track number in the filename of the track.

For example:
01. Example author - Example title.mp3
instead of just
Example author - Example title.mp3

Downloads only 30 seconds

yandex-music-downloader only downloads a part of a track 30 seconds long. I have used --cookie option. However, in a web browser, while authenticated with the same cookie, I can listen a whole track.

Не хочет переименовывать файл

Привет!
Похоже срабатывает какое-то ограничение.
Например для трэка https://music.yandex.ru/album/1719036/track/15773883
Это пример из программы без дополнительного логирования:
[DEBUG] main::rename_track(922): CreateFileW failed with: Ñèñòåìå íå óäàåòñÿ íàéòè óêàçàííûé ïóòü
[DEBUG] main::rename_track(922): CreateFileW failed with: Ñèñòåìå íå óäàåòñÿ íàéòè óêàçàííûé ïóòü
[DEBUG] main::rename_track(922): CreateFileW failed with: Ñèñòåìå íå óäàåòñÿ íàéòè óêàçàííûé ïóòü
...
И далее бесконечный цикл с такой ошибкой.

Тут добавил три строчки логирования получил такое:
https://cloud.mail.ru/public/7QDp/ncwV3W611

ID3 tags and download by url artist

Отличная программа! Мне тольк очень нехватает скачивание по артисту, но я вышел из ситуции скриптом на питоне. Еще очень помогло бы запись тега TPE2 (исполнитель альбома) не как Various Artists а как и в TPE1 (исполнитель). А то мой в plex приходится сопоставление артиста вручную выставлять. (также пытаюсь скриптом исправить, но пока не получается)

400 URL must be absolute, and question about session_id cooike

A.
i get error
[DEBUG] main::get_track_url(634):
[DEBUG] main::get_track_url(637): Request failed
[DEBUG] main::log_response(1215): Response stored at log_1601474202

// log_1601474202
400 URL must be absolute
Content-Type: text/plain
Client-Date: Wed, 30 Sep 2020 13:56:42 GMT
Client-Warning: Internal response

400 URL must be absolute

i run: perl ya.pl -u https://music.yandex.com/users/yamusic-daily/playlists/121583123 --cookie "xxxxxx" --debug --proxy xxxxxxxx
B.
i dont understand how to get the cooike session_id
i tried to copy-paste from chrom
this what i copy
and i dont know how to put it in the arguments
so if you can explain how execly to do it
thanks

ID3 write_v24 error

Got error with several files, that write_v24 disabled.
Fast fix:
`--- a/src/ya.pl
+++ b/src/ya.pl
@@ -128,6 +128,9 @@ for my $module(@{$req_modules{ALL}}, IS_WIN ? @{$req_modules{WIN}} : @{$req_modu
}
}

+# Configure modules
+MP3::Tag->config(write_v24 => 'TRUE');
+
if(@missing_modules)
{
print 'Please, install this modules: ' . join ', ', @missing_modules;`

Writing of ID3v2.4 is not fully supported (prohibited now via `write_v24').

I saw similar issue, but didn't find anything helpful there
#40

And I see these lines in the code

# Fix for "Writing of ID3v2.4 is not fully supported (prohibited now via `write_v24')"
MP3::Tag->config
(
	id3v23_unsync => 0,
	write_v24 => 1,
	decode_encoding_v2 => 'UTF-8'
);

But it doesn't matter if I set write_v24 to 1 or 0, the program anyway ends with Writing of ID3v2.4 is not fully supported (prohibited now via write_v24').`

Here are logs of the program with --debug:

[0] $ perl ya.pl --debug -u https://music.yandex.com/album/7489514 --delay 1  --bitrate 192  --path /home/grbit/music/zendo/#artist/#album --cookie ''
[DEBUG] main::print_debug_info(1351): Yandex Music Downloader v1.5
[DEBUG] main::print_debug_info(1352): OS: linux; Path: /usr/bin/perl; Version: v5.32.1
[DEBUG] main::print_debug_info(1354): Cookie:
[INFO] Fetching album info: 7489514                                 
[INFO] Album title: Termistic                                       
[INFO] Tracks total: 16                                             
[INFO] Trying to fetch track: Max DetaL' - Trip                     
[DEBUG] main::get_track_url(723): Track url: https://s474vla.storage.yandex.net/get-mp3/815b397b27067f6e1e40d723e6ceb5c2/0005fd7c84c4f73c/rmusic/U2FsdGVkX1_lCEMzM9aQmX9Vh7ibl7CqMg-RoJ3WKAZkbJw3--08J4mk6qG7Vap49Tc-glJMT6nVq6x9A6uQ9OxnxWhtrA7zoPGbqzmTu0c/b39809eaf9d101a3661884296aca87d2acfa2bf046fdbd668974b466202d1a34?track-id=52888864&from=service-10-track&similarities-experiment=default
[DEBUG] main::download_track(597): File size from header: 481115    
[OK] Temporary saved track at ./Vh8ix4ys_z                          
[DEBUG] main::fetch_album_cover(1074): Cover URL: https://avatars.yandex.net/get-music-content/114728/b37d9a0b.a.7489514-1/400x400
[DEBUG] main::fetch_track_lyrics(1095): Lyrics URL: https://music.yandex.ru/handlers/track.jsx?track=52888864:7489514&lang=ru&external-domain=music.yandex.ru&overembed=false&ncrnd=1686082560
[DEBUG] main::write_mp3_tags(1043): add_frame: TIT2=Trip            
[DEBUG] main::write_mp3_tags(1043): add_frame: TRCK=1               
[DEBUG] main::write_mp3_tags(1043): add_frame: TCON=electronics     
[DEBUG] main::write_mp3_tags(1043): add_frame: TYER=2019            
[DEBUG] main::write_mp3_tags(1043): add_frame: TALB=Termistic       
[DEBUG] main::write_mp3_tags(1043): add_frame: TPE2=Max DetaL'      
[DEBUG] main::write_mp3_tags(1043): add_frame: APIC=ARRAY(0x55fee73f
[DEBUG] main::write_mp3_tags(1043): add_frame: TPE1=Max DetaL'      
Writing of ID3v2.4 is not fully supported (prohibited now via `write_v24').

Can someone help me a bit? I'm all thumbs with perl

Could a ' in artist name be a problem?

UPD: I've tested another album — it works fine. So, I guess the problem is the '. But I have no idea how to fix it.

Can't get track list info

Hi!
Trying to download via -u and cookie session/
Fetching playlist info, then olaylist title, then tracks total:2640, and then - ERROR (Can't get track list info)
PLZ Help, what am i doing wrong
Screenshot_1
)

some tracks&playlists not download

прилагаю файлик
new.txt

другой плейлись с 8 треками скачался нормально. пометил плейлист с 147 треками личным --не качается, публичным --не качается. Удалил треки и оставил всего 99 подумал может ограничение какое то на количество треков--не качает
new 2.txt

Перестала работать последняя версия

Не работает последняя версия скрипта
NL => IS_WIN ? "\015\012" : "\012",
./ya.pl -u https://music.yandex.ru/album/6153640/track/45788378 --debug
[DEBUG] main::print_perl_info(1144): OS: linux; Path: /usr/bin/perl; Version: v5.18.2
[INFO] Checking Yandex.Music availability
[OK] Yandex.Music is available
[INFO] Fetching album info: 6153640
[INFO] Album title: Different World
[INFO] Tracks total: 15
[INFO] Filtering single track: 45788378 [6153640]
[INFO] Trying to fetch track: Alan Walker, K-391, Emelie Hollow - Lily
[DEBUG] main::get_track_url(574): Can't find track with proper format & bitrate
[ERROR] Can't get track url
[OK] Done!

Предыдущая версия работает, но иногда криво сохраняет некоторые треки, как посмотреть версию не знаю.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.