n8nとApifyを活用したスクレイピングとは?競合記事リサーチとデータ活用手順

n8n Apify スクレイピング『n8n×Apify』記事リサーチの工数を大幅削減|上位記事のHタグ構成を瞬時に抽出してスプレッドシートにまとめる方法

n8nとApifyを連携させ、競合記事の見出し(Hタグ)構成を自動抽出してスプレッドシートに集約する方法を解説します。面倒な手作業を排除し、SEOリサーチの工数を大幅に削減できます。戦略的なコンテンツ企画に集中できる自動化ツール構築ガイドです。

DX推進の「人材不足」「内製化」にお悩みではありませんか?

DXのCTA画像

・6万名以上のエンジニアネットワークを活用して課題を解決
・貴社のDX戦略立案から実行・開発までワンストップで支援可能

※エンジニア数は2026年8月期 第1四半期決算説明資料に基づきます。

競合記事のリサーチはSEO対策やコンテンツ制作において欠かせない工程ですが、手作業で行う場合は時間と労力がかかり、継続的な運用が難しいと感じている方も多いのではないでしょうか。特に検索上位の記事構成やトレンドの変化を追い続けるには、効率的な情報収集の仕組みが求められます。

そこで本記事では、ワークフロー自動化ツールであるn8nとスクレイピングツールのApify、さらに検索結果取得に特化したSerpApiを組み合わせ、競合記事リサーチを完全自動化する方法を解説します。リサーチの自動化により、作業時間を削減しながら分析の精度を高める実践的な手法を、具体的な手順とともに分かりやすく紹介します。

n8nとApifyによるスクレイピングとは

n8nとApifyによるスクレイピングとは、Web上にある必要な情報を自動で収集し、業務に活用しやすい形へ整理する仕組みを構築することです。n8nは複数ツールをつなぐ自動化基盤として機能し、Apifyは実際にWebページから情報を取得する役割を担います。両者を組み合わせることで、これまで手作業で行っていた検索・収集・整理の流れを自動化でき、調査業務の効率と再現性を高められます。特にSEOや競合分析、価格調査、コンテンツ企画など、継続的なデータ取得が求められる業務と相性の良い手法です。

スクレイピングが求められる背景

デジタルマーケティングやSEO運用の現場では、意思決定に必要な情報量が年々増えています。競合サイトの更新状況や検索順位、価格変動、トレンドの移り変わりなどを継続的に追うには、従来の手作業だけでは限界があります。こうした状況の中で、必要な情報を定期的かつ自動で取得できるスクレイピングの重要性が高まっています。ここでは、スクレイピングが必要とされる主な背景を整理します。

競合サイト・検索結果の定点観測に伴うデータ量の増加

SEOや市場分析では、競合サイトの構成や更新頻度、検索結果の変化を継続的に観測する必要があります。しかし、確認対象のキーワードやサイト数が増えるほど、収集すべきデータ量は急激に膨らみます。手作業で対応すると確認漏れや記録ミスが起こりやすくなり、分析精度にも影響します。スクレイピングを活用すれば、必要な情報を一定条件で自動取得できるため、継続的なモニタリング体制を安定して構築しやすくなります。

手作業による情報収集に起因する工数増大と属人化の発生

情報収集を担当者の手作業に依存していると、業務負荷が増えるだけでなく、進め方や判断基準が個人に依存しやすくなります。その結果、同じ調査でも担当者ごとに取得データの粒度や精度がばらつき、組織としての再現性が低下します。スクレイピングにより収集ルールを自動化すれば、作業品質を均一化しやすくなり、担当者が変わっても同じ条件で継続的にデータを蓄積できる体制を整えられます。

価格・順位・トレンド変動への即時対応における遅延リスク

Web上の情報は日々変化しており、検索順位や商品価格、話題化しているテーマなどは短期間で大きく動くことがあります。こうした変化を把握するのが遅れると、競合への対応や施策の見直しが後手に回る恐れがあります。スクレイピングを用いて定期的にデータを取得しておけば、変動の兆候を早期に察知しやすくなり、迅速な改善や意思決定につなげやすくなります。

複数チャネルのデータ分散による分析遅延と意思決定の非効率化

データが検索結果、競合サイト、SNS、価格比較ページなど複数のチャネルに分散していると、情報を横断的に整理するだけでも多くの時間がかかります。さらに、収集フォーマットがバラバラだと比較や分析も難しくなります。スクレイピングを活用してデータを一元的に取得・整形できれば、分析基盤の統一が進み、必要な情報を素早く比較できるようになります。結果として、判断のスピードと精度の両立が図れます。

n8nとApifyを活用したスクレイピングのメリット

n8nとApifyを組み合わせることで、単なるデータ取得にとどまらず、収集から加工、保存までを一連の流れとして自動化できます。これにより、作業時間の削減だけでなく、情報の鮮度維持や分析環境の整備にもつながります。特に定期的な競合調査やSEOリサーチのように、同じ処理を継続して繰り返す業務では大きな効果を発揮します。ここでは主なメリットを見ていきます。

データ収集プロセスの自動化による業務効率の向上

従来は人が検索し、対象ページを開き、必要項目を確認して記録する必要がありました。n8nとApifyを使えば、この一連の流れを自動化できるため、調査にかかる時間を大幅に短縮できます。定期実行の設定を行えば、決まったタイミングでデータ収集を継続できるため、担当者が毎回作業する必要もありません。結果として、繰り返し業務の負担を減らしながら、安定した情報取得を実現できます。

人的リソース配分の最適化によるコスト削減と運用効率の改善

単純な情報収集作業に多くの人手を割くと、本来注力すべき分析や施策立案の時間が圧迫されます。自動スクレイピングを導入すれば、定型的な作業をシステム側へ移せるため、人的リソースをより付加価値の高い業務へ振り向けやすくなります。結果として人件費の圧縮だけでなく、チーム全体の生産性向上にもつながり、少人数でも継続的な運用がしやすくなります。

継続的なデータ取得による分析精度の向上

一度きりの調査では見えない変化も、継続的にデータを蓄積することで傾向として把握しやすくなります。例えば検索上位記事の見出し構成やメタ情報を定期取得すれば、どのような変化が起きているかを比較しやすくなります。時系列での分析が可能になることで、施策立案の根拠が強まり、感覚ではなくデータに基づいた判断を行いやすくなる点も大きなメリットです。

API連携によるデータ統合と活用基盤の高度化

n8nはさまざまな外部ツールと連携できるため、取得したデータをGoogleスプレッドシートやデータベース、チャットツール、BIツールなどへ自動連携できます。これにより、スクレイピング結果を単に保存するだけでなく、そのまま分析や共有、通知へつなげることが可能です。情報取得と活用が分断されにくくなるため、データドリブンな運用基盤を構築しやすくなります。

【実践】n8nとApifyで競合記事リサーチを完全自動化する方法

競合記事のリサーチはSEOやコンテンツ制作において欠かせない工程ですが、手作業で行う場合は多くの時間と労力がかかります。特に複数キーワードを対象に継続的な調査を行う場合、作業の属人化や情報の抜け漏れが発生しやすく、分析の精度にも影響を与えかねません。

そこで有効なのが、n8nとApifyを組み合わせた自動スクレイピング環境の構築です。この仕組みを導入することで、検索結果の取得から記事構成の抽出、データの蓄積までを一連の流れとして自動化できます。これにより、従来は数時間かかっていたリサーチ作業を大幅に短縮し、常に最新の競合情報をもとにした分析が可能になります。

本章では、実際に競合記事の構成データを自動で取得・整理する具体的な方法を解説します。環境構築の準備からワークフローの設定、実行までを順を追って説明するため、初めて自動化に取り組む方でも再現しやすい内容となっています。実務にそのまま活用できる形で解説しますので、ぜひ参考にしてください。

使用するツールの概要

本記事で構築する自動リサーチフローでは、主に「n8n」「Apify」「SerpApi」の3つのツールを使用します。それぞれ役割が異なり、組み合わせることで検索・取得・加工・保存までの一連のプロセスを自動化できます。

まずn8nは、複数のサービスを連携させるワークフロー自動化ツールです。各処理をノードとしてつなぐことで、ノーコードまたはローコードでデータ処理の流れを構築できます。今回のように複数ツールを組み合わせる場合に、全体の制御役として機能します。

次にSerpApiは、Google検索結果をAPI経由で取得するためのツールです。指定したキーワードに対して上位表示されている記事のURLやタイトル情報を取得し、競合リサーチの起点となるデータを提供します。

そしてApifyは、取得したURL先のWebページから必要な情報を抽出するスクレイピングツールです。記事内の見出し構成(Hタグ)やメタディスクリプションなどを自動で収集できるため、コンテンツ分析の精度を高めることが可能になります。

これら3つのツールを連携させることで、競合記事リサーチを効率的かつ継続的に行える仕組みを構築できます。

n8n×Apify自動スクレイピングワークフローの全体図

