From c21a7afae12036e52d249e21cba19e3d49eca485 Mon Sep 17 00:00:00 2001 From: hex3c <20249732+hex3c@users.noreply.github.com> Date: Sat, 9 Mar 2019 11:36:17 +0000 Subject: [PATCH 1/2] fix netease music (works in china) https://github.com/JixunMoe/unblock-163 no longer works but http://music.163.com/song/media/outer/url?id={song_id}.mp3 still works in china --- youtube_dl/extractor/neteasemusic.py | 32 ++++++++++++---------------- 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/youtube_dl/extractor/neteasemusic.py b/youtube_dl/extractor/neteasemusic.py index 978a05841..875da3e6f 100644 --- a/youtube_dl/extractor/neteasemusic.py +++ b/youtube_dl/extractor/neteasemusic.py @@ -44,24 +44,20 @@ class NetEaseMusicBaseIE(InfoExtractor): song_file_path = '/%s/%s.%s' % ( self._encrypt(details['dfsId']), details['dfsId'], details['extension']) - # 203.130.59.9, 124.40.233.182, 115.231.74.139, etc is a reverse proxy-like feature - # from NetEase's CDN provider that can be used if m5.music.126.net does not - # work, especially for users outside of Mainland China - # via: https://github.com/JixunMoe/unblock-163/issues/3#issuecomment-163115880 - for host in ('http://m5.music.126.net', 'http://115.231.74.139/m1.music.126.net', - 'http://124.40.233.182/m1.music.126.net', 'http://203.130.59.9/m1.music.126.net'): - song_url = host + song_file_path - if self._is_valid_url(song_url, info['id'], 'song'): - formats.append({ - 'url': song_url, - 'ext': details.get('extension'), - 'abr': float_or_none(details.get('bitrate'), scale=1000), - 'format_id': song_format, - 'filesize': details.get('size'), - 'asr': details.get('sr') - }) - break - return formats + # https://github.com/JixunMoe/unblock-163 no longer works but + # http://music.163.com/song/media/outer/url?id={song_id}.mp3 still works in china + + song_url = 'http://music.163.com/song/media/outer/url?id=' + str(info['id']) + '.mp3' + if self._is_valid_url(song_url, info['id'], 'song'): + formats.append({ + 'url': song_url, + 'ext': details.get('extension'), + 'abr': float_or_none(details.get('bitrate'), scale=1000), + 'format_id': song_format, + 'filesize': details.get('size'), + 'asr': details.get('sr') + }) + return formats @classmethod def convert_milliseconds(cls, ms): From 29ea135e0a22bae4478537716a384de40ced9197 Mon Sep 17 00:00:00 2001 From: hex3c <20249732+hex3c@users.noreply.github.com> Date: Sat, 9 Mar 2019 11:39:04 +0000 Subject: [PATCH 2/2] bad idention --- youtube_dl/extractor/neteasemusic.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/youtube_dl/extractor/neteasemusic.py b/youtube_dl/extractor/neteasemusic.py index 875da3e6f..be2a8da94 100644 --- a/youtube_dl/extractor/neteasemusic.py +++ b/youtube_dl/extractor/neteasemusic.py @@ -57,7 +57,7 @@ class NetEaseMusicBaseIE(InfoExtractor): 'filesize': details.get('size'), 'asr': details.get('sr') }) - return formats + return formats @classmethod def convert_milliseconds(cls, ms):