{"record":{"id":"02cbd715716b837c","repo":"ytdl-org/youtube-dl","slug":"can-t-find-any-video","errorCode":null,"errorMessage":"Can't find any video","messagePattern":"Can't find any video","errorType":"exception","errorClass":"ExtractorError","httpStatus":null,"severity":"error","filePath":"youtube_dl/extractor/iqiyi.py","lineNumber":352,"sourceCode":"            if len(vlist) < PAGE_SIZE:\n                break\n\n        return self.playlist_result(entries, album_id, album_title)\n\n    def _real_extract(self, url):\n        webpage = self._download_webpage(\n            url, 'temp_id', note='download video page')\n\n        # There's no simple way to determine whether an URL is a playlist or not\n        # Sometimes there are playlist links in individual videos, so treat it\n        # as a single video first\n        tvid = self._search_regex(\n            r'data-(?:player|shareplattrigger)-tvid\\s*=\\s*[\\'\"](\\d+)', webpage, 'tvid', default=None)\n        if tvid is None:\n            playlist_result = self._extract_playlist(webpage)\n            if playlist_result:\n                return playlist_result\n            raise ExtractorError('Can\\'t find any video')\n\n        video_id = self._search_regex(\n            r'data-(?:player|shareplattrigger)-videoid\\s*=\\s*[\\'\"]([a-f\\d]+)', webpage, 'video_id')\n\n        formats = []\n        for _ in range(5):\n            raw_data = self.get_raw_data(tvid, video_id)\n\n            if raw_data['code'] != 'A00000':\n                if raw_data['code'] == 'A00111':\n                    self.raise_geo_restricted()\n                raise ExtractorError('Unable to load data. Error code: ' + raw_data['code'])\n\n            data = raw_data['data']\n\n            for stream in data['vidl']:\n                if 'm3utx' not in stream:\n                    continue","sourceCodeStart":334,"sourceCodeEnd":370,"githubUrl":"https://github.com/ytdl-org/youtube-dl/blob/956b8c585591b401a543e409accb163eeaaa1193/youtube_dl/extractor/iqiyi.py#L334-L370","documentation":"Raised by IqiyiIE._real_extract when the downloaded page contains no data-player-tvid / data-shareplattrigger-tvid attribute AND the page also does not parse as a playlist. Without a tvid the extractor can neither fetch stream data nor treat the URL as a playlist, so it gives up.","triggerScenarios":"An iqiyi.com (or pps.tv) URL whose HTML lacks the tvid regex match - JS-rendered shell pages, bot-verification pages, removed videos, or URL patterns (e.g. pure search/list pages without tvid) the extractor does not handle.","commonSituations":"Region-served variants of iqiyi.com that omit the player markup, link shorteners/expired links, or CDN responses requiring cookies; also stale extractor versions after iQiyi markup changes.","solutions":["Confirm the URL plays in a browser from the same network/region.","Update youtube-dl/yt-dlp for current iQiyi page structure.","Use the canonical www.iqiyi.com/v_<id>.html or embed URL form for the video.","If the page is a pure listing, pick an actual video page URL."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"import requests\nhtml = requests.get(url, headers={'User-Agent': 'Mozilla/5.0', 'Referer': 'https://www.iqiyi.com/'}, timeout=10).text\nimport re\nif not re.search(r'data-(?:player|shareplattrigger)-tvid\\s*=\\s*[\\'\"](\\d+)', html):\n    skip('no tvid in page')","typeGuard":null,"tryCatchPattern":"try:\n    ydl.extract_info(url)\nexcept ExtractorError as e:\n    if \"Can't find any video\" in str(e):\n        # page has no player markup: verify in browser, try canonical v_<id>.html form, then give up\n        report_unsupported(url)","preventionTips":["Normalize iQiyi URLs to www.iqiyi.com/v_<id>.html form before extraction.","Verify region availability - some iQiyi variants serve shell pages abroad.","Treat as page-structure symptom: update extractor before debugging URLs."],"tags":["extractor","iqiyi","html-parsing","scraping","video-id"],"backgroundTag":null,"analyzedSha":"956b8c585591b401a543e409accb163eeaaa1193","analyzedAt":"2026-08-14T18:59:47.863Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}