YouTube コメントスクレイパー

動画のすべてのコメントを、
1 行ずつ

動画 ID または watch URL を貼り付けると、コメント欄が表として返ります - 誰が書いたか、そのチャンネル ID、本文、高評価、返信数、そしてその行が返信かトップレベルのコメントか。「評価順」または「新しい順」で並べ替えられ、必要なら返信もまとめて取得できます。

1 回かぎり 500 行無料以降 1 行 0.002 ドルコメント 1 件につき 1 行CSV · JSON · Excel
使い方

動画を入力すると、
そのコメント欄が返ります。

読み込むページも、渡す Cookie もありません。動画を指定し、コメント欄をどこまで取得するかを選ぶだけです。

  1. ステップ 1プラットフォームにログインします。
  2. ステップ 2YouTube コメントスクレイパーを開きます。
  3. ステップ 3動画 ID または watch URL を 1 行に 1 つずつ貼り付けます。CSV・TXT・XLSX をアップロードすれば、その 1 列目がリストとして読み込まれます。
  4. ステップ 4クエリごとの上限を設定するか、0 のままにしてコメント欄全体を取得します。
  5. ステップ 5並び順(評価順 または 新しい順)を選び、返信の行も欲しい場合は Extract replies にチェックを入れます。
  6. ステップ 6形式を選び、Get Data をクリックします。

本サービスはページの HTML を解析するのではなく、YouTube 自身の JSON インターフェースを読み取ります。そのため YouTube 側のレイアウト変更でエクスポートが黙って壊れることはありません。

選ばれる理由

コメント欄をスクロールするのではなく、
読むために作られています。

返信は不意打ちではなく、選択です

既定ではトップレベルのコメントだけが返ります。Extract replies にチェックを入れると返信の行も届き、それぞれ is_reply で識別されるため、会話とその起点となったコメントを推測せずに分けられます。

評価順か新しい順か、その違いは大きい

同じ動画を 評価順新しい順 で並べ替えると、答えられる問いが変わります。視聴者が支持したものと、いま語られていることです。並び順はパラメータなので、両方取得して比較できます。

一部だけ取るか、すべて取るか

上限はクエリ単位で効くため、1 つのジョブで多数の動画からそれぞれ最初の 100 件を取得できます。0 にすれば、コメント欄を可能な限り最後まで取得します。

データ辞書

表計算では 10 列、
JSON では 11 列

以下の名称は、届いたままのエクスポートのヘッダー行です。コメント 1 件につき 1 行。各説明は、その列が何のためにあり、実際にどう振る舞うかを示します - エクスポートで驚くことになる 2 か所も含めて。

query
送信した動画で、その動画のコメントの各行に返されます。そのまま繰り返されるため、完全な watch URL を送ればそれが返り、動画 ID だけを送ればそれが返ります。1 つのファイルに複数の動画が含まれる場合は、この列でグループ化してください。
video_id
コメントが属する動画の ID。正規化された形式なので、query より結合キーとして安全です - 同じ動画を 2 通りの方法で送っても、同じ video_id になります。
author
コメントに表示される表示名。
author_channel
コメント投稿者のチャンネル ID。人物を識別する安定した識別子です。表示名は変わりますし一意でもないため、投稿者の重複を除いて数える場合や、動画をまたいで同じ人物を追う場合はこちらを使ってください。
comment
書かれたままのコメント本文。
likes
コメントの高評価数。表示がない場合は 0 ではなく空 で届くため、合計したり並べ替えたりする前に値をそろえてください。
reply_count
そのコメントに付いた返信の数。返信がない場合も 0 ではなく空になります。これは親コメント側の件数であり、返信行を取得したかどうかには左右されません。
published
コメントが投稿された時期で、YouTube の表記そのままです - コメントの古さに応じた単位の相対表記で、「1 日前」から「2 年前」まであり、編集された場合は「(編集済み)」が付きます。タイムスタンプではなく、そのようには解析できません。実際の日付が必要な場合は、実行日を記録し、この値をそこからの差分として扱ってください。
is_reply
その行がトップレベルのコメントではなく返信かどうか。値は真偽値ではなく文字列の yes または no です - 文字列として判定してください。
parent_author
返信が誰に対するものかを示すための列です。この列に値が入っているのを見たことは一度もありません。当社が行ったすべての実行のすべての行で空でした。値が入り得る唯一の場所である返信行でも同様です。スキーマに含まれるため記載していますが、ご自身のエクスポートを確認せずにこの列を前提にしないでください。

JSON エクスポートには、表計算にはない列が 1 つあります: position当社が保有するすべての .json のヘッダーに存在し、すべての .xlsx には存在しません。本サービスに対して開発していて、コメント欄が返ってきた順序が必要なら JSON を使ってください。表計算を変換しても、その情報は得られません。

