浏览代码

[udemy] Extend _VALID_URLs (closes #14330, closes #15883)

Sergey M․ 6 年之前
父节点
当前提交
d7d513891b
共有 1 个文件被更改,包括 12 次插入3 次删除
  1. 12 3
      youtube_dl/extractor/udemy.py

+ 12 - 3
youtube_dl/extractor/udemy.py

@@ -29,7 +29,7 @@ class UdemyIE(InfoExtractor):
     IE_NAME = 'udemy'
     IE_NAME = 'udemy'
     _VALID_URL = r'''(?x)
     _VALID_URL = r'''(?x)
                     https?://
                     https?://
-                        www\.udemy\.com/
+                        (?:[^/]+\.)?udemy\.com/
                         (?:
                         (?:
                             [^#]+\#/lecture/|
                             [^#]+\#/lecture/|
                             lecture/view/?\?lectureId=|
                             lecture/view/?\?lectureId=|
@@ -64,6 +64,9 @@ class UdemyIE(InfoExtractor):
         # only outputs rendition
         # only outputs rendition
         'url': 'https://www.udemy.com/how-you-can-help-your-local-community-5-amazing-examples/learn/v4/t/lecture/3225750?start=0',
         'url': 'https://www.udemy.com/how-you-can-help-your-local-community-5-amazing-examples/learn/v4/t/lecture/3225750?start=0',
         'only_matching': True,
         'only_matching': True,
+    }, {
+        'url': 'https://wipro.udemy.com/java-tutorial/#/lecture/172757',
+        'only_matching': True,
     }]
     }]
 
 
     def _extract_course_info(self, webpage, video_id):
     def _extract_course_info(self, webpage, video_id):
@@ -415,8 +418,14 @@ class UdemyIE(InfoExtractor):
 
 
 class UdemyCourseIE(UdemyIE):
 class UdemyCourseIE(UdemyIE):
     IE_NAME = 'udemy:course'
     IE_NAME = 'udemy:course'
-    _VALID_URL = r'https?://(?:www\.)?udemy\.com/(?P<id>[^/?#&]+)'
-    _TESTS = []
+    _VALID_URL = r'https?://(?:[^/]+\.)?udemy\.com/(?P<id>[^/?#&]+)'
+    _TESTS = [{
+        'url': 'https://www.udemy.com/java-tutorial/',
+        'only_matching': True,
+    }, {
+        'url': 'https://wipro.udemy.com/java-tutorial/',
+        'only_matching': True,
+    }]
 
 
     @classmethod
     @classmethod
     def suitable(cls, url):
     def suitable(cls, url):