このワークフローは、以下の4つのステップで市場調査や競合分析を自動化します。

  1. 検索設定の定義

まず、n8n上で調査の起点となる「検索キーワード」と、分析対象としたい「記事数(リサーチしたい件数)」を具体的に指定します。

  1. URLの自動取得

設定した条件に基づいてGoogle検索を自動実行し、検索結果の上位に表示されているWebサイトのURLを抽出し、リスト化します。

  1. 詳細情報のスクレイピング

取得したURLリストを外部ツール「Apify」と連携させ、各記事から「タイトル」「メタディスクリプション(概要説明)」「Hタグ(見出し構成)」などの構成要素を自動的に抜き出します。

  1. データの保存・集約

最後に、抽出したすべてのデータをGoogleスプレッドシートへ自動的に書き込み、保存します。これにより、手動でのコピペ作業なしに分析用リストが完成します。

n8nで構築したワークフローの全体構成

このワークフローを実行すると、以下のように検索エンジンで上位表示されている記事の記事構成がスプレッドシートに書き込まれます。

自動で取得された競合記事の構成データ

【第1章】 n8n・Apify・SerpApiの連携準備とAPI取得

この章では、ワークフローを構築するために必要なAPIキーの取得とファイルの準備を行います。

なお、本記事では両サービスの無料枠を組み合わせ、コストをかけずにゼロから自動化フローを構築する方法をご説明します。

SerpApiのAPIキー取得手順(Google検索結果取得用)

SerpApiは検索エンジンで上位表示されている記事のURLを取得するために使用します。

以下のURLから無料で取得できます。

取得先

SerpApi

SerpApiはGoogleやBingなどの検索結果をJSONで取得できる便利なツールで、月100回までは無料で利用可能です(クレジットカード登録も不要)。

公式サイトからアカウントを作成し、ダッシュボードに表示される「Private API Key」をコピーしてコードに設定してください。

出典: SerpApi Pricing

Apify APIキーの取得と設定(記事情報スクレイピング用)

Apify API keyはスクレイピングを実行するために使用します。

以下のApify公式サイトから無料会員登録し、取得できます。

取得先

Apify

APIキー取得手順

  1. サイドバー下部にある「Settings」をクリックする
  2. サイト上部にある「API & Integrations」をクリックする
  3. 「Personal API tokens」の箇所からAPIキーを取得する

Apifyには「Personal」という無料プランがあり、毎月$5分のプラットフォーム利用クレジット(Compute Units)が自動で付与されます。

今回使用する Cheerio Scraper はブラウザを起動しない軽量なスクレイパーのため消費リソースが少なく、この無料枠だけでも数千〜数万ページの処理が十分に可能です。

出典: Apify Pricing

出力用Googleスプレッドシートの作成とID確認方法

取得した記事構成を書き込むGoogleスプレッドシートを準備します。

スプレッドシート設定手順

  1. 新規でスプレッドシートを作成する
  2. 1行目に以下のテキストを書き込む(テキストはお好みで変更可能)

セル位置

入力テキスト

A列1行

サイトURL

B列1行

titleタグ

C列1行

descriptionタグ

D列1行

## 他社記事1

E列1行

Hタグ構成

スプレッドシートIDの確認方法

書き込み先のスプレッドシートのIDも控えておいてください。

IDはスプレッドシートに表示されるURLを見れば確認できます。

以下のサンプルURLでは、「〇〇」の部分がIDに該当します。

“`

https://docs.google.com/spreadsheets/d/〇〇〇〇〇〇〇〇〇〇〇〇〇〇/edit?gid=0#gid=0

“`

スプレッドシートのヘッダー行設定例

n8n自動化ワークフロー(JSON)のダウンロード

以下のJSONファイルをダウンロードしてください。このファイルには、ワークフローの設定がすべて含まれています。

![JSONファイルダウンロード](json_download.png)

ダウンロード用のJSONファイル

n8nへのJSONファイルインポート手順

n8nにログインし、ワークフローをインポートします。

インポート手順

  1. n8nにログインし、Overview画面で「Create Workflow」をクリックして、ワークフローを新規作成する
  2. 作成したワークフローの右上にある三点リーダ(︙)から「Import from File」を選択する
  3. ダウンロードしたJSONファイルをインポートし、ワークフローを取り込む

JSONファイルのインポート画面

n8nノード設定:SerpApiとApifyのインストール

JSONファイルをインポートすると、以下のようなワークフローが取り込まれます。

