aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom-Oliver Heidel <github@tom-oliver.eu>2020-11-30 02:25:38 +0100
committerGitHub <noreply@github.com>2020-11-30 02:25:38 +0100
commit284ec6f48a7735a229b31c853c2bc3b5b9135024 (patch)
treede20372d0fe89beaf96f26c595f7479ad4fc0903
parentbccdb02e9351e7f507135c9a4ccd4211e5a325bb (diff)
parent097f1663a90b6db14d31102c690cc33448a47cf9 (diff)
downloadhypervideo-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.py8
-rw-r--r--youtube_dlc/extractor/generic.py6
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: