7
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【n8n】YouTubeの新着動画を自動収集して「質の高い動画だけLINE通知」する仕組みを作ってみた

7
Posted at

はじめに

日々こんなこと思いませんか?

  • 有益なYouTube動画だけ見たい
  • 無駄な動画は見たくない
  • 情報収集を自動化したい

そこで今回は、

  • YouTubeの新着動画を取得
  • スコアリングで質の高い動画だけ選別
  • LINEにまとめて通知

という仕組みを
n8nで構築しました。

完成イメージ

LINEにこんな感じで届きます👇

質の高い動画を5件まとめました。

1件目
チャンネル:〇〇
タイトル:〇〇
公開日時:〇〇
再生数:〇〇
いいね:〇〇
コメント:〇〇
スコア:〇〇
URL:〇〇

--------------------

2件目
...

「ちゃんと見た方がいい動画だけ届く」のがポイントです。

使用技術

  • n8n
  • YouTube Data API
  • LINE Messaging API
  • Google Sheets(履歴管理)

ワークフロー全体像

① スプレッドシート(通知済み動画取得)

② YouTube検索APIで新着取得

③ 未通知動画だけ抽出

④ 詳細情報取得(再生数など)

⑤ スコア計算

⑥ 上位5件に絞る

⑦ LINE通知

⑧ スプレッドシートに保存

実際のワークフロー

以下が今回作成したn8nのワークフローです👇
image.png

各処理の解説

① 通知済み動画を取得

重複通知防止のため
Google Sheetsから過去に通知した動画を取得

② YouTube検索APIで新着取得

GET https://www.googleapis.com/youtube/v3/search

ポイント:
relevanceLanguage=ja → 日本語動画限定

完全に絞り込みはできませんが、日本語コンテンツに設定できます

③ 未通知動画だけフィルタ

const notifiedIds = new Set(...);

return items.filter(item => {
  return !notifiedIds.has(item.videoId);
});

一度送った動画は二度送りません。

④ 動画詳細を取得

GET https://www.googleapis.com/youtube/v3/videos

後続処理のスコアリングのため各動画の詳細を取得します。

取得する情報:

再生数
いいね数
コメント数

⑤ スコアリング

const score =
  (viewCount / ageHours) * 0.6 +
  likeCount * 8 +
  commentCount * 12;

評価基準:

再生数(時間補正あり)
いいね
コメント

⑥ 上位5件に絞る

.sort((a, b) => b.json.score - a.json.score)
.slice(0, 5);

⑦ LINE通知

{
  "to": "ユーザーID",
  "messages": [
    {
      "type": "text",
      "text": "まとめメッセージ"
    }
  ]
}

一括で送ることで1件ずつ送るよりUXが良くなります。

⑧ スプレッドシートに保存

履歴管理&再送防止用です。

改良アイデア

使ってみて改善点も見つかりました。

  • AI要約追加
    動画 → 要約 → LINE送信

  • ジャンル別通知
    ショートと横動画で分けれたら良い

まとめ

今回作ったもの👇

  • YouTube新着監視
  • 質の高い動画だけ抽出
  • LINE通知

これにより
YouTube「情報収集」が自動化できます。

7
0
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
7
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?