よくある活用

この用途で
よく使われる 3 つの仕事。

コメント欄が、無限スクロールよりも表計算として役に立つ場面です。

オーディエンス調査

視聴者が実際に語ったことを読む

コメント欄は、特定の対象について特定の時点で寄せられた、依頼も編集もされていないフィードバックです。自社の動画と、視聴者が代わりに見ている動画の両方から取得し、likes で並べ替えれば、人々が本当に抱えている疑問や反論がおのずと上位に上がってきます。

マーケティング · プロダクト
チャンネル運営

答える価値のある問いを見つける

reply_count が多く、チャンネルからの返信がないコメントを抜き出してください。それは視聴者があなた抜きですでに議論している話題です。数は多くありませんし、そこに手を入れることが最も安上がりなエンゲージメントです。

クリエイター · コミュニティ
リサーチ

評価順と新しい順を比べる

同じ動画を 2 回実行し、一方を 評価順、もう一方を 新しい順 で取得します。視聴者が支持したものと、いま語られていることの差こそが、感情が動いた場所です - 片方の並び順しか見なければ、その差は見えません。

リサーチ · 戦略
料金

実際に取得した行の分
だけお支払いください。

サブスクリプションも、最低利用額も、ユーザー単位のライセンスもありません。最初の 500 行は当社負担で、以降は従量課金です。

無料枠

500 行無料 - 0 ドル

新規アカウントごとに 1 回かぎり。クレジットカードは不要で、すべてのスクレイパーが利用できます。1 行が 1 コメントなので、無料枠は形だけの見本ではなく、実際のコメント欄をまかなえます。

ずっと 0 ドル
従量課金

無料枠の後は 1 行 0.002 ドル

コメント 1,000 件でおよそ 2 ドルです。上限はクエリ単位なので、ジョブの費用は後から判明するものではなく、あらかじめ決められるものです。試している間は上限を抑え、その動画を丸ごと取る価値があると分かってから引き上げてください。

一番人気
エンタープライズ

カスタム - 定期モニタリング

多数の動画のコメントを定期的に追跡するチーム向けに、ボリューム価格、SLA、専用ワーカー、個別のオンボーディングをご用意します。想定件数をお知らせいただければお見積もりします。

ご相談ください
初回の有料実行が 10 % オフ。お支払い時にコード LIVESCRAPER10 をご利用ください。
登録する
併用がおすすめ

コメントは動画
一部にすぎません。

その下で語られたこと、その中で語られたこと、そして誰が公開したか - 3 つの異なる問いです。

法的な位置づけ

YouTube のコメント
収集するのは合法ですか?

端的に言えば「はい」です。動画の下に公開されている範囲だけを収集する限りにおいて - そして本サービスが読むのはそれだけです。

コメント欄は公開されています。アカウントがなくても誰でも読むことができ、公開されている情報を調査目的で収集することは以前から確立された実務です。データが公開されており、処理がサービスの運用を妨げない限り、これを禁じる連邦法はありません。

ただし、これがどういうデータなのかは意識してください。価格や掲載情報とは性質が異なります。コメントを書くのは人であり、authorauthor_channel はその人物を特定します。公開されていることは、義務がないことと同じではありません。保存すれば個人データを取り扱うことになり、取得元がどこであれ GDPR や同種の規制が適用されます。必要な分だけ収集し、必要な期間だけ保持し、個人のコメントをチャンネル ID と併せて再公開する前には、いったん考えてください。

YouTube の利用規約は自動アクセスを制限しているため、この点は規約上の論点として残ります。当社はログインの背後にあるものには一切触れず、通常の視聴者に見える範囲だけを読み取り、データ層でサードパーティのトラッカーを動作させることもありません。エクスポートは 30 日後に自動削除されます。

livescraper.app · 方針
公開されているコメントのみ
ログイン不要、ペイウォールなし
コメントは個人データ - そのように取り扱ってください!
既定で GDPR に準拠
エクスポートは自動削除(30 日)
動画の下で、どの視聴者にも見えているのと同じテキストです。
よくある質問

登録前によく寄せられる質問。

よくいただく質問です。ほかにご不明な点があれば お問い合わせください - 回答を書いているのはボットではなく人間です。

