動かざることバグの如し

近づきたいよ 君の理想に

yt-dlpをスクレイピングと検出されないようにするための設定

環境

  • yt-dlp 2025.03.31

yt-dlpスクレイピングと検出されないようにするための推奨設定

yt-dlpを使用して動画をダウンロードする際、ウェブサイト側にスクレイピングツールとして検出されないようにしたい。 通常のユーザーによるアクセスに見せかけ、ブロックやレート制限を回避するのが目的。

User-Agentの設定

実際のブラウザのUser-Agentを設定する

--user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36 Edg/135.0.3179.98"

Accept-Languageの設定

--add-header "Accept-Language: ja-JP"

待機時間を設定する

2つのオプションを組み合わせることで、ダウンロード間にランダムな待機時間を設定できる。プレイリストの一括ダウンロードなどに有効。

--sleep-interval SECONDS --max-sleep-interval SECONDS

例えば

yt-dlp --sleep-interval 60 --max-sleep-interval 120

だと、各ダウンロード間に60秒から120秒のランダムな待機時間が設定される。

--sleep-requests は指定した回数のリクエスト後に待機時間が入る。

ダウンロード速度を制限する

-r, --limit-rate RATE

例えばダウンロード速度を3MB/秒に制限するには、

yt-dlp -r 3M [URL]

実際の人間のインターネット使用に近い速度にすることで、不自然な高速ダウンロードを避けられる。

リファラーの設定

--referer "https://www.example.com/"

その他のHTTPヘッダーを追加

--add-header "Origin: https://web.example.com"
--add-header "Host: videos.example.com"