From cb2e31080b687726d0c170bb110abee6070e1258 Mon Sep 17 00:00:00 2001 From: wang1365 Date: Wed, 3 Jan 2018 17:09:46 +0800 Subject: [PATCH] fix downloading failure of "http://v.ent.163.com/video/2017/12/9/V/VD5BG8P9V.html" --- src/you_get/extractors/netease.py | 14 ++++++++++++++ tests/test.py | 7 +++++++ 2 files changed, 21 insertions(+) diff --git a/src/you_get/extractors/netease.py b/src/you_get/extractors/netease.py index f74747b1..02f26573 100644 --- a/src/you_get/extractors/netease.py +++ b/src/you_get/extractors/netease.py @@ -131,6 +131,20 @@ def netease_download(url, output_dir = '.', merge = True, info_only = False, **k url = get_location(url) if "music.163.com" in url: netease_cloud_music_download(url, output_dir, merge, info_only, **kwargs) + elif "v.ent.163.com/video" in url: + # Parse and download video pages like: + # http://v.ent.163.com/video/2017/12/9/V/VD5BG8P9V.html + html = get_decoded_html(url) + + title = r1(r']*?>]*?>([^<]*?)', html) + title = title.strip() if title else '' + video_url = r1(r'"url_mp4": "([^"]*?)"', html) + if video_url: + _, ext, size = url_info(video_url) + print_info(site_info, title, ext, size) + + if not info_only: + download_urls([video_url], title, ext, size, output_dir=output_dir, merge=merge) else: html = get_decoded_html(url) diff --git a/tests/test.py b/tests/test.py index 36c699f5..ca5d5ac7 100644 --- a/tests/test.py +++ b/tests/test.py @@ -9,6 +9,7 @@ from you_get.extractors import ( yixia, bilibili, douyin, + netease, ) @@ -53,6 +54,12 @@ class YouGetTests(unittest.TestCase): info_only=True ) + def test_netease(self): + netease.download( + 'http://v.ent.163.com/video/2017/12/9/V/VD5BG8P9V.html', + info_only=True + ) + if __name__ == '__main__': unittest.main()