mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-27 18:41:29 +00:00
[vimeo] Fix description extraction
This commit is contained in:
parent
c0f64ac689
commit
58ea7ec81e
|
@ -91,6 +91,7 @@ class VimeoIE(VimeoBaseInfoExtractor, SubtitlesInfoExtractor):
|
||||||
'uploader_id': 'openstreetmapus',
|
'uploader_id': 'openstreetmapus',
|
||||||
'uploader': 'OpenStreetMap US',
|
'uploader': 'OpenStreetMap US',
|
||||||
'title': 'Andy Allan - Putting the Carto into OpenStreetMap Cartography',
|
'title': 'Andy Allan - Putting the Carto into OpenStreetMap Cartography',
|
||||||
|
'description': 'md5:380943ec71b89736ff4bf27183233d09',
|
||||||
'duration': 1595,
|
'duration': 1595,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -105,6 +106,7 @@ class VimeoIE(VimeoBaseInfoExtractor, SubtitlesInfoExtractor):
|
||||||
'uploader': 'The BLN & Business of Software',
|
'uploader': 'The BLN & Business of Software',
|
||||||
'uploader_id': 'theblnbusinessofsoftware',
|
'uploader_id': 'theblnbusinessofsoftware',
|
||||||
'duration': 3610,
|
'duration': 3610,
|
||||||
|
'description': None,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -119,6 +121,7 @@ class VimeoIE(VimeoBaseInfoExtractor, SubtitlesInfoExtractor):
|
||||||
'uploader_id': 'user18948128',
|
'uploader_id': 'user18948128',
|
||||||
'uploader': 'Jaime Marquínez Ferrándiz',
|
'uploader': 'Jaime Marquínez Ferrándiz',
|
||||||
'duration': 10,
|
'duration': 10,
|
||||||
|
'description': 'This is "youtube-dl password protected test video" by Jaime Marquínez Ferrándiz on Vimeo, the home for high quality videos and the people who love them.',
|
||||||
},
|
},
|
||||||
'params': {
|
'params': {
|
||||||
'videopassword': 'youtube-dl',
|
'videopassword': 'youtube-dl',
|
||||||
|
@ -205,6 +208,7 @@ def _real_extract(self, url):
|
||||||
# Extract ID from URL
|
# Extract ID from URL
|
||||||
mobj = re.match(self._VALID_URL, url)
|
mobj = re.match(self._VALID_URL, url)
|
||||||
video_id = mobj.group('id')
|
video_id = mobj.group('id')
|
||||||
|
orig_url = url
|
||||||
if mobj.group('pro') or mobj.group('player'):
|
if mobj.group('pro') or mobj.group('player'):
|
||||||
url = 'http://player.vimeo.com/video/' + video_id
|
url = 'http://player.vimeo.com/video/' + video_id
|
||||||
|
|
||||||
|
@ -275,9 +279,23 @@ def _real_extract(self, url):
|
||||||
_, video_thumbnail = sorted((int(width if width.isdigit() else 0), t_url) for (width, t_url) in video_thumbs.items())[-1]
|
_, video_thumbnail = sorted((int(width if width.isdigit() else 0), t_url) for (width, t_url) in video_thumbs.items())[-1]
|
||||||
|
|
||||||
# Extract video description
|
# Extract video description
|
||||||
|
|
||||||
video_description = self._html_search_regex(
|
video_description = self._html_search_regex(
|
||||||
r'(?s)<div class="[^"]*description"[^>]*>(.*?)</div>',
|
r'(?s)<div\s+class="[^"]*description[^"]*"[^>]*>(.*?)</div>',
|
||||||
webpage, 'description', fatal=False)
|
webpage, 'description', default=None)
|
||||||
|
if not video_description:
|
||||||
|
video_description = self._html_search_meta(
|
||||||
|
'description', webpage, default=None)
|
||||||
|
if not video_description and mobj.group('pro'):
|
||||||
|
orig_webpage = self._download_webpage(
|
||||||
|
orig_url, video_id,
|
||||||
|
note='Downloading webpage for description',
|
||||||
|
fatal=False)
|
||||||
|
if orig_webpage:
|
||||||
|
video_description = self._html_search_meta(
|
||||||
|
'description', orig_webpage, default=None)
|
||||||
|
if not video_description and not mobj.group('player'):
|
||||||
|
self._downloader.report_warning('Cannot find video description')
|
||||||
|
|
||||||
# Extract video duration
|
# Extract video duration
|
||||||
video_duration = int_or_none(config["video"].get("duration"))
|
video_duration = int_or_none(config["video"].get("duration"))
|
||||||
|
|
Loading…
Reference in a new issue