LoginSignup
5
4

More than 5 years have passed since last update.

youtubeでアーカイブされた生放送のコメントを力技で記録する

Posted at

tl;dr

  • アーカイブされた生放送のコメントはapi経由では取得できない
  • 画面には表示されているので、動画再生しながら一定時間ごとにスクレイピングすれば一応保存できる

コード(2019/04/13現在のUIの場合)

setInterval(() => {
    chat_list = document.getElementsByTagName("yt-live-chat-text-message-renderer")
    for(var i = 0; i < chat_list.length; i++){
        node = chat_list[i].children[1]
        timestamp = node.children[0].textContent
        name = node.children[1].children[0].textContent
        content = node.children[2].textContent
        console.log(timestamp + "\t" + name + "\t" + content)
    }
}, 60*1000);

使い方

  1. コメント取得したい生放送アーカイブのページに行く
  2. デベロッパーコンソールを開いて、javascript contextsをchatframeに変える
    無題.png

  3. 動画を再生する

  4. 上記のコードをコンソールで実行して、しばらく待っていると時間・コメ主・コメントが1分おきにコンソールに流れ始める

  5. 動画が終わるまで待機

  6. 最後のコメントがコンソールに出力されたのを確認したら、コンソールで右クリック->save as..でコンソールの中身を保存

  7. 同じコメントを重複している場合があるので、重複を削除する

  8. おわり。あとは適当に利用してください

5
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
4