{"record":{"id":"cb4f882b6b2f32b2","repo":"fish2018/pansou","slug":"s-cb4f88","errorCode":null,"errorMessage":"[%s] 未能抓取到有效网盘链接","messagePattern":"\\[(.+?)\\] 未能抓取到有效网盘链接","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"plugin/mizixing/mizixing.go","lineNumber":159,"sourceCode":"\t\t\t\tUniqueID: buildUniqueID(item.URL),\n\t\t\t\tTitle:    item.Title,\n\t\t\t\tContent:  strings.TrimSpace(content),\n\t\t\t\tLinks:    detail.links,\n\t\t\t\tTags:     mergeTags(item.Category, detail.tags),\n\t\t\t\tChannel:  \"\",\n\t\t\t\tDatetime: detail.datetime,\n\t\t\t}\n\n\t\t\tresultM.Lock()\n\t\t\tresults = append(results, result)\n\t\t\tresultM.Unlock()\n\t\t}()\n\t}\n\n\twg.Wait()\n\n\tif len(results) == 0 {\n\t\treturn nil, fmt.Errorf(\"[%s] 未能抓取到有效网盘链接\", p.Name())\n\t}\n\n\treturn plugin.FilterResultsByKeyword(results, searchKeyword), nil\n}\n\ntype searchItem struct {\n\tTitle    string\n\tURL      string\n\tCategory string\n\tSummary  string\n}\n\nfunc (p *MizixingPlugin) fetchSearchResults(client *http.Client, keyword string) ([]searchItem, error) {\n\tsearchURL := fmt.Sprintf(\"%s?s=%s\", searchEndpoint, url.QueryEscape(keyword))\n\n\tctx, cancel := context.WithTimeout(context.Background(), requestTimeout)\n\tdefer cancel()\n","sourceCodeStart":141,"sourceCodeEnd":177,"githubUrl":"https://github.com/fish2018/pansou/blob/beaa56133755a548ebc51b090b3816e2ae044aa6/plugin/mizixing/mizixing.go#L141-L177","documentation":"After fanning out concurrent detail-page fetches, searchImpl found that none of the matched items yielded a valid netdisk link. It aggregates results and errors out if the final list is empty. Indicates the detail pages existed but contained no extractable pan links.","triggerScenarios":"All detail-page goroutines fail (network/selector mismatch) or succeed but extract no cloud-drive URLs, leaving results empty after wg.Wait().","commonSituations":"Site changed detail-page HTML so link extraction selectors no longer match; posts without pan links; detail fetches blocked by anti-bot measures (403/timeout).","solutions":["Check individual detail fetch failures — enable logging in fetchDetailData to see whether fetches failed or extraction found nothing.","Update detail-page extraction selectors to match current site HTML.","Verify requests aren't blocked (add cookies/UA rotation if the site challenges bots).","Try a different keyword that matches posts known to contain links."],"exampleFix":"// before\nif len(results) == 0 {\n    return nil, fmt.Errorf(\"[%s] 未能抓取到有效网盘链接\", p.Name())\n}\n// after\nif len(results) == 0 {\n    return nil, fmt.Errorf(\"[%s] 未能抓取到有效网盘链接 (items=%d)\", p.Name(), len(items))\n}","handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":"results, err := mizixingSearch(ctx, keyword)\nif err != nil {\n    log.Printf(\"mizixing: %v\", err)\n    return otherPluginSearch(ctx, keyword)\n}","preventionTips":["Log per-detail fetch failures so empty aggregates are diagnosable.","Keep detail-page extraction selectors in sync with site HTML.","Rotate UA/cookies if the site blocks detail requests."],"tags":["scraping","extraction-failed","empty-results"],"backgroundTag":"empty-result-set","analyzedSha":"beaa56133755a548ebc51b090b3816e2ae044aa6","analyzedAt":"2026-09-07T00:31:18.025Z","contentChangedAt":"2026-09-07T00:31:18.025Z","schemaVersion":2},"datasetVersion":"2026-09-15T23:17:13.987Z"}