Добавление информации об ошибке 400
This commit is contained in:
parent
26a6e5e47b
commit
51f5940140
4 changed files with 25 additions and 5 deletions
16
README.md
16
README.md
|
|
@ -88,7 +88,8 @@ usage: yandex-music-downloader [-h] [--hq] [--skip-existing] [--add-lyrics]
|
||||||
(--artist-id <ID исполнителя> | --album-id <ID альбома> | --track-id <ID трека> | --playlist-id <владелец плейлиста>/<тип плейлиста> | -u URL)
|
(--artist-id <ID исполнителя> | --album-id <ID альбома> | --track-id <ID трека> | --playlist-id <владелец плейлиста>/<тип плейлиста> | -u URL)
|
||||||
[--unsafe-path] [--dir <Папка>]
|
[--unsafe-path] [--dir <Папка>]
|
||||||
[--path-pattern <Паттерн>] --session-id <ID
|
[--path-pattern <Паттерн>] --session-id <ID
|
||||||
сессии> [--user-agent <User-Agent>]
|
сессии> [--spravka <Spravka>]
|
||||||
|
[--user-agent <User-Agent>]
|
||||||
|
|
||||||
Загрузчик музыки с сервиса Яндекс.Музыка
|
Загрузчик музыки с сервиса Яндекс.Музыка
|
||||||
|
|
||||||
|
|
@ -129,11 +130,24 @@ ID:
|
||||||
|
|
||||||
Авторизация:
|
Авторизация:
|
||||||
--session-id <ID сессии>
|
--session-id <ID сессии>
|
||||||
|
--spravka <Spravka>
|
||||||
--user-agent <User-Agent>
|
--user-agent <User-Agent>
|
||||||
по умолчанию: Mozilla/5.0 (X11; Linux x86_64)
|
по умолчанию: Mozilla/5.0 (X11; Linux x86_64)
|
||||||
AppleWebKit/537.36 (KHTML, like Gecko)
|
AppleWebKit/537.36 (KHTML, like Gecko)
|
||||||
Chrome/106.0.0.0 Safari/537.36
|
Chrome/106.0.0.0 Safari/537.36
|
||||||
```
|
```
|
||||||
|
## Ошибка 400
|
||||||
|
Ниже приведена инструкция по устранению ошибки 400.
|
||||||
|
Перейдите на сайт Яндекс.Музыки, затем проделайте следующие шаги:
|
||||||
|
|
||||||
|
### Для Firefox
|
||||||
|
1. Нажмите на иконку замочка слева от адреса сайта
|
||||||
|
2. Нажмите `Clear cookies and site data`
|
||||||
|
3. Нажмите `Remove`
|
||||||
|
4. Перезагрузите страницу
|
||||||
|
5. Прорешайте капчу
|
||||||
|
6. Скопируйте значение куки `spravka` - передайте его как аргумент
|
||||||
|
`--spravka`
|
||||||
|
|
||||||
## Спасибо
|
## Спасибо
|
||||||
Разработчикам проекта [yandex-music-download](https://github.com/kaimi-io/yandex-music-download). Оттуда был взят [код хэширования](https://github.com/kaimi-io/yandex-music-download/blob/808443cb32be82e1f54b2f708884cb7c941b4371/src/ya.pl#L720).
|
Разработчикам проекта [yandex-music-download](https://github.com/kaimi-io/yandex-music-download). Оттуда был взят [код хэширования](https://github.com/kaimi-io/yandex-music-download/blob/808443cb32be82e1f54b2f708884cb7c941b4371/src/ya.pl#L720).
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta"
|
||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "yandex-music-downloader"
|
name = "yandex-music-downloader"
|
||||||
version = "1.0.3"
|
version = "1.0.4"
|
||||||
description = "Загрузчик музыки с сервиса Яндекс.Музыка"
|
description = "Загрузчик музыки с сервиса Яндекс.Музыка"
|
||||||
requires-python = ">=3.9"
|
requires-python = ">=3.9"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
|
|
|
||||||
|
|
@ -120,6 +120,7 @@ def main():
|
||||||
auth_group.add_argument('--session-id',
|
auth_group.add_argument('--session-id',
|
||||||
required=True,
|
required=True,
|
||||||
metavar='<ID сессии>')
|
metavar='<ID сессии>')
|
||||||
|
auth_group.add_argument('--spravka', metavar='<Spravka>')
|
||||||
auth_group.add_argument('--user-agent',
|
auth_group.add_argument('--user-agent',
|
||||||
default=DEFAULT_USER_AGENT,
|
default=DEFAULT_USER_AGENT,
|
||||||
metavar='<User-Agent>',
|
metavar='<User-Agent>',
|
||||||
|
|
@ -149,7 +150,8 @@ def main():
|
||||||
time.sleep(args.delay)
|
time.sleep(args.delay)
|
||||||
|
|
||||||
def setup_session(session: Session):
|
def setup_session(session: Session):
|
||||||
core.setup_session(session, args.session_id, args.user_agent)
|
core.setup_session(session, args.session_id, args.user_agent,
|
||||||
|
args.spravka)
|
||||||
session.hooks = {'response': response_hook}
|
session.hooks = {'response': response_hook}
|
||||||
|
|
||||||
session = cached_session = Session()
|
session = cached_session = Session()
|
||||||
|
|
|
||||||
|
|
@ -73,9 +73,13 @@ def set_id3_tags(path: Path, track: BasicTrackInfo, lyrics: Optional[str],
|
||||||
tag.save()
|
tag.save()
|
||||||
|
|
||||||
|
|
||||||
def setup_session(session: Session, session_id: str,
|
def setup_session(session: Session,
|
||||||
user_agent: str) -> Session:
|
session_id: str,
|
||||||
|
user_agent: str,
|
||||||
|
spravka: Optional[str] = None) -> Session:
|
||||||
session.cookies.set('Session_id', session_id, domain='yandex.ru')
|
session.cookies.set('Session_id', session_id, domain='yandex.ru')
|
||||||
|
if spravka:
|
||||||
|
session.cookies.set('spravka', spravka, domain='yandex.ru')
|
||||||
session.headers['User-Agent'] = user_agent
|
session.headers['User-Agent'] = user_agent
|
||||||
session.headers['X-Retpath-Y'] = urllib.parse.quote_plus(
|
session.headers['X-Retpath-Y'] = urllib.parse.quote_plus(
|
||||||
'https://music.yandex.ru')
|
'https://music.yandex.ru')
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue