resolve-kwai-cdn-url
4
总安装量
3
周安装量
#49297
全站排名
安装命令
npx skills add https://github.com/httprunner/skills --skill resolve-kwai-cdn-url
Agent 安装分布
opencode
3
gemini-cli
3
codebuddy
3
github-copilot
3
codex
3
kimi-cli
3
Skill 文档
Resolve Kwai CDN URL
Extract CDN URLs from Kuaishou share links with two paths:
- videodl (videofetch): primary path, supports cookies/proxy (Playwright + requests).
- GraphQL/mobile-page: fallback when videodl fails.
Path Convention
Canonical install and execution directory: ~/.agents/skills/resolve-kwai-cdn-url/. Run commands from this directory:
cd ~/.agents/skills/resolve-kwai-cdn-url
One-off (safe in scripts/loops from any working directory):
(cd ~/.agents/skills/resolve-kwai-cdn-url && uv run python scripts/kwai_videodl_resolve.py --help)
Fast path (videodl)
uv venv .venv
uv sync
uv run python scripts/kwai_videodl_resolve.py "https://v.kuaishou.com/8qIlZu" > single.jsonl
uv run python scripts/kwai_videodl_resolve.py --input-csv data.csv --csv-url-field URL --output output.jsonl --workers 10
uv run python scripts/kwai_videodl_resolve.py --input-csv data.csv --csv-url-field URL --output output.jsonl --workers 10 --resume
uv run python scripts/kwai_videodl_resolve.py "https://v.kuaishou.com/8qIlZu" --proxy "http://user:pass@host:port"
uv run python scripts/kwai_videodl_resolve.py "https://v.kuaishou.com/8qIlZu" --cookie "<YOUR_COOKIE>"
uv run python scripts/kwai_videodl_resolve.py "https://v.kuaishou.com/8qIlZu" --cookie-file cookie.json
Fallback path (GraphQL/mobile-page)
uv run python scripts/kwai_extract_cdn.py "https://www.kuaishou.com/short-video/3xu6tezif2v55m2" --cookie "<YOUR_COOKIE>"
uv run python scripts/kwai_extract_cdn.py "https://www.kuaishou.com/short-video/3xu6tezif2v55m2" --cookie-file cookie.json
uv run python scripts/kwai_extract_cdn.py "https://www.kuaishou.com/short-video/3xu6tezif2v55m2" --proxy "http://user:pass@host:port"
uv run python scripts/kwai_csv_to_jsonl.py data.csv --url-col URL --cdn-col CDNURL --cookie "<YOUR_COOKIE>" --workers 10 --output output.jsonl
uv run python scripts/kwai_csv_to_jsonl.py data.csv --url-col URL --cdn-col CDNURL --cookie-file cookie.json --workers 10 --output output.jsonl
uv run python scripts/kwai_csv_to_jsonl.py data.csv --url-col URL --cdn-col CDNURL --cookie "<YOUR_COOKIE>" --workers 10 --output output.jsonl --resume
uv run python scripts/kwai_csv_to_jsonl.py data.csv --url-col URL --cdn-col CDNURL --proxy "http://user:pass@host:port" --workers 10 --output output.jsonl
Output
- videodl:
{"url": "...", "cdn_url": "...", "error_msg": ""} - CSV mode (both paths): original columns +
CDNURL+ optionalerror_msg
Notes
- videodl auto-extracts the first URL from share text and follows
v.kuaishou.comredirects. - videodl Playwright path honors
proxy/cookie/headerspassed viarequests_overridesinkwai_videodl_resolve.py. - GraphQL path tries GraphQL, then mobile
INIT_STATE, then HTML state parsing. - If blocked, try without cookies first; if still blocked, pass a real browser cookie via
--cookieor--cookie-file. --cookieexpects a raw Cookie header string, e.g.kpf=PC_WEB; clientid=3; did=....--cookie-fileaccepts either a raw Cookie header string or a JSON cookie array export (list of{name,value}objects).- When no cookie is provided, videodl will fetch an anonymous cookie from the homepage (incognito-like).
--proxyapplies to all HTTP requests, e.g.http://user:pass@host:port.--resumerewrites output JSONL to keep only successful rows, then retries missing/failed rows and appends new results.- CSV progress logs are batch-based success counts; stats are emitted on completion or Ctrl+C.
live.kuaishou.comandcaptcha.zt.kuaishou.comare treated as failures;error_msgincludes the reason.
Resources
scripts/kwai_videodl_resolve.py: videodl-based resolver.scripts/kwai_extract_cdn.py: GraphQL/mobile-page resolver.scripts/kwai_csv_to_jsonl.py: CSV -> JSONL (GraphQL/mobile-page).scripts/kwai_common.py: shared helpers for resume and JSONL processing.references/videodl_api.md: minimal videodl API.references/kuaishou_graphql.md: GraphQL endpoints/payload notes.