浏览代码

[youtube] Fix age-gated videos support without login (closes #24248)

Sergey M․ 5 年之前
父节点
当前提交
dc879c5a37
共有 1 个文件被更改,包括 2 次插入2 次删除
  1. 2 2
      youtube_dl/extractor/youtube.py

+ 2 - 2
youtube_dl/extractor/youtube.py

@@ -1256,7 +1256,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
 
 
     def _extract_signature_function(self, video_id, player_url, example_sig):
     def _extract_signature_function(self, video_id, player_url, example_sig):
         id_m = re.match(
         id_m = re.match(
-            r'.*?-(?P<id>[a-zA-Z0-9_-]+)(?:/watch_as3|/html5player(?:-new)?|(?:/[a-z]{2,3}_[A-Z]{2})?/base)?\.(?P<ext>[a-z]+)$',
+            r'.*?[-.](?P<id>[a-zA-Z0-9_-]+)(?:/watch_as3|/html5player(?:-new)?|(?:/[a-z]{2,3}_[A-Z]{2})?/base)?\.(?P<ext>[a-z]+)$',
             player_url)
             player_url)
         if not id_m:
         if not id_m:
             raise ExtractorError('Cannot identify player %r' % player_url)
             raise ExtractorError('Cannot identify player %r' % player_url)
@@ -2035,7 +2035,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
                                 else:
                                 else:
                                     player_version = self._search_regex(
                                     player_version = self._search_regex(
                                         [r'html5player-([^/]+?)(?:/html5player(?:-new)?)?\.js',
                                         [r'html5player-([^/]+?)(?:/html5player(?:-new)?)?\.js',
-                                         r'(?:www|player(?:_ias)?)-([^/]+)(?:/[a-z]{2,3}_[A-Z]{2})?/base\.js'],
+                                         r'(?:www|player(?:_ias)?)[-.]([^/]+)(?:/[a-z]{2,3}_[A-Z]{2})?/base\.js'],
                                         player_url,
                                         player_url,
                                         'html5 player', fatal=False)
                                         'html5 player', fatal=False)
                                     player_desc = 'html5 player %s' % player_version
                                     player_desc = 'html5 player %s' % player_version