エクスポートにはどの列が含まれますか?+
表計算では 10 列です。query、video_id、author、author_channel、comment、likes、reply_count、published、is_reply、parent_author。コメント 1 件につき 1 行です。JSON エクスポートには、表計算にはない 11 番目の項目 position が含まれます。
送信するのは URL ですか、動画 ID ですか?+
どちらでも構いません。動画 ID または完全な watch URL を 1 行に 1 つずつ貼り付けるか、CSV・TXT・XLSX をアップロードすれば 1 列目がリストとして読み込まれます。送信した内容は query 列にそのまま返り、正規化された ID が video_id に入ります。
トップレベルのコメントに加えて返信も取得できますか?+
指定した場合のみです。Extract replies は切り替え式で既定はオフなので、通常の実行ではトップレベルのコメントが返ります。オンにすると返信の行も届き、それぞれ is_reply 列に文字列 yes または no で示されます。
published 列が日付でないのはなぜですか?+
YouTube が日付を表示していないからです。この列にはサイトが表示する相対表記が入り、単位はコメントの古さに応じて変わります。「1 日前」「12 日前」「2 年前」などで、コメントが編集されている場合は「(編集済み)」が付きます。タイムスタンプとしては解析できません。ジョブを実行した日付を記録し、この列をそこからの差分として扱ってください。
likes と reply_count が空になることがあるのはなぜですか?+
表示がない場合、ゼロではなく空で届きます。どちらの列でも、合計・並べ替え・平均を行う前に空をゼロに変換してください。そうしないと、気づきにくい形で集計が狂います。
parent_author 列には何が入りますか?+
当社の経験では何も入りません。スキーマに含まれており、返信が誰に対するものかを示すための列ですが、当社が行ったすべての実行のすべての行で空で返りました。値が入り得る唯一の場所である返信行でも同様です。この列を前提に何かを作る前に、ご自身のエクスポートを確認してください。
取得するコメント数を制御できますか?+
はい。上限はクエリ単位で効くため、1 つのジョブで多数の動画からそれぞれ最初の 100 件を取得できます。0 にすればコメント欄を可能な限り最後まで取得し、評価順か新しい順かでどちら側から取るかを決められます。
費用はどれくらいですか?+
新規アカウントの最初の 500 行は 1 回かぎり無料です。以降は 1 行 0.002 ドル - コメント 1,000 件でおよそ 2 ドル - の従量課金で、サブスクリプションはありません。クレジットに有効期限はなく、月ごとのリセットもありません。

コメント欄を
表計算として読む。

動画 ID または watch URL を渡せば、コメントを行データとして持ち帰れます - 投稿者、チャンネル ID、本文、高評価、返信数。最初の 500 行は無料です。

すぐに利用開始 · カード登録不要

YouTube のコメントを構造化された行データに

YouTube のコメント欄は、視聴者が尋ねられることなく本音を語る数少ない場所のひとつです。同時に、読むためではなくスクロールするために作られています。自分の基準で並べ替えることも、絞り込むことも、ある動画と別の動画を比べることもできません。本サービスはそれを表に変えます - コメント 1 件につき 1 行、投稿者、そのチャンネル ID、コメント本文、高評価数、返信数、そしてその行が返信かどうかの目印を、CSV・JSON・Excel で出力します。

操作は意図的に簡素です。動画 ID または完全な watch URL を 1 行に 1 つずつ貼り付けるか、CSV・TXT・XLSX をアップロードすれば 1 列目がリストとして読み込まれます。上限はクエリ単位で効くため、1 つのジョブで多数の動画からそれぞれ最初の 100 件を取得することも、0 に設定してコメント欄を丸ごと取得することもできます。並び順は評価順か新しい順かをご自身で選べ、返信は別の切り替えで、指定しない限りオフです。本サービスはページの HTML を解析するのではなく YouTube 自身の JSON インターフェースを読み取るため、サイト側のレイアウト変更でエクスポートが静かに壊れることはありません。

データについて、作り込む前に知っておくべき点が 2 つあります。published 列は日付ではありません。YouTube 自身が表示する相対表記が入り、単位はコメントの古さに応じて変わります。新しいコメントなら「1 日前」、古いものなら「2 年前」となり、編集済みの場合は「(編集済み)」が付きます。タイムスタンプとしては解析できず、ジョブを実行した日付と並べて初めて意味を持ちます。また likes と reply_count は、表示がないときにゼロではなく空で届くため、先に変換しておかないと合計や平均が静かに狂います。is_reply 列は真偽値ではなく文字列の yes または no なので、文字列として判定してください。

スキーマについて正直に記しておきます。表計算のエクスポートは 10 列、JSON は 11 列です。JSON にはコメント欄が返ってきた順序を示す position が加わり、表計算を変換してもこれは復元できません。そして返信が誰に対するものかを示すはずの parent_author は、当社が行ったすべての実行のすべての行で空で返りました。値が入り得る唯一の場所である返信行でも同様です。宣言されたスキーマの一部であるため記載していますが、機能しているのを確認したからではありません。依存する前に、ご自身のエクスポートを確認してください。まずは無料でお試しを。最初の 500 行は無料で、クレジットカードも不要です。現行の料金は料金ページをご覧ください。