diff options
author | Sergey M․ <dstftw@gmail.com> | 2016-05-22 06:47:22 +0600 |
---|---|---|
committer | Sergey M․ <dstftw@gmail.com> | 2016-05-22 06:47:22 +0600 |
commit | 898f4b49ccc828f86a075d656aa9a1e1428e538c (patch) | |
tree | 6de45c550ad7d00e093672f9952edd8dcd171c91 /youtube_dl | |
parent | 0150a00f333371b366ff10871458e0b071f20ee3 (diff) |
[theplatform] Add _extract_urls
Diffstat (limited to 'youtube_dl')
-rw-r--r-- | youtube_dl/extractor/theplatform.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/youtube_dl/extractor/theplatform.py b/youtube_dl/extractor/theplatform.py index a25417f94..02dbef913 100644 --- a/youtube_dl/extractor/theplatform.py +++ b/youtube_dl/extractor/theplatform.py @@ -151,6 +151,22 @@ class ThePlatformIE(ThePlatformBaseIE): 'only_matching': True, }] + @classmethod + def _extract_urls(cls, webpage): + m = re.search( + r'''(?x) + <meta\s+ + property=(["'])(?:og:video(?::(?:secure_)?url)?|twitter:player)\1\s+ + content=(["'])(?P<url>https?://player\.theplatform\.com/p/.+?)\2 + ''', webpage) + if m: + return [m.group('url')] + + matches = re.findall( + r'<(?:iframe|script)[^>]+src=(["\'])((?:https?:)?//player\.theplatform\.com/p/.+?)\1', webpage) + if matches: + return list(zip(*matches))[1] + @staticmethod def _sign_url(url, sig_key, sig_secret, life=600, include_qs=False): flags = '10' if include_qs else '00' |