diff --git a/haruhi_dl/extractor/generic.py b/haruhi_dl/extractor/generic.py index a41e13e48..246f4a82a 100644 --- a/haruhi_dl/extractor/generic.py +++ b/haruhi_dl/extractor/generic.py @@ -123,6 +123,7 @@ from .onnetwork import OnNetworkLoaderIE from .embetty import EmbettyIE from .rtlnl import RtlNlIE from .xnews import XLinkIE +from .libsyn import LibsynIE class GenericIE(InfoExtractor): @@ -2589,6 +2590,7 @@ class GenericIE(InfoExtractor): WistiaIE, SVTIE, XLinkIE, + LibsynIE, ): try: ie_key = embie.ie_key() @@ -2645,12 +2647,6 @@ class GenericIE(InfoExtractor): if mobj is not None: return self.url_result(mobj.group('url')) - # Look for Libsyn player - mobj = re.search( - r']+src=(["\'])(?P(?:https?:)?//html5-player\.libsyn\.com/embed/.+?)\1', webpage) - if mobj is not None: - return self.url_result(mobj.group('url')) - # Look for Ooyala videos mobj = (re.search(r'player\.ooyala\.com/[^"?]+[?#][^"]*?(?:embedCode|ec)=(?P[^"&]+)', webpage) or re.search(r'OO\.Player\.create\([\'"].*?[\'"],\s*[\'"](?P.{32})[\'"]', webpage) diff --git a/haruhi_dl/extractor/libsyn.py b/haruhi_dl/extractor/libsyn.py index 2cf444258..cebdf57c6 100644 --- a/haruhi_dl/extractor/libsyn.py +++ b/haruhi_dl/extractor/libsyn.py @@ -41,6 +41,12 @@ class LibsynIE(InfoExtractor): } }] + @staticmethod + def _extract_urls(webpage, **kw): + return [m.group('url') + for m in re.finditer( + r']+src=(["\'])(?P(?:https?:)?//html5-player\.libsyn\.com/embed/.+?)\1', webpage)] + def _real_extract(self, url): url, video_id = re.match(self._VALID_URL, url).groups() webpage = self._download_webpage(url, video_id)