Python応用

速報!n8nでスクレイパーを自作したら毎週数時間の作業が消えた話【ノーコード自動化】

「毎週同じ作業を手動でやり続けている…もっとうまい方法があるはずなのに」

そんな気持ち、ありますよね。タブを開いて、データをコピーして、スプレッドシートに貼り付けて、また最初から繰り返す。これ、完全に自動化できる作業なんですよね。

今回は、n8n(エヌエイト・エヌ)というノーコード自動化ツールを使って、Webスクレイピングワークフローを構築するアイデアを紹介します 🚀

n8nってなに?

workflow automation
workflow automation / Photo by Yetkin Ağaç via Pexels

n8nは、ZapierやMakeに似た「ワークフロー自動化ツール」です。ざっくり言うと、「あるサイトのデータを取得して→加工して→スプレッドシートに書き込む」といった処理を、コードをほぼ書かずにつなぎ合わせられるツールです。

最大の特徴はセルフホスト(自分のサーバーで動かす)が無料でできること。クラウド版もありますが、Dockerで手元に立てれば月額コストゼロで使い続けられます 🎉

どんなワークフローを作るの?

イメージとしてはこんな流れです。

  1. スケジュールトリガーで毎週月曜朝に自動起動
  2. HTTP RequestノードでターゲットサイトのHTMLを取得
  3. HTMLExtractノードで必要な要素だけ抜き出す
  4. Functionノードでデータを整形(JavaScriptが少し書ける)
  5. Google Sheetsノードでスプレッドシートに自動書き込み

これだけで、毎週手動でやっていた作業が完全に消えます。

Functionノードでできる簡単なデータ整形

n8nのFunctionノードでは、JavaScriptを使って取得したデータを加工できます。たとえば、価格情報から「¥」記号を取り除いて数値に変換するにはこんなコードを書きます。

// Functionノード内のサンプルコード
// 取得したアイテム一覧を整形する
return items.map(item => {
  const rawPrice = item.json.price || '¥0';

  // 「¥」「,」を除去して数値に変換
  const numericPrice = parseInt(rawPrice.replace(/[¥,]/g, ''), 10);

  return {
    json: {
      name: item.json.name,
      price: numericPrice,
      updatedAt: new Date().toISOString(), // 取得日時を付与
    }
  };
});

ポイントをまとめるとこんな感じです。

  • items は前のノードから渡ってきたデータ配列
  • item.json.〇〇 で各フィールドにアクセスできる
  • 加工したデータを return で次のノードに渡す

JavaScript初心者でも、このパターンを覚えるだけでかなりのことができますよ 💡

スクレイピング時の注意点


自動化を実装する前に、必ず確認しておきたいことがあります。

  • ✅ 対象サイトの 利用規約・robots.txt を確認する
  • ✅ リクエスト間隔を空けてサーバーに負荷をかけない
  • ✅ 個人情報を含むデータの取り扱いに注意する

「自動化できる」と「やっていい」は別の話です。ここだけは必ず守りましょう。

まとめ

n8nを使えば、毎週繰り返す手作業をノーコード+少しのJavaScriptで自動化できます。スクレイピングに限らず、APIの定期取得やSlack通知など応用範囲はとても広いです。

「自動化、むずかしそう」と思っていた方も、n8nなら「できそう」に変わるはずです。ぜひ一度、ローカルで動かしてみてください!

📚 関連商品・おすすめ書籍

スッキリわかるPython入門 第2版 (スッキリわかる入門シリーズ)

もしも

スッキリわかるPython入門 第2版 (スッキリわかる入門シリーズ)

初心者に定番のPython入門書

Amazonで見る

ELEGOO UNO R3スマートロボットカー V4.0 電子工作教育的おもちゃ 全年齢対象ロボット

もしも

ELEGOO UNO R3スマートロボットカー V4.0 電子工作教育的おもちゃ 全年齢対象ロボット

Arduinoで動くロボットカーの入門キット

Amazonで見る

Python Web開発実践入門 ―― FastAPIによるWebAPI開発と非同期処理

もしも

Python Web開発実践入門 ―― FastAPIによるWebAPI開発と非同期処理

FastAPIでWebAPI開発を実践的に学ぶ

Amazonで見る

※本記事にはアフィリエイトリンクが含まれます。

ABOUT ME
やまちゃん
これまで学生と社会人を合わせて5000人以上にプログラミング学習を指導。 ゼロからイチをわかりやすく解説する専門家として活動しており、本業ではArduinoを用いたIoT開発とロボットプログラミングが専門。 Pythonを用いたアプリ開発、ウェブアプリケーションの開発で業務の効率化をサポートしています。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です