メインコンテンツへスキップ

SE::YouTube::Video - YouTube動画データスクレイパー

スクレイパーの概要​

YouTube動画データスクレイパー。このスクレイパーを使用すると、動画に関するすべての主要なデータ、字幕、コメントをスクレイピングできます。クエリとしてYouTube動画ページのURLを使用する必要があります。動画のリンクはSE::YouTubeSE::YouTubeを使用して収集できます。YouTube動画スクレイパーを使用することで、マルチスレッドモードで動画に関するすべてのデータを収集することが可能です。

A-Parserの機能により、SE::YouTube::Video スクレイパーのスクレイピング設定を将来の使用のために保存(プリセット)したり、スクレイピングのスケジュールを設定したりすることが可能です。

内蔵された強力なテンプレートエンジン Template Toolkit により、結果に必要なロジックを適用し、JSON、SQL、CSVを含む様々なフォーマットでデータを出力するなど、必要な形式と構造で結果を保存できます。

収集データ​

  • 動画のタイトルと説明
  • 動画の長さ
  • 視聴回数、高評価数、コメント数
  • プレビューへのリンク
  • 投稿者名、アバターとチャンネルへのリンク、およびチャンネル登録者数
  • 動画の字幕(表示時間情報を含む)
  • タグリスト
  • コメントリスト(コメントへの返信を含む)
    • コメントIDと親コメントID(返信の場合)
    • 投稿者名、プロフィールとアバターへのリンク
    • コメント本文と投稿時間
  • 関連動画リスト
    • 動画のリンクとタイトル
    • 投稿者と日付
    • 視聴回数と動画の長さ
  • 動画のチャプター情報 ($chapters)
    • タイトル、開始時間(秒)、プレビュー画像へのリンク

機能​

  • インターフェース言語の選択
  • 字幕言語の選択
  • コメントのページ数の指定(1ページあたり約20コメント)
  • 各コメントに対する返信の最大ページ数の指定(最初のページは約10返信、以降は約50返信)
  • 関連動画のページ数の指定(1ページあたり約20動画)
  • Shortsのサポート

ユースケース​

  • YouTube動画に関する統計データの収集
  • テキストソースとしての字幕とコメントのスクレイピング
  • 関連動画の検索

動作の特徴​

字幕言語の選択ロジック​

スクレイパーは以下の優先順位(降順)を使用します:投稿者作成、投稿者作成(翻訳済み)、自動生成、自動生成(翻訳済み)。

例えば、スクレイパーで英語の字幕をスクレイピングするように設定した場合:

  • 動画に投稿者作成の英語字幕がある場合 - 投稿者作成のものがスクレイピングされます
  • 動画に投稿者作成の字幕があるが他言語の場合 - 英語に翻訳された投稿者作成のものがスクレイピングされます
  • 動画に投稿者作成の字幕がなく、英語の自動生成字幕がある場合 - 自動生成のものがスクレイピングされます
  • 動画に投稿者作成の字幕がなく、自動生成字幕が他言語の場合(動画が他言語のため) - 翻訳された自動生成のものがスクレイピングされます

コメントのスクレイピング​

コメントは単一のスレッドで収集されるため、特に大量のページや返信をスクレイピングする場合、スクレイピングに時間がかかることがあります。返信のページ数を多く設定することは推奨されず、通常は1〜3ページで十分です。また、返信のスクレイピングを完全に無効にすることで、動作を大幅に高速化できます。

クエリ​

クエリとして動画へのリンクを指定する必要があります。例:

https://www.youtube.com/watch?v=lWA2pjMjpBs
https://www.youtube.com/watch?v=EDwb9jOVRtU
https://www.youtube.com/watch?v=5NPBIwQyPWE

結果の出力例​

A-Parserは内蔵のテンプレートエンジン Template Toolkit により柔軟な結果フォーマットをサポートしており、任意の形式やCSV、JSONなどの構造化された形式で結果を出力できます。

デフォルト出力​

結果フォーマット:

$query - $title\nViews: $viewsCount, likes: $likesCount, comments: $commentsCount\n

結果として、動画のリンク、タイトル、高評価数、視聴回数、コメント数が出力されます:

https://www.youtube.com/watch?v=5NPBIwQyPWE - Avril Lavigne - Complicated (Official Video)
Views: 571331713, likes: 3959948, comments: 143597
https://www.youtube.com/watch?v=EDwb9jOVRtU - Madonna - Hung Up (Official Video) [HD]
Views: 414662791, likes: 2153344, comments: 91895
https://www.youtube.com/watch?v=lWA2pjMjpBs - Rihanna - Diamonds
Views: 2104207258, likes: 10235971, comments: 394622

字幕の出力​

結果フォーマット:

$query\n$subtitles.format('$text ')\n\n

結果として、動画のリンクと指定した言語の字幕が出力されます。

CSVテーブルへの出力​

内蔵ツール tools.CSVLine を使用すると、ExcelやGoogleスプレッドシートにインポート可能な正しいテーブルドキュメントを作成できます。

全般的な結果フォーマット:

[% tools.CSVline(query, p1.author, p1.date, p1.duration, p1.title, p1.viewsCount, p1.likesCount, p1.commentsCount, p1.tags.format('$tag,')) %]

ファイル名:

$datefile.format().csv

冒頭のテキスト:

Link,Author,"Publish date",Duration,Title,"Views count","Likes count","Comments count",Tags

ヒント

全般的な結果フォーマットでは、Template Toolkit テンプレートエンジンが適用されます。

結果のファイル名で、拡張子を csv に変更するだけです。

「Prepend text」オプションをタスクエディタで利用するには、「More options」を有効にする必要があります。 「Prepend text」にカラム名をカンマ区切りで記入し、2行目を空行にします。

設定可能な項目​

パラメータ名デフォルト値説明
Interface languageEnglishインターフェース言語の選択
Subtitles languageEnglish字幕言語의選択
Comments pages count5コメントのページ数
Pages count for replies3各コメントに対する返信のページ数
Pages count for related videos5関連動画のページ数
Login required is error☑ログインが必要な旨のメッセージをエラーとして扱い、再試行するかどうかを指定します