aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpukkandan <pukkandan.ytdlp@gmail.com>2021-04-01 17:13:35 +0530
committerpukkandan <pukkandan.ytdlp@gmail.com>2021-04-01 17:13:35 +0530
commitdf0c81513e0bb37986d00c532a5ad8cef31a24ea (patch)
tree585f81deb57b6cfb9723bd36f46c5121d4e694b6
parent3f6a90eb63d1c3af61cb86b085b4e3b82e8b7dc5 (diff)
downloadhypervideo-pre-df0c81513e0bb37986d00c532a5ad8cef31a24ea.tar.lz
hypervideo-pre-df0c81513e0bb37986d00c532a5ad8cef31a24ea.tar.xz
hypervideo-pre-df0c81513e0bb37986d00c532a5ad8cef31a24ea.zip
[generic] Detect Invidious' link element (Closes #195)
-rw-r--r--yt_dlp/extractor/generic.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/yt_dlp/extractor/generic.py b/yt_dlp/extractor/generic.py
index 9e5645d72..54cba2f6b 100644
--- a/yt_dlp/extractor/generic.py
+++ b/yt_dlp/extractor/generic.py
@@ -2659,6 +2659,15 @@ class GenericIE(InfoExtractor):
if vid_me_embed_url is not None:
return self.url_result(vid_me_embed_url, 'Vidme')
+ # Invidious Instances
+ # https://github.com/yt-dlp/yt-dlp/issues/195
+ # https://github.com/iv-org/invidious/pull/1730
+ youtube_url = self._search_regex(
+ r'<link rel="alternate" href="(https://www\.youtube\.com/watch\?v=[0-9A-Za-z_-]{11})"',
+ webpage, 'youtube link', default=None)
+ if youtube_url:
+ return self.url_result(youtube_url, YoutubeIE.ie_key())
+
# Look for YouTube embeds
youtube_urls = YoutubeIE._extract_urls(webpage)
if youtube_urls: