
上から下への意思決定ツリー
- 非技術者がフローを編集したり、実行履歴を確認したりする必要がある場合:n8nまたはMakeを選択してください。
- ジョブが60行以内に収まり、リポジトリで管理される予定の場合:Pythonを選択してください。
- Slackへの投稿やスプレッドシートへの行追加が必要だが、差分比較は不要な場合:HTTPリクエストノード1つでn8nを選択してください。
- 複数のドメインの差分比較を行い、履歴を保持したり、パース処理のユニットテストを行ったりする必要がある場合:SQLite付きのPythonを選択してください。
- チームがすでにn8nクラウドの実行プランに料金を支払っている場合:それらをカウントしてください。40ドメインのループはプランを消費し尽くす可能性があります。
- 上記のいずれにも当てはまらない場合:シェルスクリプトでcurlから始め、何が問題になるかを確認してください。
ビジュアルフローがその価値を発揮する場面
ジョブによっては、キャンバスが抱える複雑さ以上の価値を持ちます。非技術者が各ステップとその最終実行結果を確認する必要がある場合、彼らが決して開かないリポジトリよりも、ビジュアルフローの方が優れています。シンプルに保ってください。
多くのバックリンクジョブは「取得」「確認」「書き込み」の3ステップで構成されます。4つのノードでこれらを適切に処理できます。クライアントのために毎月Webサイトのバックリンクを確認するジョブであれば、キャンバスに最適な形状です。問題は、ページネーション、リトライ、差分比較を追加した瞬間から始まります。それぞれが独自の分岐をもたらすためです。
作成者ではなく、閲覧者のためにキャンバスを選んでください。
フローを閲覧する人
マーケティングや営業担当者は、出力結果によってフローを評価します。彼らは、最終実行結果が明確に表示されることを望みます。キャンバスは、チケットを作成することなくそれを実現します。彼らはコードではなく出力を読みます。スクリプトは、彼らが決して開かないログファイルを提供するだけです。
フローに明確な名前と1行の説明を付け、次の閲覧者が開く前にそれが何を約束するものかを知るようにしてください。曖昧なラベルのノードは、欠落した機能よりも多くの時間を要します。
一目で確認できる分岐
okに対するIFノードは追跡しやすいです。1ページに3つある場合でも、各分岐に明確な名前が付けられていれば読みやすいです。それを超えると線が交差し、レビューアーは空の結果に対してどの分岐が実行されるかを確実に確認するために10分を要します。
キャンバスが負債となる場所
多数のドメインに対するループ、実行間の共有状態、ユニットテストは、一般的な負荷点です。キャンバスはそれぞれをワークアラウンドで処理しますが、各ワークアラウンドはフローが意図した動作から逸脱する要因となります。
フローを修正するためにJSONをエクスポートする必要がある場合、そのジョブはキャンバスの範囲を超えています。ロジックをコードに移行し、キャンバスは通知用に維持してください。

n8nのセットアップを4行で
HTTP Requestノードを追加し、メソッドをGET、URLをhttps://linkzoid.pro/api.phpに設定します。クエリパラメータとしてaction、q、keyを追加してください。この方法でウェブサイトのバックリンクを確認したい人は、5分でこれをコピーできます。
キーはノードではなく、クレデンシャルに保存してください。okの場合に実行されるIFノードを追加し、falseのブランチをエラーワークフローに接続して、あなたに通知を送信します。
rows配列をItem ListsノードまたはSplit Outノードで分割し、Google SheetsやPostgresに書き込んでください。実行カウントに注意してください。プランによっては、各アイテムがステップとして課金対象になる場合があります。
これが一連の処理の全体です。ただし、ページネーションが発生すると処理が破綻します。n8nのループは機能しますが、10ノードを超えると読み込みが重くなります。
n8nフローを5ノードで構築
各ノードは単一のタスクを処理し、次のノードを追加する前にそれぞれを個別にテストできます。
01HTTP Requestノードを作成
メソッドをGET、URLをhttps://linkzoid.pro/api.phpに設定します。クエリパラメータとしてaction、q、perを追加し、キーは次のステップに保留してください。
02キーをクレデンシャルとして接続
キーをn8nのクレデンシャルに保存し、クエリから参照してください。URLフィールドに直接入力したキーは、ログやエクスポートに含まれる可能性があります。
03okフラグで制御
okを読み取るIFノードを追加します。falseのブランチをエラーワークフローに接続し、レスポンスボディが確認できる場所に投稿してください。
04rowsを分割
rows配列にSplit Outノードを使用して、各ドメインを個別のアイテムとして処理します。アイテムをシートやテーブルに書き込み、レスポンス全体を1つのセルに格納しないでください。
05無料アクションでまずテスト
ノードをキー不要のoverviewにポイントし、有料アクションに切り替える前にレスポンスの構造を確認してください。
トラブルシューティング表
| 症状 | n8nの原因 | Pythonの原因 |
|---|
| 10行しか取得できない | ノードにperパラメータが設定されていない | 同じ。クエリ文字列を確認 |
|---|
| 実行は成功したが、シートが空 | 行がアイテムに分割されていない | rows の代わりに辞書を書いた |
|---|
| 1週間後に402 | トリガーでワークフローがループする | Cronが2回実行される |
|---|
| キーがログに漏れる | URLフィールドに貼り付けられた | 完全なURLが出力された |
|---|
| 前月比のギャップ | 実行履歴の保持が古い実行を削除した | 履歴が保存されなかった |
|---|
実行あたりのコスト
当社側では、どちらの方法でもコストは同じです。refdomainsページの取得には2クレジットかかります。コストが異なるのはビルダー側です。
n8nをセルフホスティングして実行するのは無料です。クラウドプランでは実行回数がカウントされます。Cronで実行する単純なスクリプトならコストはかかりません。
どちらを選んでも、各実行の dated copy をツールの外に保管してください。Actionsでの週次スナップショット は整理された保管場所として最適です。スイート比較 では、独自の履歴を持つ価値について説明しています。
ドメインあたりの実行回数をカウントする
40ドメインに対するループは、実行回数をカウントするプランでは40回の実行になります。スケジュールに組み込む前に、プランがループをどのようにカウントするか確認してください。請求はクレジットではなくカウントに基づきます。
スケジュールの横に予想されるカウントを記載してください。請求書での予期せぬ増加分は、見積もりがすでにファイルに記載されている場合に説明が容易になります。
セルフホスティングにも独自の費用がかかる
n8nをセルフホスティングするには、サーバー、アップグレード、バックアップのコストがかかります。データベースは自分で維持管理する必要があります。小型マシン上の単純なスクリプトは動作部品が少なく、固定月次ジョブに適している理由の一つです。

まず壊れやすいもの
n8nではページネーションとアイテム数が問題になります。Pythonでは、誰もテストしていないものが問題になります。空の rows、タイムアウト、想定と異なる名前のフィールドなどです。
どちらのツールも間違いではありません。6ヶ月後に誰がメンテナンスするかで選んでください。それがあなた一人で、コードをメンテナンスする場合、コードは検索が容易です。もしすでにキャンバス内で作業しているマーケティングチームがメンテナンスする場合、彼らが見える小さなフローは、彼らが恐れるリポジトリよりも優れています。
混合セットアップも機能します。PythonにスケジュールでCSVを作成させ、n8nにそのファイルを読み取らせてSlackに投稿させます。各ツールは得意な部分を処理し、どちらのフローも10ステップを超えません。
Pythonバージョンの可読性を保つ
コードの一般的なケースは、6ヶ月後に誰かが変更することです。それを容易にしてください。明確な名前を持つ短いスクリプトと保存されたレスポンスは、誰も触れないことを恐れる賢い一行コードよりも優れています。
保存されたレスポンスでパーサーをテストする
実際のレスポンスを1つファイルに保存し、ユニットテストでそれを読み込みます。パーサーはクレジットを使わずに実行でき、フィールド名が変更された場合でも、テスト実行で失敗し、月曜日の朝に失敗するわけではありません。
保存されたレスポンスは小さく保ってください。12行程度で十分です。取得した日付を記録し、フィールド名が最後にいつ変更されたかを確認できるようにしてください。
設定を1か所にまとめる
ドメイン、アクション、ページサイズは、スクリプト全体に散らばらず、小さな設定ブロックに含めてください。そうすれば、行の解析ロジックに触れることなく、同僚がターゲットリストを変更できます。
シークレットもそのブロックから外してください。キーを読み込むのと同じ方法で、環境変数から読み込みます。
コミットする前に2週間の試用期間を実行する
紙の上でこれを決めません。各ツールでジョブの最小バージョンを構築し、2週間毎日実行し、どちらを聞かずに開くかを確認してください。
何が壊れるかを確認します。手動で編集する必要があった回数と、エラーなしで出力が間違っていた回数を数えます。手動修正の回数が少ないツールが、維持すべきツールです。
手動修正をすべてログに記録する
フローやスクリプトを手動で修正したたびに、簡潔なメモを保管してください。2週間後の短いリストは、どんな機能表よりも多くのことを教えてくれます。
誰が変更を要求したかを記録する
リクエストがコードを読めない人々から来た場合、キャンバスが勝つかもしれません。それがあなたからのリクエストなら、リポジトリの方が扱いやすいでしょう。
どちらの答えでも、それを指し示せる限り問題ありません。フローやリポジトリの横に理由を記載し、ジョブが拡大した際に再検討してください。
ビルダー向けの短い回答
- MakeやZapierはこのAPIと連携できますか?
- はい。クエリパラメータ付きのHTTPS GETを送信できるものであれば、Make、Zapier、Pipedream、Apps Scriptなどすべて連携可能です。汎用HTTPモジュールを使用し、キーを保存された接続に配置し、次のステップでJSON
rows 配列を読み取ってください。 - AIエージェントが代わりに呼び出すことはできますか?
- 技術的には可能です。これは単純なHTTP APIだからです。固定月次ジョブには、スクリプトの方が安価で予測可能であり、エージェントはモデルの請求と誤ったパラメータのリスクを追加します。アドホックな質問にのみエージェントを使用してください。
- 始めるための最も安価な方法は?
- curlと無料の概要アクションを使用したシェルスクリプトをcronから実行します。キーもコストも不要で、レスポンスの形状を学習できます。最初の awkward JSON パーシングが発生した時点でPythonに移行してください。