diff options
author | Tom-Oliver Heidel <github@tom-oliver.eu> | 2020-11-30 02:25:38 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-11-30 02:25:38 +0100 |
commit | 284ec6f48a7735a229b31c853c2bc3b5b9135024 (patch) | |
tree | de20372d0fe89beaf96f26c595f7479ad4fc0903 | |
parent | bccdb02e9351e7f507135c9a4ccd4211e5a325bb (diff) | |
parent | 097f1663a90b6db14d31102c690cc33448a47cf9 (diff) | |
download | hypervideo-pre-284ec6f48a7735a229b31c853c2bc3b5b9135024.tar.lz hypervideo-pre-284ec6f48a7735a229b31c853c2bc3b5b9135024.tar.xz hypervideo-pre-284ec6f48a7735a229b31c853c2bc3b5b9135024.zip |
Merge pull request #246 from pukkandan/bitchute-embed
Detect embedded bitchute videos
-rw-r--r-- | youtube_dlc/extractor/bitchute.py | 8 | ||||
-rw-r--r-- | youtube_dlc/extractor/generic.py | 6 |
2 files changed, 14 insertions, 0 deletions
diff --git a/youtube_dlc/extractor/bitchute.py b/youtube_dlc/extractor/bitchute.py index 92fc70b5a..94219a138 100644 --- a/youtube_dlc/extractor/bitchute.py +++ b/youtube_dlc/extractor/bitchute.py @@ -36,6 +36,14 @@ class BitChuteIE(InfoExtractor): 'only_matching': True, }] + @staticmethod + def _extract_urls(webpage): + return [ + mobj.group('url') + for mobj in re.finditer( + r'<(?:script|iframe)[^>]+\bsrc=(["\'])(?P<url>%s)' % BitChuteIE._VALID_URL, + webpage)] + def _real_extract(self, url): video_id = self._match_id(url) diff --git a/youtube_dlc/extractor/generic.py b/youtube_dlc/extractor/generic.py index db4d3a933..7711de01b 100644 --- a/youtube_dlc/extractor/generic.py +++ b/youtube_dlc/extractor/generic.py @@ -120,6 +120,7 @@ from .expressen import ExpressenIE from .zype import ZypeIE from .odnoklassniki import OdnoklassnikiIE from .kinja import KinjaEmbedIE +from .bitchute import BitChuteIE class GenericIE(InfoExtractor): @@ -3212,6 +3213,11 @@ class GenericIE(InfoExtractor): return self.playlist_from_matches( zype_urls, video_id, video_title, ie=ZypeIE.ie_key()) + bitchute_urls = BitChuteIE._extract_urls(webpage) + if bitchute_urls: + return self.playlist_from_matches( + bitchute_urls, video_id, video_title, ie=BitChuteIE.ie_key()) + # Look for HTML5 media entries = self._parse_html5_media_entries(url, webpage, video_id, m3u8_id='hls') if entries: |