🥳Scrapeless Communityに参加して、強力なWebスクレイピングツールキットにアクセスするために無料トライアルを取得してください!
ブログに戻ります

ScrapelessとGoogleトレンドを使用した自動データ監視ワークフローの構築方法

Emily Chen
Emily Chen

Advanced Data Extraction Specialist

05-Jun-2025

今日の情報過多の時代において、検索トレンドデータは、企業やコンテンツクリエイターが情報に基づいた意思決定を行う際の重要な資産となっています。世界で最も人気のあるトレンド分析ツールの1つであるGoogle Trendsは、検索行動に関する強力なリアルタイムインサイトを提供します。しかし、データを手動で確認することは時間がかかり、効率的ではありません—特に継続的なモニタリングが必要な場合はなおさらです。

幸いなことに、ScrapelessとGoogle Trends APIを組み合わせることで、簡単に自動データモニタリングワークフローを構築することができます。特定の業界キーワードの人気を追跡したり、トレンド値が一定の閾値を超えた時にアラートを受け取ったりする場合、このソリューションは目標を効率的に達成するのに役立ちます。この記事では、Scrapelessを自動化プラットフォームと併用して、柔軟でスケーラブル、かつ完全自動のトレンドモニタリングシステムを作成する方法を説明します。


ScrapelessとMake.comを統合する理由

Scrapelessは、Google Trendsデータへの非常に信頼性の高い開発者フレンドリーなインターフェースを提供します:

  • ボットブロックを回避するための高度な検出防止技術
  • 195か国以上の地域特有のトレンドにアクセス
  • リアルタイムデータ同期の99.9%の稼働時間
  • カテゴリ、国、キーワード、時間枠で結果をフィルタリング
  • クリーンなタイムラインデータとメタデータを含むJSON出力

準備

  1. Scrapelessにサインアップし、APIキーを取得する
  2. APIトークンを探し、後で使用するためにコピーする

⚠️ 注意: APIトークンは安全に保管し、他者と共有しないでください。


1. ワークフローテンプレートの機能概要

テンプレート名: Scrapeless Google Trends モニタリング & 自動アラート

目的:
Google Trendsから特定のキーワード(例:"AI")の時間経過による関心データを自動的に取得します。最新のトレンド値が定義された閾値(設定値は80)を超えると、ユーザーにGmailを介してメールアラートが送信されます。


2. ステップバイステップのワークフロー設定

Make.comでこのワークフローを手動で構築するには、以下のステップに従います:

ステップ1: HTTPリクエストモジュールを追加する(Scrapelessを呼び出す)

目的: 指定されたキーワードのGoogle Trendsの興味データを取得するためにScrapeless APIにリクエストを送信します。

  1. "+"ボタンをクリックしてモジュールを追加し、HTTP > リクエストを作成を選択します。
  2. モジュールを次のように設定します:
項目 設定値
メソッド POST
URL https://api.scrapeless.com/api/v1/scraper/request
ボディタイプ Raw
コンテンツタイプ application/json
リクエストコンテンツ (以下のJSONリクエストボディを参照)
ヘッダー 2つの項目を追加する:
① Content-Type: application/json
② x-api-token: YOUR_API_KEY

リクエストボディの例(リクエストコンテンツに貼り付け):

Copy
{
  "actor": "scraper.google.trends",
  "input": {
    "q": "AI",
    "date": "today 1-m",
    "data_type": "interest_over_time",
    "hl": "en",
    "tz": "420",
    "geo": "",
    "cat": "",
    "property": ""
  },
  "proxy": {
    "country": ""
  }
}

ステップ2: 変数latest_trend_valueを設定する

  1. モジュールを追加する: ツール > 変数を設定
  2. 次のように設定します:
項目
変数名 latest_trend_value
スコープ ラウンドトリップ(ライフタイムは単一の実行サイクルに制限される)
{{1.data.interest_over_time.timeline_data[30].value[0]}} (パスが実際のレスポンスと一致するように確認)

📝説明: ここでは、31日目(最も最近の日)のトレンド値を抽出します。

ステップ3: 変数latest_dateを設定する

  1. 別のモジュールを追加する: ツール > 変数を設定
  2. 次のように設定します:
