diff options
| -rw-r--r-- | youtube_dl/extractor/vimeo.py | 14 | 
1 files changed, 13 insertions, 1 deletions
| diff --git a/youtube_dl/extractor/vimeo.py b/youtube_dl/extractor/vimeo.py index 10c3d992d..4b4b472a5 100644 --- a/youtube_dl/extractor/vimeo.py +++ b/youtube_dl/extractor/vimeo.py @@ -8,6 +8,7 @@ import itertools  from .common import InfoExtractor  from .subtitles import SubtitlesInfoExtractor  from ..utils import ( +    compat_HTTPError,      compat_urllib_parse,      compat_urllib_request,      clean_html, @@ -172,7 +173,18 @@ class VimeoIE(SubtitlesInfoExtractor):          # Retrieve video webpage to extract further information          request = compat_urllib_request.Request(url, None, headers) -        webpage = self._download_webpage(request, video_id) +        try: +            webpage = self._download_webpage(request, video_id) +        except ExtractorError as ee: +            if isinstance(ee.cause, compat_HTTPError) and ee.cause.code == 403: +                errmsg = ee.cause.read() +                if b'Because of its privacy settings, this video cannot be played here' in errmsg: +                    raise ExtractorError( +                        'Cannot download embed-only video without embedding ' +                        'URL. Please call youtube-dl with the URL of the page ' +                        'that embeds this video.', +                        expected=True) +            raise          # Now we begin extracting as much information as we can from what we          # retrieved. First we extract the information common to all extractors, | 
