mirror of
https://github.com/soimort/you-get.git
synced 2025-02-03 16:53:56 +03:00
fix #1415
Songs from netease cloud music playlist will have a prefix indicates their order in the list.
This commit is contained in:
parent
a1a6ebf036
commit
d04997ec9b
@ -54,13 +54,15 @@ def netease_cloud_music_download(url, output_dir='.', merge=True, info_only=Fals
|
|||||||
os.mkdir(new_dir)
|
os.mkdir(new_dir)
|
||||||
cover_url = j['result']['coverImgUrl']
|
cover_url = j['result']['coverImgUrl']
|
||||||
download_urls([cover_url], "cover", "jpg", 0, new_dir)
|
download_urls([cover_url], "cover", "jpg", 0, new_dir)
|
||||||
|
|
||||||
for i in j['result']['tracks']:
|
prefix_width = len(str(len(j['result']['tracks'])))
|
||||||
netease_song_download(i, output_dir=new_dir, info_only=info_only)
|
for n, i in enumerate(j['result']['tracks']):
|
||||||
|
playlist_prefix = '%%.%dd_' % prefix_width % n
|
||||||
|
netease_song_download(i, output_dir=new_dir, info_only=info_only, playlist_prefix=playlist_prefix)
|
||||||
try: # download lyrics
|
try: # download lyrics
|
||||||
assert kwargs['caption']
|
assert kwargs['caption']
|
||||||
l = loads(get_content("http://music.163.com/api/song/lyric/?id=%s&lv=-1&csrf_token=" % i['id'], headers={"Referer": "http://music.163.com/"}))
|
l = loads(get_content("http://music.163.com/api/song/lyric/?id=%s&lv=-1&csrf_token=" % i['id'], headers={"Referer": "http://music.163.com/"}))
|
||||||
netease_lyric_download(i, l["lrc"]["lyric"], output_dir=new_dir, info_only=info_only)
|
netease_lyric_download(i, l["lrc"]["lyric"], output_dir=new_dir, info_only=info_only, playlist_prefix=playlist_prefix)
|
||||||
except: pass
|
except: pass
|
||||||
|
|
||||||
elif "song" in url:
|
elif "song" in url:
|
||||||
@ -85,10 +87,10 @@ def netease_cloud_music_download(url, output_dir='.', merge=True, info_only=Fals
|
|||||||
j = loads(get_content("http://music.163.com/api/mv/detail/?id=%s&ids=[%s]&csrf_token=" % (rid, rid), headers={"Referer": "http://music.163.com/"}))
|
j = loads(get_content("http://music.163.com/api/mv/detail/?id=%s&ids=[%s]&csrf_token=" % (rid, rid), headers={"Referer": "http://music.163.com/"}))
|
||||||
netease_video_download(j['data'], output_dir=output_dir, info_only=info_only)
|
netease_video_download(j['data'], output_dir=output_dir, info_only=info_only)
|
||||||
|
|
||||||
def netease_lyric_download(song, lyric, output_dir='.', info_only=False):
|
def netease_lyric_download(song, lyric, output_dir='.', info_only=False, playlist_prefix=""):
|
||||||
if info_only: return
|
if info_only: return
|
||||||
|
|
||||||
title = "%s. %s" % (song['position'], song['name'])
|
title = "%s%s. %s" % (playlist_prefix, song['position'], song['name'])
|
||||||
filename = '%s.lrc' % get_filename(title)
|
filename = '%s.lrc' % get_filename(title)
|
||||||
print('Saving %s ...' % filename, end="", flush=True)
|
print('Saving %s ...' % filename, end="", flush=True)
|
||||||
with open(os.path.join(output_dir, filename),
|
with open(os.path.join(output_dir, filename),
|
||||||
@ -103,8 +105,8 @@ def netease_video_download(vinfo, output_dir='.', info_only=False):
|
|||||||
netease_download_common(title, url_best,
|
netease_download_common(title, url_best,
|
||||||
output_dir=output_dir, info_only=info_only)
|
output_dir=output_dir, info_only=info_only)
|
||||||
|
|
||||||
def netease_song_download(song, output_dir='.', info_only=False):
|
def netease_song_download(song, output_dir='.', info_only=False, playlist_prefix=""):
|
||||||
title = "%s. %s" % (song['position'], song['name'])
|
title = "%s%s. %s" % (playlist_prefix, song['position'], song['name'])
|
||||||
songNet = 'p' + song['mp3Url'].split('/')[2][1:]
|
songNet = 'p' + song['mp3Url'].split('/')[2][1:]
|
||||||
|
|
||||||
if 'hMusic' in song and song['hMusic'] != None:
|
if 'hMusic' in song and song['hMusic'] != None:
|
||||||
|
Loading…
Reference in New Issue
Block a user