項目
変数名 latest_date
スコープ ラウンドトリップ
{{1.data.interest_over_time.timeline_data[30].date}} (パスが正しく一致することを確認してください)

ステップ4: 条件判断ルーター(分岐)を設定

  1. モジュールを追加: フロー制御 > ルーター
  2. 「トレンドが80以上」のような名前でルートを追加
  3. フィルター条件を設定:
Copy
 条件: latest_trend_value > 80

式を使用: {{4.latest_trend_value}} > 80

ステップ5: ルーター分岐の下にメール送信モジュールを追加(Gmailを使用)

  1. トレンドが80以上のルートの下にモジュールを追加: Gmail > メールを送信
  2. Googleアカウントを認証する。
  3. 以下のように設定:
アイテム
宛先 あなたのメールアドレス(例: you@example.com
件名 🔥 AIトレンドアラート: {{4.latest_trend_value}}/100
コンテンツ (HTML) 次のコードをコピー
Copy
アラート: AIが高評価されています!
📊 トレンドスコア: {{4.latest_trend_value}}/100  
📅 日付: {{6.latest_date}}  
🎯 閾値: 80  
Make x Scrapelessからの自動アラート

オプションの強化:

  • スケジューラモジュールを追加して、プロセスを毎日自動的にトリガーします。
  • モジュールを追加: フロー制御 > スケジューラ → 毎日特定の時間に1回実行するように設定。

3. この自動化プロセスは何を達成するか?

ステップ アクション説明 ツールモジュール 結果
1 ScrapelessからGoogleトレンドデータをリクエスト HTTPリクエスト JSONデータを取得
2 最新のトレンド値を抽出して変数として保存 変数を設定 トレンド値を取得
3 最新の日付を抽出して変数として保存 変数を設定 日付を取得
4 トレンド値が80を超えているか確認 ルーター + 条件フィルター はいの場合は続行; いいえの場合は停止
5 トレンド急上昇についてメール通知を送信 Gmail 自動メールアラート

4. このテンプレートをどのように拡張できますか?

  1. キーワードを動的入力にする: 例えば、Google SheetsやWebhook経由でキーワードを提供。
  2. 複数のキーワードを監視: 複数のキーワードをループして、それぞれを監視し、メールを個別にトリガー。
  3. Slack / Telegram通知を追加: Gmailアラートの代替または補完として。
  4. データをGoogle SheetsまたはNotionに書き込む: トレンドの歴史的アーカイブを保持。
  5. スケジューラを追加: 自動化を毎日固定の時間に実行するように設定(例: 毎日午前8時)。

5. 事前構築されたワークフローをインポート(簡易方法)

必要なすべてのモジュールと設定を含むMake.comの完璧なブループリントを作成しました:

ワークフローブループリント - Googleトレンド監視

ステップ1. ブループリントをダウンロード - [makexscrapeless.json]

Copy
{
    "name": "Scrapeless",
    "flow": [
        {
            "id": 1,
            "module": "http:ActionSendData",
            "version": 3,
            "parameters": {
                "handleErrors": true,
                "useNewZLibDeCompress": true
            },
            "mapper": {
                "ca": "",
                "qs": [],
                "url": "https://api.scrapeless.com/api/v1/scraper/request",
                "data": "{\n    \"actor\": \"scraper.google.trends\",\n    \"input\": {\n        \"q\": \"AI\",\n        \"date\": \"today 1-m\",\n        \"data_type\": \"interest_over_time\",\n        \"hl\": \"en\",\n        \"tz\": \"420\",\n        \"geo\": \"\",\n        \"cat\": \"\",\n        \"property\": \"\"\n    },\n    \"proxy\": {\n        \"country\": \"\"\n    }\n}",
                "gzip": true,
                "method": "post",
                "headers": [
                    {
                        "name": "Content-Type",
                        "value": "application/json"
                    },
                    {
                        "name": "x-api-token",
                        "value": "YOUR_API_KEY"
                    }
                ],
                "timeout": "",
                "useMtls": false,
                "authPass": "",
                "authUser": "",
                "bodyType": "raw",
                "contentType": "application/json",
                "serializeUrl": false,
                "shareCookies": false,
                "parseResponse": false,
                "followRedirect": true,
                "useQuerystring": false,
Copy
"followAllRedirects": false,
                "rejectUnauthorized": true
            },
            "metadata": {
                "designer": {
                    "x": 48,
                    "y": -26
                },
                "restore": {
                    "expect": {
                        "qs": {
                            "mode": "選択"
                        },
                        "method": {
                            "mode": "選択",
                            "label": "POST"
                        },
                        "headers": {
                            "mode": "選択",
                            "items": [
                                null,
                                null
                            ]
                        },
                        "bodyType": {
                            "label": "生"
                        },
                        "contentType": {
                            "label": "JSON (application/json)"
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "handleErrors",
                        "type": "boolean",
                        "label": "すべての状態をエラーとして評価する (2xxおよび3xxを除く)",
                        "required": true
                    },
                    {
                        "name": "useNewZLibDeCompress",
                        "type": "hidden"
                    }
                ],
                "expect": [
                    {
                        "name": "url",
                        "type": "url",
                        "label": "URL",
                        "required": true
                    },
                    {
                        "name": "serializeUrl",
                        "type": "boolean",
                        "label": "URLをシリアライズする",
                        "required": true
                    },
                    {
                        "name": "method",
                        "type": "select",
                        "label": "メソッド",
                        "required": true,
                        "validate": {
                            "enum": [
                                "get",
                                "head",
                                "post",
                                "put",
                                "patch",
                                "delete",
                                "options"
                            ]
                        }
                    },
                    {
                        "name": "headers",
                        "spec": [
                            {
                                "name": "name",
                                "type": "text",
                                "label": "名前",
                                "required": true
                            },
                            {
                                "name": "value",
                                "type": "text",
                                "label": "値"
                            }
                        ],
                        "type": "array",
                        "label": "ヘッダー"
                    },
                    {
                        "name": "qs",
                        "spec": [
                            {
                                "name": "name",
                                "type": "text",
                                "label": "名前",
                                "required": true
                            },
                            {
                                "name": "value",
                                "type": "text",
                                "label": "値"
                            }
                        ],
                        "type": "array",
                        "label": "クエリ文字列"
                    },
                    {
                        "name": "bodyType",
                        "type": "select",
                        "label": "ボディタイプ",
                        "validate": {
                            "enum": [
                                "raw",
                                "x_www_form_urlencoded",
                                "multipart_form_data"
                            ]
                        }
                    },
                    {
                        "name": "parseResponse",
                        "type": "boolean",
                        "label": "レスポンスを解析する",
                        "required": true
                    },
                    {
                        "name": "authUser",
                        "type": "text",
                        "label": "ユーザー名"
                    },
                    {
                        "name": "authPass",
                        "type": "password",
json Copy
{
    "label": "パスワード"
},
{
    "name": "timeout",
    "type": "uinteger",
    "label": "タイムアウト",
    "validate": {
        "max": 300,
        "min": 1
    }
},
{
    "name": "shareCookies",
    "type": "boolean",
    "label": "他のHTTPモジュールとクッキーを共有する",
    "required": true
},
{
    "name": "ca",
    "type": "cert",
    "label": "自己署名証明書"
},
{
    "name": "rejectUnauthorized",
    "type": "boolean",
    "label": "検証されていない(自己署名)証明書を使用している接続を拒否する",
    "required": true
},
{
    "name": "followRedirect",
    "type": "boolean",
    "label": "リダイレクトに従う",
    "required": true
},
{
    "name": "useQuerystring",
    "type": "boolean",
    "label": "同じクエリ文字列のキーを配列としてシリアル化しない",
    "required": true
},
{
    "name": "gzip",
    "type": "boolean",
    "label": "圧縮されたコンテンツをリクエストする",
    "required": true
},
{
    "name": "useMtls",
    "type": "boolean",
    "label": "相互TLSを使用する",
    "required": true
},
{
    "name": "contentType",
    "type": "select",
    "label": "コンテンツタイプ",
    "validate": {
        "enum": [
            "text/plain",
            "application/json",
            "application/xml",
            "text/xml",
            "text/html",
            "custom"
        ]
    }
},
{
    "name": "data",
    "type": "buffer",
    "label": "リクエストコンテンツ"
},
{
    "name": "followAllRedirects",
    "type": "boolean",
    "label": "すべてのリダイレクトに従う",
    "required": true
}
json Copy
{
    "モジュール": "util:SetVariable2",
    "バージョン": 1,
    "パラメータ": {},
    "マッパー": {
        "名前": "latest_date",
        "スコープ": "roundtrip",
        "値": "{{1.data.interest_over_time.timeline_data[30].date}}"
    },
    "メタデータ": {
        "デザイナー": {
            "x": 661,
            "y": -29
        },
        "復元": {
            "期待": {
                "スコープ": {
                    "ラベル": "1サイクル"
                }
            }
        },
        "期待": [
            {
                "名前": "name",
                "タイプ": "text",
                "ラベル": "変数名",
                "必須": true
            },
            {
                "名前": "scope",
                "タイプ": "select",
                "ラベル": "変数のライフタイム",
                "必須": true,
                "検証": {
                    "enum": [
                        "roundtrip",
                        "execution"
                    ]
                }
            },
            {
                "名前": "value",
                "タイプ": "any",
                "ラベル": "変数値"
            }
        ],
        "インターフェース": [
            {
                "名前": "latest_date",
                "ラベル": "latest_date",
                "タイプ": "any"
            }
        ]
    }
},
{
    "id": 7,
    "モジュール": "builtin:BasicRouter",
    "バージョン": 1,
    "マッパー": null,
    "メタデータ": {
        "デザイナー": {
            "x": 929,
            "y": -33
        }
    },
    "ルート": [
        {
            "フロー": [
                {
                    "id": 8,
                    "モジュール": "google-email:ActionSendEmail",
                    "バージョン": 2,
                    "パラメータ": {
                        "アカウント": 1
                    },
                    "フィルター": {
                        "名前": "Trend Above 80",
                        "条件": [
                            [
                                {
                                    "a": "{{4.latest_trend_value}}",
                                    "o": "number:greater",
                                    "b": "80"
                                }
                            ]
                        ]
                    },
                    "マッパー": {
                        "from": "",
                        "to": [
                            "YOUR_EMAIL"
                        ],
                        "件名": "🔥 AIトレンドアラート: {{4.latest_trend_value}}/100",
                        "html": "アラート: AIが高トレンドです!\n\n📊 トレンドスコア: {{4.latest_trend_value}}/100\n📅 日付: {{6.latest_date}}\n🎯 阈値: 80\n\nMake x Scrapelessからの自動アラート",
                        "添付ファイル": [],
                        "cc": [],
                        "bcc": []
                    },
                    "メタデータ": {
                        "デザイナー": {
                            "x": 1240,
                            "y": -21
                        },
                        "復元": {
                            "パラメータ": {
                                "アカウント": {
                                    "ラベル": "私のGoogle制限接続",
                                    "データ": {
                                        "スコープ": "true",
                                        "接続": "google-restricted"
                                    }
                                }
                            },
                            "期待": {
                                "to": {
                                    "モード": "選択",
                                    "アイテム": [
                                        null
                                    ]
                                },
                                "添付ファイル": {
                                    "モード": "選択"
                                }
                            }
                        }
                    }
                }
            ]
        }
    ]
}
json Copy
"cc": {
    "mode": "選択"
},
"bcc": {
    "mode": "選択"
},
"parameters": [
    {
        "name": "account",
        "type": "account:google-restricted",
        "label": "接続",
        "required": true
    }
],
"expect": [
    {
        "name": "from",
        "type": "text",
        "label": "送信元"
    },
    {
        "name": "to",
        "type": "array",
        "label": "宛先",
        "required": true,
        "spec": {
            "name": "value",
            "type": "email",
            "label": "メールアドレス",
            "required": true
        }
    },
    {
        "name": "subject",
        "type": "text",
        "label": "件名"
    },
    {
        "name": "html",
        "type": "text",
        "label": "内容"
    },
    {
        "name": "attachments",
        "type": "array",
        "label": "添付ファイル",
        "spec": [
            {
                "name": "fileName",
                "label": "ファイル名",
                "type": "filename",
                "required": true,
                "semantic": "file:name"
            },
            {
                "name": "data",
                "label": "データ",
                "type": "buffer",
                "required": true,
                "semantic": "file:data"
            },
            {
                "name": "cid",
                "label": "コンテンツID",
                "type": "text"
            }
        ]
    },
    {
        "name": "cc",
        "type": "array",
        "label": "CC受信者",
        "spec": {
            "type": "email",
            "label": "メールアドレス",
            "name": "value"
        }
    },
    {
        "name": "bcc",
        "type": "array",
        "label": "BCC受信者",
        "spec": {
            "type": "email",
            "label": "メールアドレス",
            "name": "value"
        }
    }
]
json Copy
"instant": false,
        "version": 1,
        "scenario": {
            "roundtrips": 1,
            "maxErrors": 3,
            "autoCommit": true,
            "autoCommitTriggerLast": true,
            "sequential": false,
            "slots": null,
            "confidential": false,
            "dataloss": false,
            "dlq": false,
            "freshVariables": false
        },
        "designer": {
            "orphans": []
        },
        "zone": "eu2.make.com",
        "notes": []
    }
}

含まれているもの:

  • タイミングトリガー(毎日のトレンド検出)
  • スクラペレスAPIリクエストモジュール
  • JSONデータ処理と変数抽出
  • 閾値判断ロジック(インテリジェントフィルタリング)
  • Eメール通知モジュール(Gmailをサポート)
  • 基本的なエラーハンドリング機構

ステップ2: Make.comにインポート

  1. Make.comにログインします
  2. **"新しいシナリオを作成"**をクリックします
  3. ページの下部ツールバーにある歯車アイコン⚙️をクリックします
  4. **"ブループリントをインポート"**を選択し、.jsonファイルをアップロードします
  5. ブループリントが正常にインポートされると、すべてのモジュールが接続された完全なワークフローが自動的に作成されます

ステップ3: ワークフローを設定

カスタマイズする必要があるいくつかの重要な部分は次のとおりです:

  1. APIトークンを設定

    • HTTPリクエストモジュールを開きます
    • "x-api-token"の値をあなたのスクラペレスAPIキーで置き換えます
  2. クエリパラメータを設定

パラメータ 説明
q 検索キーワード "AI", "iPhone 15", "your-brand-name"
data_type データタイプ interest_over_time(推奨)
date 時間範囲 "today 1-m", "today 3-m"
hl 言語 "en", "fr", "de"
tz タイムゾーン "420"(太平洋時間)、"0"(GMT)
geo 地域(オプション) "US", "FR"; 世界中のために空白にします
cat カテゴリ(オプション) 空白にするか特定のカテゴリを選択します
property 検索チャネル(オプション) "news", "youtube", "froogle"
  1. アラート閾値を設定

    • ルーターモジュール内のフィルタを開きます
    • デフォルトの閾値は80です; 必要に応じて高くまたは低く調整します
    • 値が高いほど、より顕著なトレンドのみがアラートを引き起こします

  1. Eメール通知(または他のチャネル)を設定

    • Gmailモジュールを開き、メールアカウントを接続します
    • Eメールの内容を設定します(HTMLサポート)
    • Slack、SMSなどのマルチチャネル通知に拡張することができます

ステップ4: テストとアクティブ化

  1. **"一度実行"**をクリックしてワークフローをテストします
  2. 各モジュールが正常に実行されるかチェックします
  3. トレンド値が閾値を満たすと、テストメールを受け取るはずです
  4. すべてが正しい場合は、ワークフローをアクティブにします

一般的なトラブルシューティング

問題 可能な原因 解決策
APIに接続できない トークンの設定が不正 HTTPリクエストモジュール内のx-api-tokenの値を確認します
Eメールが受信されない メールが接続されていないまたは迷惑メールフォルダーに行った Gmailモジュールの接続を確認し、メール内容を検証します
モジュール参照エラー 不正な変数パス参照 変数パスが正しいモジュール番号に一致していることを確認します ({{1.data.interest_over_time.timeline_data[30].value[0]}} など)

地域トレンド監視(オプション)

  • スクラペレスリクエストのgeoパラメータを変更します
  • 複数の国または地域のために別々の監視を設定します
  • 国際市場間の比較分析に最適です

高度なアラートロジック(オプション)

  • 複数の通知チャネルを追加(例: Slack + Email + SMS)
  • 異なるトレンドレベルに基づいた段階的アラートを設定
  • "勤務時間"制限を追加して、日中のみアラートを送信します

データ統合使用例(オプション)

  • トレンドデータをGoogle Sheetsに書き込む
  • 潜在的なリードスコアリングのためにCRMにデータをプッシュ
  • データダッシュボード(例: Power BI、Looker Studio)に統合

6. 推奨される拡張使用例

使用例 例のキーワード 目的
Copy
| AI業界のリアルタイム監視               | AI、ChatGPT、LLM            | 公共の感情トレンドを先取りし、トピックのリリースタイミングを最適化         |
| Eコマースにおけるトレンド商品の監視     | TikTok、サマードレス         | 商品やプラットフォームの用語が急増した際に迅速にマーケティングコンテンツを投入  |
| 地域イベントトレンドアラート           | 地震、選挙                 | 地域の社会的または自然的なイベントのために検索の急増を監視しPRを支援       |
| SEOコンテンツ戦略の計画                | SEO、バックリンク           | トレンドの変化に基づいてSEOコンテンツの更新リズムを調整                  |
| 投資家の感情または業界シグナル         | ビットコイン、Nvidia株      | キーワード急増の背後にある市場の感情を検出し、感情分析をサポート         |


## 結論

Scrapelessの業界最先端のGoogleトレンドAPIとMake.comの強力な自動化プラットフォームの組み合わせは、企業がトレンドインテリジェンスを活用する前例のない機会を創出します。これは単なるデータの監視ではなく、あなたの組織が市場の動きを予見し、対応し、活用する方法を変革することです。

**主要な戦略的利点:**
- スピード:トレンドに数時間で反応し、数日や数週間ではない
- 精度:外科的な正確さで機会をターゲットにする
- スケール:追加の人員なしで数千のトレンドを監視する
- 先見性:競合他社よりも市場の動きを予測する
- ROI:トレンドインテリジェンスから測定可能なビジネス価値を生み出す

**業界リーダーがこのソリューションを選ぶ理由:**
- 証明された信頼性:Scrapelessの99.9%の稼働率により、重要なトレンドを逃すことはありません
- 実績あり:フォーチュン500企業や急成長中のスタートアップに使用されています
- 競争優位性:他者が模倣できない高度な検出回避技術
- ビジネスに焦点:データ収集だけでなくビジネスの影響を考慮して設計されています

デジタル経済はトレンドのスピードで動いています。競争よりも早くトレンドとなるトピックを検出、分析し、行動できる企業は単に生き残るだけでなく、市場を支配します。

> トレンドインテリジェンスを変革する準備はできていますか?
[Scrapelessを始める](https://app.scrapeless.com/passport/login?utm_source=official&utm_medium=blog&utm_campaign=make) とMake.comを今日利用し、最先端のテクノロジーが戦略的ビジネスインテリジェンスと出会った時に何が起こるかを発見してください。


---

Scrapelessは適用される法律および規制を厳守し、ウェブサイトのサービス利用規約およびプライバシーポリシーに従ってのみ公開データにアクセスします。このソリューションは、正当なビジネスインテリジェンスおよびマーケティング最適化の目的に設計されています。

Scrapelessでは、適用される法律、規制、およびWebサイトのプライバシーポリシーを厳密に遵守しながら、公開されているデータのみにアクセスします。 このブログのコンテンツは、デモンストレーションのみを目的としており、違法または侵害の活動は含まれません。 このブログまたはサードパーティのリンクからの情報の使用に対するすべての責任を保証せず、放棄します。 スクレイピング活動に従事する前に、法律顧問に相談し、ターゲットウェブサイトの利用規約を確認するか、必要な許可を取得してください。

最も人気のある記事

カタログ