aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMozi <29089388+pzhlkj6612@users.noreply.github.com>2025-01-12 18:42:02 +0000
committerGitHub <noreply@github.com>2025-01-12 19:42:02 +0100
commit1f489f4a45691cac3f9e787d22a3a8a086229ba6 (patch)
tree9afbcef4317a05a7e7a5df23fbdfaaf213355b4f
parent75079f4e3f7dce49b61ef01da7adcd9876a0ca3b (diff)
[ie/DrTalks] Add extractor (#10831)
Closes #6390 Authored by: pzhlkj6612, seproDev Co-authored-by: sepro <sepro@sepr0.com>
-rw-r--r--yt_dlp/extractor/_extractors.py1
-rw-r--r--yt_dlp/extractor/drtalks.py51
2 files changed, 52 insertions, 0 deletions
diff --git a/yt_dlp/extractor/_extractors.py b/yt_dlp/extractor/_extractors.py
index bbd6d21bd..e3947dfb5 100644
--- a/yt_dlp/extractor/_extractors.py
+++ b/yt_dlp/extractor/_extractors.py
@@ -555,6 +555,7 @@ from .dropout import (
DropoutIE,
DropoutSeasonIE,
)
+from .drtalks import DrTalksIE
from .drtuber import DrTuberIE
from .drtv import (
DRTVIE,
diff --git a/yt_dlp/extractor/drtalks.py b/yt_dlp/extractor/drtalks.py
new file mode 100644
index 000000000..5ea7f7580
--- /dev/null
+++ b/yt_dlp/extractor/drtalks.py
@@ -0,0 +1,51 @@
+from .brightcove import BrightcoveNewIE
+from .common import InfoExtractor
+from ..utils import url_or_none
+from ..utils.traversal import traverse_obj
+
+
+class DrTalksIE(InfoExtractor):
+ _VALID_URL = r'https?://(?:www\.)?drtalks\.com/videos/(?P<id>[\w-]+)'
+ _TESTS = [{
+ 'url': 'https://drtalks.com/videos/six-pillars-of-resilience-tools-for-managing-stress-and-flourishing/',
+ 'info_dict': {
+ 'id': '6366193757112',
+ 'ext': 'mp4',
+ 'uploader_id': '6314452011001',
+ 'tags': ['resilience'],
+ 'description': 'md5:9c6805aee237ee6de8052461855b9dda',
+ 'timestamp': 1734546659,
+ 'thumbnail': 'https://drtalks.com/wp-content/uploads/2024/12/Episode-82-Eva-Selhub-DrTalks-Thumbs.jpg',
+ 'title': 'Six Pillars of Resilience: Tools for Managing Stress and Flourishing',
+ 'duration': 2800.682,
+ 'upload_date': '20241218',
+ },
+ }, {
+ 'url': 'https://drtalks.com/videos/the-pcos-puzzle-mastering-metabolic-health-with-marcelle-pick/',
+ 'info_dict': {
+ 'id': '6364699891112',
+ 'ext': 'mp4',
+ 'title': 'The PCOS Puzzle: Mastering Metabolic Health with Marcelle Pick',
+ 'description': 'md5:e87cbe00ca50135d5702787fc4043aaa',
+ 'thumbnail': 'https://drtalks.com/wp-content/uploads/2024/11/Episode-34-Marcelle-Pick-OBGYN-NP-DrTalks.jpg',
+ 'duration': 3515.2,
+ 'tags': ['pcos'],
+ 'upload_date': '20241114',
+ 'timestamp': 1731592119,
+ 'uploader_id': '6314452011001',
+ },
+ }]
+
+ def _real_extract(self, url):
+ video_id = self._match_id(url)
+ webpage = self._download_webpage(url, video_id)
+ next_data = self._search_nextjs_data(webpage, video_id)['props']['pageProps']['data']['video']
+
+ return self.url_result(
+ next_data['videos']['brightcoveVideoLink'], BrightcoveNewIE, video_id,
+ url_transparent=True,
+ **traverse_obj(next_data, {
+ 'title': ('title', {str}),
+ 'description': ('videos', 'summury', {str}),
+ 'thumbnail': ('featuredImage', 'node', 'sourceUrl', {url_or_none}),
+ }))