diff options
Diffstat (limited to 'youtube_dl/extractor')
| -rw-r--r-- | youtube_dl/extractor/openload.py | 25 | 
1 files changed, 19 insertions, 6 deletions
diff --git a/youtube_dl/extractor/openload.py b/youtube_dl/extractor/openload.py index 2473536fd..cf51e4770 100644 --- a/youtube_dl/extractor/openload.py +++ b/youtube_dl/extractor/openload.py @@ -243,7 +243,18 @@ class PhantomJSwrapper(object):  class OpenloadIE(InfoExtractor): -    _VALID_URL = r'https?://(?:www\.)?(?:openload\.(?:co|io|link)|oload\.(?:tv|stream|site|xyz|win|download|cloud|cc|icu|fun))/(?:f|embed)/(?P<id>[a-zA-Z0-9-_]+)' +    _VALID_URL = r'''(?x) +                    https?:// +                        (?P<host> +                            (?:www\.)? +                            (?: +                                openload\.(?:co|io|link)| +                                oload\.(?:tv|stream|site|xyz|win|download|cloud|cc|icu|fun) +                            ) +                        )/ +                        (?:f|embed)/ +                        (?P<id>[a-zA-Z0-9-_]+) +                    '''      _TESTS = [{          'url': 'https://openload.co/f/kUEfGclsU9o', @@ -334,8 +345,11 @@ class OpenloadIE(InfoExtractor):              webpage)      def _real_extract(self, url): -        video_id = self._match_id(url) -        url_pattern = 'https://openload.co/%%s/%s/' % video_id +        mobj = re.match(self._VALID_URL, url) +        host = mobj.group('host') +        video_id = mobj.group('id') + +        url_pattern = 'https://%s/%%s/%s/' % (host, video_id)          headers = {              'User-Agent': self._USER_AGENT,          } @@ -368,7 +382,7 @@ class OpenloadIE(InfoExtractor):                             r'>\s*([\w~-]+~[a-f0-9:]+~[\w~-]+)'), webpage,                            'stream URL')) -        video_url = 'https://openload.co/stream/%s?mime=true' % decoded_id +        video_url = 'https://%s/stream/%s?mime=true' % (host, decoded_id)          title = self._og_search_title(webpage, default=None) or self._search_regex(              r'<span[^>]+class=["\']title["\'][^>]*>([^<]+)', webpage, @@ -379,7 +393,7 @@ class OpenloadIE(InfoExtractor):          entry = entries[0] if entries else {}          subtitles = entry.get('subtitles') -        info_dict = { +        return {              'id': video_id,              'title': title,              'thumbnail': entry.get('thumbnail') or self._og_search_thumbnail(webpage, default=None), @@ -388,4 +402,3 @@ class OpenloadIE(InfoExtractor):              'subtitles': subtitles,              'http_headers': headers,          } -        return info_dict  | 
