xiaohongshu-extract
This skill extracts Xiaohongshu note metadata from a public XHS URL. It instructs running python scripts/xiaohongshu_extract.py "<xhs_url>" and performs network fetches via requests.get to the provided "<xhs_url>".
Xiaohongshu Extract
Overview
Extract note metadata (title, desc, type, time, user, engagement, tags, video stream info) from an XHS share or discovery URL using the bundled script.
Quick Start
Run the extractor and print JSON to stdout:
python scripts/xiaohongshu_extract.py "<xhs_url>" --pretty
Write JSON to a file:
python scripts/xiaohongshu_extract.py "<xhs_url>" --output /tmp/xhs_note.json
Output only the flattened record:
python scripts/xiaohongshu_extract.py "<xhs_url>" --flat-only --pretty
Write only the flattened record to a file:
python scripts/xiaohongshu_extract.py "<xhs_url>" --flat-only --output /tmp/xhs_flat.json
Emit errors as JSON:
python scripts/xiaohongshu_extract.py "<xhs_url>" --error-json
Emit errors as JSON to a file:
python scripts/xiaohongshu_extract.py "<xhs_url>" --error-json --output /tmp/xhs_error.json
Workflow
- Run
scripts/xiaohongshu_extract.pywith the user-provided URL. - If the script fails to find
window.__INITIAL_STATE__, ask the user for a direct discovery URL. - Use the JSON output to summarize note metadata or to feed downstream analysis.
Output Notes
The script returns a JSON object with:
note_id,title,desc,type,time,ip_locationuser(nickname, user_id, avatar)interact(liked/collected/comment/share counts, plus normalized *_num values)tagsvideo(video_id, duration, width, height, fps, size, stream_url)field_mapping(nested-to-flat field name map)flat(flattened record with normalized counts and ISO timestamp)
If the stream list is empty, video fields may be null or empty.
If --flat-only is set, only flat is printed. If --error-json is set, errors are emitted as JSON and may include final_url and status_code when available.
Resources
scripts/
scripts/xiaohongshu_extract.pyextracts note metadata from XHS share/discovery URLs.