douyin-batch-download
npx skills add https://github.com/cat-xierluo/legal-skills --skill douyin-batch-download
Agent 安装分布
Skill 文档
æé³è§é¢æ¹éä¸è½½
æ¬æè½åºäº F2 æ¡æ¶å®ç°æé³è§é¢æ¹éä¸è½½ï¼æä¾é«æã稳å®çæ¹éä¸è½½è½åã
åè½æ¦è¿°
- å个å主ä¸è½½ – è¾å ¥ä¸»é¡µé¾æ¥æ IDï¼ä¸è½½å ¨é¨ææå®æ°é
- æ¹éä¸è½½ – 䏿¬¡æå®å¤ä¸ªåä¸»ï¼æ¹éå¤ç
- å¢éä¸è½½ – èªå¨è·³è¿å·²ä¸è½½çè§é¢ï¼æ aweme_id 夿ï¼
- Cookie ç®¡ç – ä¼å 仿µè§å¨èªå¨è¯»åï¼å¤±è´¥åæç¤ºæå¨é ç½®
- å ³æ³¨åè¡¨ç®¡ç – ç»´æ¤ following.json è®°å½å·²å¤ççå主
- å·®éæ´æ° – æ¯æåªä¸è½½ä¸»é¡µæä½æ¬å°æ²¡æçè§é¢
- ç®å½å ¼å®¹ – ç¨æ°å ID + ä¸å±ç»æï¼è§é¢/å°é¢/è½¬å½æåï¼
- è§é¢å缩 – ä½¿ç¨ ffmpeg å缩è§é¢ï¼èçåå¨ç©ºé´
- è§é¢å æ°æ® – æåå¹¶ä¿åè§é¢ç»è®¡æ°æ®ï¼ç¹èµãè¯è®ºãæ¶èãå享æ°ï¼
- æ°æ®å¯è§å – Web çé¢å±ç¤ºå主åè§é¢çç»è®¡ä¿¡æ¯ï¼æ¯ææåºåçé
使ç¨åºæ¯
- æå¡å¨æ¹éä¸è½½ï¼é¨ç½²å¨ä¸ç¨æå¡å¨ä¸ï¼å®æ¶æ¹éæåç¹å®å主è§é¢
- å®ææ´æ°è§é¢åºï¼èªå¨æ£æµæ°è§é¢ï¼åªä¸è½½ç¼ºå¤±é¨å
- å¤ä»½ä¸è¿ç§»ï¼è§é¢æä»¶åç±»åå¨ï¼ä¾¿äºå¤ä»½ååç»å¤ç
- å 容åæï¼åºäºè§é¢ç»è®¡æ°æ®ï¼ç¹èµãè¯è®ºãæ¶èï¼è¿è¡å主å 容åæ
è§é¢å æ°æ®
ä¸è½½è§é¢æ¶ï¼ç³»ç»ä¼èªå¨æåå¹¶ä¿å以䏿°æ®ï¼
| åæ®µ | 说æ |
|---|---|
aweme_id |
è§é¢å¯ä¸ ID |
uid |
ä½è UID |
desc |
è§é¢æè¿°/ææ¡ |
create_time |
å叿¶é´ |
duration |
è§é¢æ¶é¿ |
digg_count |
ç¹èµæ° |
comment_count |
è¯è®ºæ° |
collect_count |
æ¶èæ° |
share_count |
åäº«æ° |
æ°æ®åå¨å¨ douyin_users.db ç video_metadata 表ä¸ã
æå¨æå/æ´æ°å æ°æ®
# æ«ææ¬å°è§é¢å¹¶æåå
æ°æ®ï¼åºæ¬ä¿¡æ¯ï¼
python scripts/extract-metadata.py
# æ¥çç»è®¡æè¦
python scripts/extract-metadata.py --stats
â ï¸ æ³¨æ:
--fetché项已åºå¼ãæ¨è使ç¨download-v2.pyéæ°ä¸è½½è§é¢ï¼ä¼èªå¨ä¿åç»è®¡æ°æ®ã
å¿«éå¼å§
# å建é
ç½®
mkdir -p config
cp config/config.yaml.example config/config.yaml
# ç¼è¾é
ç½®ï¼å¡«å Cookieï¼
${EDITOR:-nano} config/config.yaml
# å个ä¸è½½ï¼æ¨èï¼
python scripts/download-v2.py "https://www.douyin.com/user/MS4wLjABAAAA..."
# æ¹éä¸è½½
python scripts/batch-download.py --all
# 交äºå¼éæ©å主ä¸è½½
python scripts/batch-download.py
# éæ ·ä¸è½½ï¼æ¯ä¸ªå主1个è§é¢ï¼å¿«éæ´æ°æ°æ®ï¼
python scripts/batch-download.py --sample
# çæ Web ç颿°æ®
python scripts/generate-data.py
# æ¥ç Web çé¢
open downloads/index.html
æ¨è工使µ
1. æ·»å å主 â python scripts/manage-following.py --batch
2. æ¹éä¸è½½ â python scripts/batch-download.py --all
3. æ¥çæ°æ® â open downloads/index.html
ä¸è½½æ¶èªå¨ä¿åï¼
- â è§é¢æä»¶
- â ç¹èµãè¯è®ºãæ¶èãå享æ°
- â è§é¢æè¿°ãå叿¶é´ãæ¶é¿
ç®å½ç»æ
skills/douyin-batch-download/
âââ SKILL.md # æ¬æä»¶
âââ references/
â âââ INSTALLATION.md # 详ç»å®è£
ä¾èµè¯´æ
â âââ USAGE.md # 详ç»ä½¿ç¨è¯´æ
âââ scripts/
â âââ download-v2.py # â
æ¨èä¸è½½èæ¬ï¼èªå¨ä¿åç»è®¡æ°æ®ï¼
â âââ batch-download.py # æ¹éä¸è½½å
¥å£
â âââ download.py # â ï¸ æ§çä¸è½½èæ¬ï¼å·²åºå¼ï¼
â âââ manage-following.py # å
³æ³¨å表管çï¼æ·»å /å é¤/æç´¢ï¼
â âââ sync-following.py # ä» F2 æ°æ®åºåæ¥ following.json
â âââ compress.py # è§é¢åç¼©èæ¬
â âââ extract-metadata.py # è§é¢å
æ°æ®æå
â âââ generate-data.py # çæ Web ç颿°æ®æä»¶
â âââ following.py # following.json æä½åº
â âââ login.py # æ«ç ç»å½èæ¬
âââ config/
â âââ config.yaml.example # é
置模æ¿
â âââ following.json # å
³æ³¨å表ï¼å·²ä¸è½½çå主ï¼
âââ downloads/
â âââ {uid}/ # æå主 UID åç±»çè§é¢ç®å½
â âââ data.js # Web ç颿°æ®æä»¶
â âââ index.html # Web 管ççé¢
âââ douyin_users.db # SQLite æ°æ®åºï¼ç¨æ·ä¿¡æ¯ + è§é¢å
æ°æ®ï¼
ä¾èµ
ç³»ç»ä¾èµ
| ä¾èµ | å®è£ æ¹å¼ |
|---|---|
| Chrome/Chromium | ä¸è½½å°å |
| ffmpeg | macOS: brew install ffmpeg / Ubuntu: sudo apt install ffmpeg |
ffmpeg ç¨äºè§é¢å缩åè½ï¼å¦ä» éä¸è½½åè½å¯ä¸å®è£ ã
Python å
| å
å | ç¨é |
|——|——|———-|
| f2 | æé³è§é¢ä¸è½½æ¡æ¶ |
| playwright | æµè§å¨èªå¨åï¼æ«ç ç»å½ï¼ |
| pyyaml | YAML é
ç½®æä»¶è§£æ |
| httpx | 弿¥ HTTP 客æ·ç«¯ |
| aiofiles | 弿¥æä»¶æä½ |
详ç»å®è£ 说æï¼è§ references/INSTALLATION.md
详ç»ä½¿ç¨è¯´æï¼è§ references/USAGE.md
åèèµæº
- F2 宿¹ææ¡£ï¼https://f2.wiki
- F2 GitHubï¼https://github.com/Johnserf-Seed/f2
ä¸å ¶ä»æè½é å
FunASR è¯é³è½¬æå
ä¸è½½çè§é¢å¯ä»¥ä½¿ç¨ funasr-transcribe æè½å°è§é¢è½¬å½ä¸ºå¸¦æ¶é´æ³ç Markdown æä»¶ã
é åæ¹å¼ï¼å ä½¿ç¨æé³ä¸è½½æè½è·åè§é¢ï¼åä½¿ç¨ FunASR æè½è¿è¡è½¬å½ã两个æè½ç¬ç«è¿è¡ï¼å¯æ ¹æ®éè¦çµæ´»ç»å使ç¨ã