slyyxp / rsack Goto Github PK
View Code? Open in Web Editor NEWRansack「rsack」is a lossless Korean music downloader
License: MIT License
Ransack「rsack」is a lossless Korean music downloader
License: MIT License
song/j_ArtistAlbumList.json
responds with a maximum of 25 albums.
This needs to be increased for artist batching to have any real value.
I am not aware how to circumvent this at the time of writing.
One solution to obtaining the necessary album id's would be to scrape them although not ideal.
def get_artist(self, id):
"""Returns artist information
Args:
id (int): Artist UID
Returns:
[dict]: API Response containing artist information
"""
data = {
"uxtk": self.usr_token,
"sign": "Y",
"tct": "Android",
"svc": "IV",
"stk": self.stm_token,
"dcd": self.dev_id,
"xxnm": id,
"unm": self.usr_num,
"mts": "Y"
}
r = self.make_call("app", "song/j_ArtistAlbumList.json", data)
if r['Result']['RetCode'] != "0":
logger.critical("Failed to retrieve metadata")
return r
Hi, I noticed that the script skips downloading songs that contain ?, : in their filename.
For example, when downloading this album https://music.bugs.co.kr/album/4041263?wl_ref=list_ab_03_ar, it appears like this:
C:\Users\x>rsack -b -u https://music.bugs.co.kr/album/4041263?wl_ref=li
st_ab_03_ar
2022-04-04 12:37:15.233 | INFO | rsack.clients.bugs:auth:26 - Login Successf
ul
2022-04-04 12:37:16.104 | INFO | rsack.bugs:_album:53 - Album: ? ??? ??? ??
???? (???? ??? X ?? (JOY))
2022-04-04 12:37:16.111 | DEBUG | rsack.bugs:album:67 - Creating C:\Users\x
\download?? (JOY) - ? ??? ??? ?? ??? (???? ??? X ?? (JOY))
2022-04-04 12:37:17.345 | INFO | rsack.bugs:_download_cover:130 - Cover artw
ork downloaded.
2022-04-04 12:37:17.358 | INFO | rsack.bugs:_album:76 - Threads: 1
2022-04-04 12:37:17.444 | DEBUG | rsack.bugs:_download:87 - Processing: 61041
67
2022-04-04 12:37:18.733 | DEBUG | rsack.bugs:_download:87 - Processing: 61041
68C:\Users\x>
Sorry for my English
https://music.bugs.co.kr/album/20452782?wl_ref=list_ab_03
Tracks without lyrics are not assigned resulting in them not being tagged.
Remove invalid characters from filenames and paths.
I'm already using the flac subscription. but download is only 320kbps.
how to download flac? Is there another command?
And what does "thread" mean?
thank u sir.
Exist checks are present but are only made after a lot of requests go out for relevant album/track information, this slows down completion time a lot.
Expand project to support Qobuz
The bug's metadata does not support label tags, showing blank,but BugsPy-master support
Traceback (most recent call last):
File "C:\Users\Cheek\AppData\Local\Programs\Python\Python39\Scripts\rsack-script.py", line 33, in <module>
sys.exit(load_entry_point('rsack==0.1.4', 'console_scripts', 'rsack')())
File "C:\Users\Cheek\AppData\Local\Programs\Python\Python39\lib\site-packages\rsack-0.1.4-py3.9.egg\rsack\main.py", line 25, in main
File "C:\Users\Cheek\AppData\Local\Programs\Python\Python39\lib\site-packages\rsack-0.1.4-py3.9.egg\rsack\bugs.py", line 36, in __init__
File "C:\Users\Cheek\AppData\Local\Programs\Python\Python39\lib\site-packages\rsack-0.1.4-py3.9.egg\rsack\bugs.py", line 69, in _album
File "C:\Users\Cheek\AppData\Local\Programs\Python\Python39\lib\site-packages\rsack-0.1.4-py3.9.egg\rsack\bugs.py", line 124, in _download_cover
FileNotFoundError: [Errno 2] No such file or directory: 'Z:\\Music\\Korean\\TREASURE(트레저)\\TREASURE(트레저) - THE SECOND STEP _ CHAPTER ONE \\cover.jpg'
Requires some refactoring of the Download() class.
As of now this can only be used by the project internally.
Users should be allowed to authenticate and make calls for their own projects.
Opt out of time lyrics in settings.ini
API returns that there is FLAC present, yet it redirects to MP3.
This could be because of the streaming plan, it is unknown why.
Refactor bugs client.
Constructing posts should more closely match the genie client for consistency.
Labels are actually not returned in the API response when requesting artist information.
They are present in the response as a NoneType, this means an additional request has to be done. Although slower it's necessary for all the information we need for tagging.
Expand project to support Tidal
Support QQMusic
Since this project aims at Korean webstores it would be nice to have a README translation for Korean speakers.
My Korean is very basic so I cannot provide this at the quality I would like.
If anyone can provide this feel free to get in contact on this issue.
Requires additional GET to https://dn.genie.co.kr/app/purchase/get_msl.asp
Lyrics always returning untimed.
Skip existing tracks, useful when batching or when a download fails.
Plan to fork and rewrite to suit this project.
Remote end closing connection without response.
Intermittent.
Tags need applied for track and disc totals.
Hi, I have subscription which is only available for streaming. But I can't download song using your melon_client.py
What I found is
auth()
through kakao is not working. link kakao account to melon id. And login through https://member.melon.com/muid/mobile/login/login_login.jsonstreaming_path()
, It return mcache://smmd.melon.com/smartstream, not https://spmd.melon.com/prestreamHere is code!
Move all config and arguments documentation to https://github.com/Slyyxp/rsack/wiki
format_genie_lyrics()
is being called when there are no lyrics
Clean up bugs module, it could use some love.
Unavailable tracks are not skipped.
Somebody as me, don't need artist_folders, maybe consider set a config like BugsPy to close?
Example case: https://genie.co.kr/detail/albumInfo?axnm=80733353
Add docstrings to functions with no documentation
Remove loguru dependency and improve output
Look into vibe.naver
404 for tracks that are seemingly available.
Example: Tracks 1, 2, 18
https://genie.co.kr/detail/albumInfo?axnm=82844657
Originally posted by kihyyo August 16, 2022
Currently gives only information of album.
In web I can see more detailed information of artist and also in app like who she or he is.
I need some help the way getting more detailed information of artist through https://app.genie.co.kr/???/j_ArtistInfo.json I guess.
And more detailed information of album If possible, Thanks
Currently maximum quality is downloaded by default.
Look into https://www.melon.com/
Can't download album with long names in genie.
For example : Genie
Simple version check
Look into https://www.music-flo.com/
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.