diff options
| author | Sergey M․ <dstftw@gmail.com> | 2019-01-01 18:12:44 +0700 | 
|---|---|---|
| committer | Sergey M․ <dstftw@gmail.com> | 2019-01-01 18:12:44 +0700 | 
| commit | 6b688b8942a0bd18b2a3835e69a903f1eeffee2a (patch) | |
| tree | 4be798a22cd173dfb697b92f04c5d88d58fbf829 | |
| parent | 9d9daed4647c0a0798adee5a580e9fd95478cf6a (diff) | |
[bitchute] Fix extraction (closes #18567)
| -rw-r--r-- | youtube_dl/extractor/bitchute.py | 16 | 
1 files changed, 12 insertions, 4 deletions
| diff --git a/youtube_dl/extractor/bitchute.py b/youtube_dl/extractor/bitchute.py index 43b4732aa..aa034355a 100644 --- a/youtube_dl/extractor/bitchute.py +++ b/youtube_dl/extractor/bitchute.py @@ -5,7 +5,10 @@ import itertools  import re  from .common import InfoExtractor -from ..utils import urlencode_postdata +from ..utils import ( +    orderedSet, +    urlencode_postdata, +)  class BitChuteIE(InfoExtractor): @@ -43,10 +46,15 @@ class BitChuteIE(InfoExtractor):              'description', webpage, 'title',              default=None) or self._og_search_description(webpage) +        format_urls = [] +        for mobj in re.finditer( +                r'addWebSeed\s*\(\s*(["\'])(?P<url>(?:(?!\1).)+)\1', webpage): +            format_urls.append(mobj.group('url')) +        format_urls.extend(re.findall(r'as=(https?://[^&"\']+)', webpage)) +          formats = [ -            {'url': mobj.group('url')} -            for mobj in re.finditer( -                r'addWebSeed\s*\(\s*(["\'])(?P<url>(?:(?!\1).)+)\1', webpage)] +            {'url': format_url} +            for format_url in orderedSet(format_urls)]          self._sort_formats(formats)          description = self._html_search_regex( | 
