{"record":{"id":"5f739aeabf74e936","repo":"iawia002/lux","slug":"can-not-found-title","errorCode":null,"errorMessage":"can not found title","messagePattern":"can not found title","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"extractors/kuaishou/kuaishou.go","lineNumber":65,"sourceCode":"\theaders := map[string]string{\n\t\t\"User-Agent\": \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:98.0) Gecko/20100101 Firefox/98.0\",\n\t}\n\n\tcookies, err := fetchCookies(url, headers)\n\tif err != nil {\n\t\treturn nil, errors.WithStack(err)\n\t}\n\n\theaders[\"Cookie\"] = cookies\n\n\thtml, err := request.Get(url, url, headers)\n\tif err != nil {\n\t\treturn nil, errors.WithStack(err)\n\t}\n\n\ttitles := utils.MatchOneOf(html, `<title>([^<]+)</title>`)\n\tif titles == nil || len(titles) < 2 {\n\t\treturn nil, errors.New(\"can not found title\")\n\t}\n\n\ttitle := regexp.MustCompile(`\\n+`).ReplaceAllString(strings.TrimSpace(titles[1]), \" \")\n\n\tqualityRegMap := map[string]*regexp.Regexp{\n\t\t\"sd\": regexp.MustCompile(`\"photoUrl\":\\s*\"([^\"]+)\"`),\n\t}\n\n\tstreams := make(map[string]*extractors.Stream, 1)\n\tfor quality, qualityReg := range qualityRegMap {\n\t\tmatcher := qualityReg.FindStringSubmatch(html)\n\t\tif len(matcher) != 2 {\n\t\t\treturn nil, errors.WithStack(extractors.ErrURLParseFailed)\n\t\t}\n\n\t\tu := strings.ReplaceAll(matcher[1], `\\u002F`, \"/\")\n\n\t\tsize, err := request.Size(u, url)","sourceCodeStart":47,"sourceCodeEnd":83,"githubUrl":"https://github.com/iawia002/lux/blob/dd00f6d258d80b6684a0b9402d7124e5c18ef42f/extractors/kuaishou/kuaishou.go#L47-L83","documentation":"The kuaishou extractor mints a fresh cookie (createCookie), fetches the page, then reads the video name from <title>([^<]+)</title>. This error means the served HTML carried no title content — almost always an anti-bot or waf interstitial rather than the real video page. The request itself succeeded.","triggerScenarios":"Kuaishou risk control serving a challenge the freshly minted cookie did not pass; deleted or region-locked videos; a page-shell change that drops the title tag.","commonSituations":"Datacenter IPs; bursts of requests from one IP; videos under moderation review.","solutions":["Retry — the cookie is regenerated each run and a second attempt often passes.","Open the URL in an incognito browser to confirm the video is public.","Run from a different IP or network.","If the page renders but the title moved, update the regex."],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":"Retry the full Extract 2-3 times with a few seconds of backoff — each attempt mints a fresh kuaishou cookie and transient risk-control failures often clear. Stop retrying once the failure repeats to avoid provoking the waf.","preventionTips":["Keep concurrency low for kuaishou; bursts trigger challenges","Rotate egress IPs for large jobs","Verify video availability in an incognito browser before extraction"],"tags":["kuaishou","anti-bot","scraping","risk-control"],"backgroundTag":null,"analyzedSha":"dd00f6d258d80b6684a0b9402d7124e5c18ef42f","analyzedAt":"2026-08-15T16:57:31.080Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}