Music-Hunter - ΡΡΠΎ ΠΊΠΎΠ½ΡΠΎΠ»ΡΠ½Π°Ρ ΡΡΠΈΠ»ΠΈΡΠ° Π½Π° Python, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ:
- Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ ΠΊΡΡ Π―Π½Π΄Π΅ΠΊΡ.ΠΡΠ·ΡΠΊΠΈ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅;
- ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠΊΠ°ΡΠ°Π½Π½ΡΠ΅ ΡΡΠ΅ΠΊΠΈ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΠ°ΠΏΠΊΡ;
- ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ ΠΏΠΎ ΡΠ°Π±Π»ΠΎΠ½Ρ
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ - ΠΠ°Π·Π²Π°Π½ΠΈΠ΅.mp3, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· API Π―Π½Π΄Π΅ΠΊΡΠ°.
Π£ΡΠΈΠ»ΠΈΡΠ° ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Π° Π½Π° Windows, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ Π½Π° Π΄ΡΡΠ³ΠΈΡ ΠΠ‘ (ΠΏΡΠΈ Π½Π°Π»ΠΈΡΠΈΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π―Π½Π΄Π΅ΠΊΡ.ΠΡΠ·ΡΠΊΠΈ ΠΈ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ Π΄ΠΎΡΠ°Π±ΠΎΡΠΎΠΊ ΠΏΡΡΠ΅ΠΉ).
- π ΠΠ²ΡΠΎΠΏΠΎΠΈΡΠΊ ΠΏΠ°ΠΏΠΊΠΈ Ρ ΠΊΡΡΠ΅ΠΌ Π―Π½Π΄Π΅ΠΊΡ.ΠΡΠ·ΡΠΊΠΈ (Π²
%LOCALAPPDATA%\Packages\...). - π ΠΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ MP3βΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΏΠ°ΠΏΠΊΡ
music/ΡΡΠ΄ΠΎΠΌ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ. - π·οΈ ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ΅ΠΊΠΎΠ² ΡΠ΅ΡΠ΅Π· API Π―Π½Π΄Π΅ΠΊΡΠ° (ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ).
- β‘ ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ - Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Ρ GitHub.
ΠΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ:
pip install yandex-music mutagenΠ’Π°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ:
pathlib,json,os,sys,shutil,zipfile,iorequests(Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π²ΠΌΠ΅ΡΡΠ΅ Ρyandex-music).
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Windows, Python Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π²
PATH(ΠΈΠ»ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΠΉΡΠ΅ ΡΠ΅ΡΠ΅Π·start.bat).
- ΠΠ»ΠΎΠ½ΠΈΡΡΠΉΡΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ ΠΈΠ»ΠΈ ΡΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ΅Π»ΠΈΠ·.
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ (ΡΠΌ. Π²ΡΡΠ΅).
- ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
- Windows: Π΄Π²Π°ΠΆΠ΄Ρ ΡΡΠ»ΠΊΠ½ΠΈΡΠ΅
start.batΠΈΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅:python main.py
- Linux/macOS:
python3 main.py
- Windows: Π΄Π²Π°ΠΆΠ΄Ρ ΡΡΠ»ΠΊΠ½ΠΈΡΠ΅
- ΠΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π°ΠΉΠ΄ΡΡ ΠΏΠ°ΠΏΠΊΡ Ρ ΠΊΡΡΠ΅ΠΌ Π―Π½Π΄Π΅ΠΊΡ.ΠΡΠ·ΡΠΊΠΈ ΠΈ ΡΠΎΡ
ΡΠ°Π½ΠΈΡ Π΅Ρ Π²
music_cache_path.json. - ΠΡΠ΅ MP3βΡΠ°ΠΉΠ»Ρ Π±ΡΠ΄ΡΡ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½Ρ Π² ΠΏΠ°ΠΏΠΊΡ
music/Ρ ΡΠΈΡΠ°Π΅ΠΌΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ.
| Π€Π°ΠΉΠ» / ΠΠ°ΠΏΠΊΠ° | ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ |
|---|---|
main.py |
Π’ΠΎΡΠΊΠ° Π²Ρ ΠΎΠ΄Π°. ΠΠ°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ, ΠΏΠΎΠΈΡΠΊ ΠΊΡΡΠ°, ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅. |
music_processor.py |
ΠΠΎΠ³ΠΈΠΊΠ° ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ΅ΠΊΠΎΠ² ΡΠ΅ΡΠ΅Π· API Π―Π½Π΄Π΅ΠΊΡ.ΠΡΠ·ΡΠΊΠΈ. |
cache_manager.py |
ΠΠΎΠΈΡΠΊ ΠΏΠ°ΠΏΠΊΠΈ Ρ ΠΊΡΡΠ΅ΠΌ, ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅/Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΏΡΡΠΈ. |
CheckingForUpdates.py |
ΠΠΎΠ΄ΡΠ»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ Ρ GitHub Releases. |
banner.py |
ΠΡΠ²ΠΎΠ΄ ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ ASCIIβΠ±Π°Π½Π½Π΅ΡΠ° Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ. |
config.json |
Π€Π°ΠΉΠ» Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ (ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ). |
start.bat |
ΠΠ°ΠΊΠ΅ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° Π½Π° Windows. |
music/ |
ΠΠ°ΠΏΠΊΠ° Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ (ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ). |
- Windows 10/11 (ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ΅Π»Π΅Π²Π°Ρ ΠΠ‘).
- Π£ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ ΠΈ Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ Π―Π½Π΄Π΅ΠΊΡ.ΠΡΠ·ΡΠΊΠΈ (Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΡΡΠ΅ΠΊΠΎΠ²).
- Python 3.8+.
- ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
yandex-musicΠΈmutagen.
- ΠΡΠ»ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ Π―Π½Π΄Π΅ΠΊΡ.ΠΡΠ·ΡΠΊΠΈ Π½Π΅ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅Ρ Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠ΅ΡΡΠΈΠΈ), ΡΠ°ΠΉΠ»Ρ ΠΊΠΎΠΏΠΈΡΡΡΡΡΡ Π±Π΅Π· ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ β Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌΠΈ ΡΠΈΡΠ»ΠΎΠ²ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ.
- ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π΅ ΡΠΊΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΌΡΠ·ΡΠΊΡ ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°, Π° Π»ΠΈΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠΆΠ΅ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π· ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ.
- ΠΡΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° (Π²ΠΊΠ»ΡΡΠ°Ρ
.bat) Π·Π°ΠΌΠ΅Π½ΡΡΡΡΡ Π½ΠΎΠ²ΡΠΌΠΈ ΠΈΠ· Π°ΡΡ ΠΈΠ²Π° ΡΠ΅Π»ΠΈΠ·Π°.
pull request'Ρ ΠΈ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ!
Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡΠ΅ issues Π΄Π»Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ
ΠΈΠ»ΠΈ ΠΏΠΎΠΆΠ΅Π»Π°Π½ΠΈΠΉ.