JSONファイルをインポートした直後のワークフロー画面

SerpApiとApifyはデフォルトではn8nにインストールされていません

n8nから「SerpApi」と「Apify」をそれぞれノード検索し、「Install node」ボタンをクリックしてインストールしてください。

以上で準備は完了です。

【第2章】 n8n自動リサーチシステムの詳細設定とノード解説

この章では、ワークフローの各ノードを設定していきます。

STEP1 Edit Fields設定:検索キーワードと件数の指定

左から2つめの「Edit Fieldsノード」の設定を行います。

※一番左にあるManual Triggerノードはワークフローを手動で開始するためのスイッチの役割を果たすため、設定の必要はありません。

「Fields to Set」の設定内容

フィールド名

値の例

説明

keyword

String

クォッカ 好物

記事構成を調査したい検索キーワード

spreadsheetId

String

(取得したID)

データを書き込むスプレッドシートのID

numResults

Number

3

取得する記事数(網羅的に調査したい場合は10程度を推奨)

上記の設定により、「クォッカ 好物」というキーワードで上位表示されている記事3つを取得するという意味になります。

Edit Fieldsノードの設定画面

STEP2 SerpApi設定:検索クエリの自動連携

「Search Query (q)」の右横にあるスイッチをFixed→Expressionに変更し、以下のコードをコピー&ペーストしてください。

“`

{{ $json.keyword }}

“`

SerpApiノードの設定画面

STEP3 Codeノード設定:検索結果データの整形処理

ノード内に「JavaScript」という項目があるので、以下のコードをコピー&ペーストしてください。

“`javascript

// SerpApiの結果からorganic_resultsを取得

const organicResults = items[0].json.organic_results || [];

// 各結果からURL、title、descriptionを抽出

const processedResults = organicResults.map((result, index) => {

return {

rank: index + 1,

url: result.link || ”,

title: result.title || ”,

description: result.snippet || ”

};

});

// Cheerio Scraper用の完全なInput JSONを作成

const apifyInput = {

startUrls: processedResults.map(result => ({

url: result.url

})),

pageFunction: “async function pageFunction(context) { const { $ } = context; const headings = []; $(‘h1, h2, h3, h4, h5, h6’).each((i, el) => { headings.push({ tag: $(el).prop(‘tagName’).toLowerCase(), text: $(el).text().trim() }); }); const description = $(‘meta[name=\”description\”]’).attr(‘content’) || ”; return { headings: headings, description: description }; }”

};

return [{

apifyInput: apifyInput,

processedResults: processedResults

}];

“`

Codeノードの設定画面

STEP4 Apify設定:Cheerio Scraperによる記事解析実行

Apifyではスクレイピングツールのことを「Actor」と呼びます。

設定手順

  1. 「Apify API key connection」の部分で「Create new credential」をクリックする
  2. 第1章で取得しておいたAPIキーを入力して認証する
  3. 認証後、以下の通り設定をする

設定項目

設定値

Resource

Actor

Operation

Run an Actor

Actor Source

Recently Used Actors

Actor

Cheerio Scraper (apify/cheerio-scraper)

Input JSON

{{$json.apifyInput}}

Apify(Run an Actor)ノードの設定画面

STEP5 Apify設定:スクレイピング結果データの取得

ApifyのActorが取得したデータは「Dataset」と呼ばれる格納庫のようなものに保存されます。よって、Get dataset itemsノードでDatasetに格納された情報を引き出します。

Dataset IDの項目右横にあるスイッチをFixed→Expressionに変更し、以下のコードをコピー&ペーストしてください。

“`

{{$json.defaultDatasetId}}

“`

2つのApify関連ワークフローを追加したことにより、検索結果で上位表示されているサイトの記事構成が取得できるようになりました。

Apify(Get dataset items)ノードの設定画面

STEP6 Codeノード設定:Hタグ情報の抽出・加工

Apifyで収集したデータを見やすいように加工します

使用するノードはCodeノードです。

ノード内に「JavaScript」という項目があるので、以下のコードをコピー&ペーストしてください。

“`javascript

// Apify Datasetからの結果を整形

const scrapedData = $input.all();

const sheetsData = scrapedData.map((item, index) => {

const site = item.json;

// Hタグ構成を見やすい形式に変換

const htagStructure = site.headings

.map(h => `${h.tag.toUpperCase()}: ${h.text}`)

.join(‘\n’);

return {

rank: index + 1,

url: site[‘#debug’].url,

title: site.headings.find(h => h.tag === ‘h1’)?.text || ‘No H1 found’,

description: site.description,

htagStructure: htagStructure

};

});

return sheetsData;

“`

データ加工用Codeノードの設定画面

STEP7 Google Sheets設定:スプレッドシートへの自動書き込み

収集した情報をGoogleスプレッドシートに書き込むための設定を行います。

設定手順

  1. 「Credential to connect with」→「Create new credential」の順でクリックし、Googleアカウントと連携認証をする
  2. 認証後、Operationの項目を「Append Row」に変更する
  3. 以下の通り設定をする

設定項目

設定値

サイトURL

{{ $json.url }}

titleタグ

{{ $json.title }}

descriptionタグ

{{ $json.description }}

## 他社記事1

空欄のままで問題ありません

Hタグ構成

{{ $json.htagStructure }}

Google Sheetsノードの設定画面

【第3章】自動リサーチフローの実行と結果確認

設定が完了したらキャンバスへ戻り、「Execute workflow」をクリックして実行してみてください。

確認項目

□ ワークフロー実行

エラーが発生せず、最後まで正常に実行されること。

□ データ取得

指定した件数分のデータが漏れなく取得されていること。

□ スプレッドシート書き込み

抽出された結果が、連携先のGoogleスプレッドシートに正しく書き込まれていること。

ワークフローが正常に動き、スプレッドシートに結果が書き込まれていれば成功です。

ワークフロー実行後のスプレッドシート

まとめ|n8nとApifyを活用したスクレイピング基盤構築で継続的なデータ活用を推進しよう

これまで手作業で行っていた情報収集と分析を自動化することで、作業時間を大幅に短縮し、より本質的な「執筆」や「戦略立案」にリソースを集中できるようになります。

このシステムは記事構成の抽出だけでなく、以下のような業務にも応用可能です。

  • 競合サイトの定期的なモニタリング
  • 競合サイトの定期的なモニタリング

特定の競合サイトを定期的に巡回し、記事の更新状況やページ構成の変更を自動でチェックします。これにより、競合他社の戦略変化をいち早く察知し、自社の対策に活かすことができます。

  • 市場トレンドのデータ収集
  • 市場トレンドのデータ収集

特定のキーワードで上位表示されている記事の傾向を分析します。どのようなトピックや構成がGoogleに評価されているのかを定量的に把握できるため、SEO対策や市場ニーズの特定に役立ちます。

  • コンテンツ企画の自動化
  • コンテンツ企画の自動化

収集した上位サイトのHタグ(見出し構成)データをAI(LLM)に直接渡すことで、その構成パターンに基づいた新しい記事の構成案を自動生成させることができます。これにより、リサーチから企画立案までの工数を大幅に削減することが可能です。

スクレイピングを起点としたあらゆる業務に活用してみてください。

出典・参考情報

本記事の作成にあたり、以下の情報を参考にしました。

n8n(ワークフロー自動化)

  • 公式サイト: https://n8n.io/
  • ワークフローテンプレート: https://n8n.io/workflows/

SerpApi(検索エンジン結果取得)

  • 公式サイト: https://serpapi.com/
  • Google Search API: https://serpapi.com/search-api

Apify(ウェブスクレイピング・自動化)

  • 公式サイト: https://apify.com/
  • 公式ドキュメント: https://docs.apify.com/

用語解説

用語

説明

n8n

オープンソースのワークフロー自動化ツール。ノーコードで様々なサービスを連携可能

SerpApi

検索エンジンの結果をAPIで取得できるサービス。Google、Bingなど複数の検索エンジンに対応

Apify

Webスクレイピングと自動化のためのクラウドプラットフォーム。6000以上のプリビルトスクレイパー(Actor)を提供

Actor

Apifyにおけるスクレイピングプログラムの単位。すぐに実行可能で、API経由でも利用可能

Dataset

Apifyで取得したデータの格納庫

Hタグ

HTMLの見出しタグ(H1〜H6)。記事の構造を表す重要なSEO要素

CONTACT

株式会社TWOSTONE&Sonsグループでは
60,000人を超える
人材にご登録いただいており、
ITコンサルタント、エンジニア、マーケターを中心に幅広いご支援が可能です。
豊富な人材データベースと創業から培ってきた豊富な実績で貴社のIT/DX関連の課題を解決いたします。

  • コンサルティング対応
    コンサルティング
  • 内製化支援・人材紹介・派遣対応
    内製化支援・人材紹介・派遣
  • 受託開発対応
    受託開発

幅広い支援が可能ですので、
ぜひお気軽にご相談ください!