douyin-batch-download
F2フレームワークをベースに、TikTok(抖音)動画を効率的に一括ダウンロードするツール。単一または複数クリエイターの動画まとめ取得、Cookieの自動管理、差分更新による増分ダウンロードに対応しており、特定クリエイターの動画を大量取得したい場合、サーバー上での自動ダウンロード運用、または動画ライブラリの定期更新が必要な際に使用します。
description の原文を見る
抖音视频批量下载工具 - 基于 F2 框架实现高效、增量的视频下载功能。支持单个/批量博主下载,自动 Cookie 管理,差量更新机制。本技能应在用户需要批量下载特定博主视频、服务器部署自动化下载、或定期更新视频库时使用。
SKILL.md 本文
Douyin Batch Download
このスキルは F2 フレームワーク に基づいて Douyin 動画の一括ダウンロードを実装し、効率的で安定した一括ダウンロード機能を提供します。
機能概要
- 単一クリエイター下載 - ホームページリンクまたは ID を入力して、全ての動画または指定数の動画をダウンロード
- 一括下载 - 複数のクリエイターを一度に指定して、バッチ処理
- 増分ダウンロード - 既にダウンロード済みの動画を自動スキップ(aweme_id で判定)
- Cookie 管理 - ブラウザから自動取得を優先し、失敗時は手動設定を提示
- フォロー一覧管理 - following.json でダウンロード済みのクリエイターを記録
- 差分アップデート - ホームページにはあるが、ローカルにない動画のみダウンロード
- クリエイター名フォルダ - クリエイターのニックネームをフォルダ名として使用し、識別が容易
- カスタムダウンロードパス - ダウンロードディレクトリをカスタマイズ可能、デフォルトはシステム Downloads ディレクトリ
- 動画圧縮 - ffmpeg を使用して動画を圧縮し、ストレージを節約
- 動画メタデータ - 動画統計データ(いいね、コメント、保存、シェア数)を抽出して保存
- データ可視化 - Web インターフェースでクリエイターと動画の統計情報を表示、ソートとフィルター機能をサポート
使用シーン
- サーバー一括ダウンロード:専用サーバーに配置して、定期的に特定のクリエイターの動画を自動取得
- 定期的なビデオライブラリ更新:新しい動画を自動検出し、不足分のみをダウンロード
- バックアップと移行:動画ファイルを分類して保存し、バックアップと後続処理を容易に
- コンテンツ分析:動画統計データ(いいね、コメント、保存)に基づいてクリエイターのコンテンツ分析を実施
設定説明
ダウンロードパス設定
config/config.yaml でダウンロードパスを設定:
# ダウンロードパス設定
# 空白の場合はシステム Downloads ディレクトリの "抖音视频下载" サブディレクトリを使用
# macOS: ~/Downloads/抖音视频下载
# Windows: C:\Users\<ユーザー名>\Downloads\抖音视频下载
download_path: ""
# カスタムパス例:
# download_path: "/Users/maoking/Movies/抖音"
# download_path: "D:\\Videos\\抖音"
フォルダ命名
動画ファイルはクリエイターのニックネームで分類して保存されます。例:
~/Downloads/抖音视频下载/
├── クリエイターA/
│ ├── 2024-01-01_動画タイトル_xxx.mp4
│ └── ...
├── クリエイターB/
│ └── ...
└── data.js # Web インターフェースデータ
動画メタデータ
動画をダウンロードする際、システムは自動的に以下のデータを抽出して保存します:
| フィールド | 説明 |
|---|---|
aweme_id | 動画ユニーク ID |
uid | 作成者 UID |
nickname | クリエイターニックネーム |
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/
│ ├── utils/ # ツールモジュール
│ │ └── config.py # 統一設定読み込み
│ ├── 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 # QR コードログインスクリプト
├── config/
│ ├── config.yaml.example # 設定テンプレート
│ └── following.json # フォロー一覧(ダウンロード済みクリエイター)
└── douyin_users.db # SQLite データベース(ユーザー情報+動画メタデータ)
依存関係
システム依存
| 依存 | インストール方法 |
|---|---|
| Chrome/Chromium | ダウンロードページ |
| ffmpeg | macOS: brew install ffmpeg / Ubuntu: sudo apt install ffmpeg |
ffmpeg は動画圧縮機能に使用されます。ダウンロード機能のみが必要な場合はインストール不要です。
Python パッケージ
| パッケージ名 | 用途 |
|---|---|
f2 | Douyin 動画ダウンロードフレームワーク |
playwright | ブラウザ自動化(QR コードログイン) |
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 ファイルに転記できます。
連携方法:まず Douyin ダウンロードスキルで動画を取得し、その後 FunASR スキルで転記を実施します。2つのスキルは独立して動作し、必要に応じて柔軟に組み合わせることができます。
ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ
詳細情報
- 作者
- cat-xierluo
- ライセンス
- MIT
- 最終更新
- 不明
Source: https://github.com/cat-xierluo/legal-skills / ライセンス: MIT
関連スキル
superfluid
Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper
civ-finish-quotes
実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。
nookplot
Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。
web3-polymarket
Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。
ethskills
Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。
xxyy-trade
このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。