n8nでLinkedInリード自動収集|500件エンリッチの手順

n8nでLinkedInリード自動収集|500件エンリッチの手順 アイキャッチ画像 AI自動化

LinkedInで見込み客を探したいけど、コメントを一件ずつ手でコピーするのは時間がかかりすぎる…そう感じていませんか?

この記事では、n8nを使ってLinkedInの投稿コメントを自動収集し、500件以上のリード情報をエンリッチメント(情報付加)する方法を解説します。

結論として、n8nのHTTPリクエストノードとAIノードを組み合わせると、手作業ゼロでリード収集から情報整理まで自動化できます。

初めてn8nを使う方は基本編から、すでにワークフローを組んでいる方は応用編からどうぞ。

この記事の流れは「仕組みの理解→必要なツール→基本ワークフロー3ステップ→500件処理テクニック→トラブル対処」の順です。

LinkedInリード自動収集とは?n8nでできること

LinkedInの投稿にコメントした人は、そのトピックに関心があることが分かる、貴重な見込み客候補です。

たとえば、競合他社の製品紹介投稿にコメントしている人を集めると、検討層のリストが作れます。採用担当者なら、求人系の投稿コメント者を集めると候補者リストになります。

n8nというツールを使うと、この収集作業を自動化できます。

n8nとは、ノーコードで使えるワークフロー自動化ツールです。Zapierに似ていますが、自分のサーバーで動かせる「セルフホスト版」が特徴で、月額コストを大幅に抑えられます。

n8nで自動化できる主な作業は次のとおりです。

  • 特定投稿のコメント者リストを一括取得
  • コメント者のプロフィール情報(職種・会社・所在地など)を自動収集
  • AIでプロフィールを要約・スコアリング(Aランク〜Cランクに自動分類)
  • Googleスプレッドシートへの自動出力と重複除去
  • 毎日定時に新しいコメント者を追加するスケジュール実行

ただし、LinkedInの利用規約では自動的なデータ収集(スクレイピング)を原則禁止しています。この記事の内容はリクエスト頻度を極力抑えた個人的な検証・学習目的での利用を前提としています。商業利用はLinkedIn Marketing Solutionsの公式APIをご確認ください。

n8nでLinkedIn自動化に必要なもの

必要なものを整理します。難しいものはないので安心してください。

必須のもの

ツール 用途 費用目安
n8n(セルフホスト版) ワークフロー自動化の中枢 無料(サーバー代別)
DockerまたはVPS n8nの実行環境 月額1,500〜2,000円程度
LinkedInアカウント 認証に使用 無料
Googleスプレッドシート データ出力先 無料

あると便利なもの

  • OpenAI APIまたはOllama(ローカルLLM):プロフィールのAI要約に使う
  • Proxyサービス:大量処理時のレート制限対策(なくても動く)

n8nは自分のサーバーで動かす「セルフホスト版」が断然お得です。VPSを1台借りてDockerで立ち上げると月額1,500円前後から始められます。

VPS選びに迷ったら、XServer VPSが国内では信頼性が高くておすすめです。n8nのDockerセットアップに必要なスペック(メモリ2GB以上)を月額1,569円で満たせます。

【基本編】n8nワークフローを3ステップで組む

ワークフローの全体像は「コメント取得→プロフィール収集→スプレッドシート出力」の3ステップです。

ステップ1:LinkedInの認証設定

n8nのHTTPリクエストノードからLinkedInにアクセスするには認証が必要です。

最も手軽な方法はブラウザのセッションCookieを使う方法です。

  1. ChromeでLinkedInにログインする
  2. F12キーでデベロッパーツールを開く
  3. 「Application」→「Cookies」→「www.linkedin.com」を選択
  4. 「li_at」という名前のCookieの値をコピーする
  5. n8nのHTTPリクエストノードのHeadersに Cookie: li_at=(コピーした値) を設定

Cookieの有効期限は数日〜数週間です。「403エラー」が出たらCookieを再取得してください。

ステップ2:コメント一覧を取得するHTTPリクエストノード

LinkedInのVoyager APIを使ってコメント情報を取得します。

HTTPリクエストノードの主な設定は次のとおりです。

  • メソッド:GET
  • URLhttps://www.linkedin.com/voyager/api/feed/comments?updateKey=(投稿ID)&count=100
  • 必須ヘッダーCookie(li_atの値)、X-LI-Lang: ja_JPcsrf-token(li_atと同じ値)

投稿IDはLinkedInのURLから読み取ります。https://www.linkedin.com/posts/ユーザー名_activity-1234567890-xxxx/ の場合、1234567890-xxxx の部分が投稿IDです。

レスポンスはJSON形式で返ってきます。コメント者の情報は data.elements[*].commenter の中に入っています。

ステップ3:データ整形とスプレッドシート出力

取得したJSONから必要な情報だけを抽出します。

n8nの「Code」ノードを使い、次のような情報を取り出します。

  • コメント者の名前(firstName + lastName)
  • LinkedInプロフィールURL
  • 職種・肩書き(headline)
  • コメント本文と日時

Codeノードでは JavaScript を書きますが、AIに「このLinkedIn APIのJSONレスポンスから名前・プロフィールURL・headlineを取り出すn8nのCodeノード用スクリプトを書いて」と頼むと30秒で書いてもらえます。

整形したデータはn8nの「Google Sheets」ノードで直接スプレッドシートに書き込めます。

💡 実際にやってみた

