[20detik] Add _extract_urls static method

This commit is contained in:
Surya Oktafendri 2018-04-03 11:02:44 +07:00
parent c4877790da
commit f428f2fa90
No known key found for this signature in database
GPG Key ID: 8CAB076E32F1FC8D
2 changed files with 11 additions and 6 deletions

View File

@ -15,7 +15,7 @@ class DuaPuluhDetikIE(InfoExtractor):
'info_dict': {
'id': '180403001',
'title': 'Dahsyatnya Rudal Anti-balistik yang Diuji Coba Rusia',
'description': '',
'description': 'md5:909c645cc494f5d9d7089963c13a695d',
'thumbnail': r're:^https?://.*\.jpg(\?.*)?$',
'ext': 'mp4'
}
@ -30,6 +30,12 @@ class DuaPuluhDetikIE(InfoExtractor):
}
}]
@staticmethod
def _extract_urls(webpage):
return [m.group('url') for m in re.finditer(
r'[^\']<iframe[^>]+?src=(["\'])(?P<url>https?://20\.detik\.com/embed/(\d+)[^"\']+?)\1',
webpage)]
def _real_extract(self, url):
mobj = re.match(self._VALID_URL, url)
video_id = mobj.group('video_id')

View File

@ -105,6 +105,7 @@ from .springboardplatform import SpringboardPlatformIE
from .yapfiles import YapFilesIE
from .vice import ViceIE
from .xfileshare import XFileShareIE
from .detik import DuaPuluhDetikIE
class GenericIE(InfoExtractor):
@ -2839,11 +2840,9 @@ class GenericIE(InfoExtractor):
return info
# Look for 20detik (https://20.detik.com) embeds
mobj = re.search(
r'<iframe[^>]+?src=(["\'])(?P<url>https?://20\.detik\.com/embed/(\d+)[^"\']+?)\1',
webpage)
if mobj is not None:
return self.url_result(mobj.group('url'))
duapuluhdetik_urls = DuaPuluhDetikIE._extract_urls(webpage)
if duapuluhdetik_urls:
return self.playlist_from_matches(duapuluhdetik_urls, video_id, video_title, getter=unescapeHTML, ie=DuaPuluhDetikIE.ie_key())
# Look for Instagram embeds
instagram_embed_url = InstagramIE._extract_embed_url(webpage)