|
|
@ -1103,6 +1103,10 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
|
|
|
|
'skip_download': True,
|
|
|
|
'skip_download': True,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
'url': 'https://www.youtube.com/watch_popup?v=63RmMXCd_bQ',
|
|
|
|
|
|
|
|
'only_matching': True,
|
|
|
|
|
|
|
|
},
|
|
|
|
]
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
|
|
def __init__(self, *args, **kwargs):
|
|
|
|
def __init__(self, *args, **kwargs):
|
|
|
@ -2730,6 +2734,11 @@ class YoutubeTabIE(YoutubeBaseInfoExtractor):
|
|
|
|
'only_matching': True,
|
|
|
|
'only_matching': True,
|
|
|
|
}]
|
|
|
|
}]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@classmethod
|
|
|
|
|
|
|
|
def suitable(cls, url):
|
|
|
|
|
|
|
|
return False if YoutubeIE.suitable(url) else super(
|
|
|
|
|
|
|
|
YoutubeTabIE, cls).suitable(url)
|
|
|
|
|
|
|
|
|
|
|
|
def _extract_channel_id(self, webpage):
|
|
|
|
def _extract_channel_id(self, webpage):
|
|
|
|
channel_id = self._html_search_meta(
|
|
|
|
channel_id = self._html_search_meta(
|
|
|
|
'channelId', webpage, 'channel id', default=None)
|
|
|
|
'channelId', webpage, 'channel id', default=None)
|
|
|
|