Mac mini M4 Proをヘッドレスモードで常時稼働させ、Docker上のn8nで同様のワークフローを構築しました。あるマーケティングツール関連の投稿コメント者を自動収集し、プロフィールをOllama(Gemma 12Bモデル)に投げて「この人物が抱えていそうな課題を50字で要約し、見込み度をA/B/Cで評価して」と処理。結果をGoogleスプレッドシートに自動出力する形にしました。

かかった時間:初期ワークフロー構築に3時間。AI要約のプロンプト調整で追加1時間

つまずいたポイント:LinkedInのAPIレスポンス構造が投稿の種類によって変わること。IFノードで「elementsが存在しない場合はスキップ」という処理を入れてから安定した

結果:1件あたり30〜60秒かかっていた手作業が、100件あたり約10分に短縮。AIのAランク分類で優先度の高いリードだけ先に確認できるようになったのが一番の収穫

【応用編】500件以上を処理する実運用テクニック

基本ワークフローが動いたら、次は大量処理に対応させます。

テクニック1:Waitノードでレート制限を回避する

短時間に大量リクエストを送ると、アカウントが一時的に制限されることがあります。

n8nの「Wait」ノードをHTTPリクエストノードの間に挟み、1〜3秒のインターバルを入れます。設定は「Fixed Interval」で秒数を指定するだけです。

1件あたり2秒のウエイトを入れると、500件の処理に約17分かかります。「夜中に動かして朝に結果を確認する」使い方が現実的です。

テクニック2:ローカルLLMでAPIコスト0円のエンリッチメント

プロフィールをAIで自動要約・スコアリングすると、「このリードは優先度が高い」という判断を人が読む前にAIがやってくれます。

OpenAI APIを使う方法が一般的ですが、500件を処理するとAPIコストが気になります。Ollamaを使ったローカルLLMと組み合わせると、コストゼロで実現できます。

n8nからOllamaに接続する設定:

  1. n8nで「Ollama」ノードを追加する
  2. Base URLに http://(OllamaのIPアドレス):11434 を設定
  3. 使用モデルを指定(gemma2:12b が精度・速度のバランスが良い)
  4. プロンプト例:「以下のLinkedInプロフィールを50字で要約し、マーケティングツールへの関心度をA(高)/B(中)/C(低)で評価してください。{profile_text}」

Gemma 27Bはより精度が高いですが処理が遅めです。まずは12Bで試してみることをおすすめします。

テクニック3:複数投稿を定期自動処理する

毎日決まった時間に複数の投稿をチェックしたい場合は、Cronノードを使います。

実用的な構成:

  1. Googleスプレッドシートにターゲット投稿URLのリストを作っておく
  2. n8nのCronノード(毎朝6時起動)でスプレッドシートからURLリストを読み込む
  3. 「Loop Over Items」ノードで各URLを順番に処理
  4. 取得したコメント者を別シートに追記(重複チェック付き)

この構成にすると、毎朝起きると前日の新規コメント者リストが自動でできあがっている状態になります。

テクニック4:重複除去でリストをクリーンに保つ

同じ人が複数の投稿にコメントしている場合、リストに重複が発生します。

n8nの「Remove Duplicates」ノードを使い、プロフィールURLをキーに重複除去します。Googleスプレッドシートに書き込む前に入れるだけで、自動的にクリーンなリストが保てます。

500件以上の処理を安定して動かすにはサーバーのスペックも重要です。メモリが少ないと途中で落ちることがあります。ConoHa VPSのメモリ4GBプランなら、n8nとOllamaを同時に動かしても安定して動作します。

よくあるエラーと対処法

「403 Forbidden」エラーが出る

ほぼ100%の確率で認証Cookieの期限切れです。

ChromeのLinkedIn画面でCookieを再取得し、n8nのCredentialsを更新してください。Cookieの有効期限は数時間〜数週間とまちまちなので、ワークフローの先頭にCookieの確認ステップを入れておくと便利です。

プロフィール情報が一部nullで取れない

プライバシー設定で情報を非公開にしているユーザーは取得できません。

取得できなかった項目は空欄扱いにして処理を続ける設計にします。n8nのIFノードで「headlineがnullなら別の処理へ」という分岐を入れておくと、エラーで全体が止まらなくなります。

処理が途中で止まる(タイムアウト)

500件以上の処理は時間がかかり、n8nのタイムアウト設定に引っかかることがあります。

「Loop Over Items」ノードで50件ずつのバッチ処理にして、バッチ間にWaitを入れます。1バッチ分のデータをスプレッドシートに書き込んでから次のバッチを処理する設計にすると、途中で止まっても最初から再実行する必要がありません。

Ollamaの処理が遅すぎる

Gemma 27Bなどの大きなモデルは処理に時間がかかります。

収集(n8nワークフロー)とエンリッチメント(AI要約)を別のワークフローに分けるのが効果的です。コメント収集はリアルタイム処理、AI要約は夜間バッチで動かす構成にすると実用的です。

まとめと次のステップ

  • n8nのHTTPリクエストノードでLinkedInのコメント者情報を自動収集できる
  • AIエンリッチメントはOllamaと組み合わせるとAPIコストゼロで実現できる
  • Waitノード・バッチ処理・重複除去の3つが安定運用のカギ
  • LinkedInの利用規約を確認のうえ、個人利用・研究目的の範囲内で使う

n8nのセルフホスト環境がまだない方は、n8nをDockerで動かす手順から始めてみてください。VPSはメモリ2GB以上のプランを選ぶのが安定して動かすコツです。

コメント

タイトルとURLをコピーしました