ytdl-org/youtube-dl · error · ExtractorError
error
Error message
error
What it means
vShare extraction error: the video page (vshare.io/v/<id>/...) contains a div with class 'xxx-error', whose inner text is regex-extracted and raised verbatim with expected=True. The report tag is the variable name; the real message is whatever error notice vShare rendered.
Source
Thrown at youtube_dl/extractor/vshare.py:61
chars = [compat_chr(d - int(key_digit)) for d in digits]
return ''.join(chars)
def _real_extract(self, url):
video_id = self._match_id(url)
webpage = self._download_webpage(
'https://vshare.io/v/%s/width-650/height-430/1' % video_id,
video_id, headers={'Referer': url})
title = self._html_search_regex(
r'<title>([^<]+)</title>', webpage, 'title')
title = title.split(' - ')[0]
error = self._html_search_regex(
r'(?s)<div[^>]+\bclass=["\']xxx-error[^>]+>(.+?)</div', webpage,
'error', default=None)
if error:
raise ExtractorError(error, expected=True)
info = self._parse_html5_media_entries(
url, '<video>%s</video>' % self._extract_packed(webpage),
video_id)[0]
self._sort_formats(info['formats'])
info.update({
'id': video_id,
'title': title,
})
return info
View on GitHub (pinned to 956b8c5855)
Solutions
- Read the extracted div text — it is vShare's own error statement
- Open the vshare.io URL directly in a browser to confirm the file's status
- If deleted/removed, find an alternative source; no client setting can bypass it
Defensive patterns
Strategy: try-catch
Try / catch
from youtube_dl.utils import ExtractorError
try:
ydl.extract_info(url)
except ExtractorError as e:
msg = str(e)
if any(k in msg.lower() for k in ('deleted', 'removed', 'not found')):
drop(url) # permanent
else:
log('vShare: %s' % msg) Prevention
- Treat xxx-error div text as the host's authoritative status
- Don't auto-retry removed files; blacklist them
- For scrapers, validate vshare embeds lazily right before download
When it happens
Trigger: Downloading a vshare.io/v/<id> URL where the host shows an error notice in the xxx-error div — typically deleted file, DMCA removal, or unavailable content.
Common situations: Following stale embed links from streaming sites; files deleted after takedown; host under maintenance.
Related errors
- Video %s does not exist
- Redirect loop: %s
- Can't find any video
- Video %s does not exist
- Video %s does not exist
AI-assisted analysis of ytdl-org/youtube-dl@956b8c5855 (2026-08-14).
Data as JSON: /api/errors/74834e628df1bf67.
Report an issue: GitHub.