生活や仕事に役立つライフハック、お得な情報を発信しています。⚠️記事内にPRを含みます

n8nのHTML ExtractノードでWebスクレイピング!ニュースや株価を自動取得

毎日同じWebサイトをチェックして情報収集するのは、時間がかかり面倒だと感じていませんか。

「最新のニュースや株価の動向を手間なく把握したい」。

「競合の価格情報を自動で収集して、ビジネスに活かしたい」。

もしあなたがそう思っているなら、iPaaS(Integration Platform as a Service)である「n8n(エヌエイトエヌ)」がその悩みを解決してくれるかもしれません。

n8nに搭載されている「HTML Extract」ノードを使えば、プログラミングの知識がなくても、Webサイトから特定の情報を自動で抽出する「Webスクレイピング」を簡単に行うことができます。

この記事では、n8nを使ったWebスクレイピングの基本から、ニュースや株価情報を自動取得してGoogleスプレッドシートに記録する応用テクニックまで、具体的な手順を追いながら徹底解説します。

この記事を読み終える頃には、あなたも面倒な手作業の情報収集から解放され、ビジネスや情報収集の効率を劇的に向上させる第一歩を踏み出しているはずです。

そもそもWebスクレイピングとは?n8nで実現するメリット

まず、「Webスクレイピング」という言葉に馴染みがない方のために、その基本から解説します。そして、数あるツールの中でなぜn8nがWebスクレイピングにおすすめなのか、その理由を明らかにしていきましょう。

Webスクレイピングの基本と活用例

Webスクレイピングとは、Webサイト上にあるHTMLデータから特定の情報だけを自動的に抽出・収集する技術のことです。手作業でWebサイトを見て回り、情報をコピー&ペーストする作業を、プログラムやツールに代行させるイメージです。

この技術を活用することで、以下のような様々な業務を自動化できます。

  • 市場調査: 競合他社の製品価格やレビューを定期的に収集し、自社の価格戦略に活かす。
  • ニュース収集: 特定のキーワードを含むニュース記事だけを抽出し、最新の業界動向を把握する。
  • 株価・為替レートの監視: 経済指標や特定の銘柄の株価をリアルタイムで取得し、投資判断の材料にする。
  • 不動産情報の収集: 希望する条件(エリア、価格、間取りなど)に合致する新着物件情報を自動でリストアップする。
  • リード生成: お問い合わせフォームがある企業のリストを作成するなど、営業活動の効率化を図る。

このように、Webスクレイピングは単純な情報収集だけでなく、マーケティング、営業、投資など、多岐にわたる分野で強力な武器となります。

なぜn8nがWebスクレイピングにおすすめなのか?

Webスクレイピングは、従来Pythonなどのプログラミング言語を使って行われるのが一般的でした。しかし、n8nを使えば、プログラミングのスキルがない方でも直感的にWebスクレイピングの仕組みを構築できます。その主なメリットは以下の3つです。

  1. プログラミングが不要: n8nは、ノードと呼ばれる機能ブロックを線でつなぎ合わせてワークフローを作成します。視覚的なインターフェースで操作できるため、コードを書く必要が一切ありません。
  2. 柔軟なデータ抽出: HTML Extractノードでは、「CSSセレクタ」や「XPath」といった方法で抽出したい情報の場所を正確に指定できます。これにより、複雑な構造のWebサイトからでも、ピンポイントで必要なデータを抜き出すことが可能です。
  3. 他ツールとの連携が容易: n8nの真価は、その豊富な連携先にあります。スクレイピングで取得したデータを、Googleスプレッドシートに書き込んだり、SlackやChatworkに通知したり、データベースに保存したりと、後続の処理をシームレスに自動化できます。

n8nの基本的な使い方や、他のどのようなツールと連携できるかについては、n8nの全体像を網羅した「n8n完全ガイド記事」で詳しく解説していますので、ぜひそちらもご覧ください。

Webスクレイピングを行う際の重要な注意点

非常に便利なWebスクレイピングですが、実行する際にはいくつか注意すべき点があります。これらを守らないと、サイト運営者に迷惑をかけたり、法的な問題に発展したりする可能性もあります。

  • 利用規約(Terms of Service)の確認: 多くのWebサイトでは、利用規約でスクレイピングを禁止しています。情報を取得したいサイトの利用規約を必ず確認し、許可されている範囲でのみ実行してください。
  • robots.txtの確認: Webサイトのルートディレクトリにある `robots.txt` ファイルには、クローラー(自動巡回プログラム)に対して、どのページへのアクセスを許可/拒否するかが記述されています。この指示に従うのがマナーです。
  • サーバーへの負荷を考慮する: 短時間に大量のリクエストを送ると、相手のサーバーに大きな負荷をかけてしまい、最悪の場合、サイトをダウンさせてしまう恐れがあります。n8nのCronノードなどで定期実行する際は、深夜帯に実行したり、実行間隔を数分〜数時間空けたりするなどの配慮が必要です。
  • ログインが必要なページについて: ログインが必要なページの情報を取得する場合、認証情報を扱う必要があります。認証情報の管理には細心の注意を払い、セキュリティリスクを十分に理解した上で実施してください。

これらのルールとマナーを守り、責任を持ってWebスクレイピングを行いましょう。

【実践】n8nのHTML Extractノードでニュースサイトから情報を取得する方法

それでは、実際にn8nを使ってWebスクレイピングのワークフローを構築していきましょう。ここでは例として、ニュースサイトから最新記事の「タイトル」と「URL」を抽出する手順を解説します。(※今回はサンプルとして架空のニュースサイトを想定します)

ステップ1: HTTP RequestノードでWebページのHTMLを取得

ワークフローの最初のステップは、情報が掲載されているWebページのHTMLデータを丸ごと取得することです。これには「HTTP Request」ノードを使用します。

  1. n8nのキャンバスで「+」ボタンを押し、「HTTP Request」ノードを追加します。
  2. パラメータ設定画面で、以下の項目を設定します。
    • URL: 情報を取得したいニュースサイトのURLを入力します。
    • Response Format: 「String」を選択します。これにより、ページのHTMLがテキストデータとして取得されます。
  3. 「Execute Node」ボタンを押してノードを実行します。Output(出力結果)にHTMLコードが表示されれば成功です。

ステップ2: 抽出したい情報の「CSSセレクタ」を特定する

次に、取得したHTMLの中から、どの部分の情報を抜き出すかを指定する必要があります。その指定方法の一つが「CSSセレクタ」です。

CSSセレクタとは、HTML内の特定の要素(見出し、段落、リンクなど)を指定するための「住所」のようなものです。Google Chromeなどのブラウザに搭載されている「デベロッパー・ツール」を使うと、簡単に特定できます。

  1. ブラウザで対象のニュースサイトを開きます。
  2. 記事のタイトルなど、抽出したい情報の上で右クリックし、「検証」(または「要素を調査」)を選択します。
  3. デベロッパー・ツールが起動し、右クリックした箇所のHTMLコードがハイライトされます。
  4. ハイライトされたHTMLコードの上で再度右クリックし、「Copy」 > 「Copy selector」を選択します。
  5. これで、目的の情報を指し示すCSSセレクタがクリップボードにコピーされました。テキストエディタなどに貼り付けておきましょう。(例: `#main > article > h2 > a` のような文字列です)

この作業を、抽出したい情報(今回は「タイトル」と「URL」)の分だけ繰り返します。

ステップ3: HTML Extractノードでデータを抽出・整形する

いよいよ主役の「HTML Extract」ノードの登場です。HTTP Requestノードで取得したHTMLデータと、先ほど特定したCSSセレクタを使って、必要な情報だけを抜き出します。

  1. HTTP Requestノードの後に「HTML Extract」ノードを接続します。
  2. パラメータ設定画面で、「Extraction Values」の「Add Extraction」ボタンを押します。
  3. 抽出したい情報(例: 記事タイトル)ごとに、以下の項目を設定します。
    • CSS Selector: ステップ2でコピーしたCSSセレクタを貼り付けます。
    • Return Value: どのような形式で値を取得するかを選択します。「Text」を選択すれば要素内のテキスト、「HTML」を選択すればHTMLタグごと取得できます。今回は記事タイトルなので「Text」です。
    • Key: 抽出したデータに付ける名前(ラベル)です。後で分かりやすいように「title」などと命名します。
  4. 同様に、記事URLも抽出する設定を追加します。「CSSセレクタ」を指定し、「Return Value」はリンク先のURLを取得したいので「Attribute」を選択し、その下の「Attribute Name」に「href」と入力します。「Key」は「url」とします。
  5. 「Execute Node」ボタンを押して実行します。Outputに「title」と「url」をキーとしたデータがリスト形式で表示されれば、Webスクレイピングの基本ワークフローは完成です。

たったこれだけの手順で、Webサイトから自動で情報を収集する仕組みができました。驚くほど簡単だったのではないでしょうか。

【応用編】株価情報を取得してGoogleスプレッドシートに自動記録する

基本が理解できたら、次はより実践的なワークフローに挑戦してみましょう。ここでは、特定の銘柄の株価情報を定期的に取得し、その推移をGoogleスプレッドシートに自動で記録していく方法を解説します。(※2025年12月時点の情報として、一部の金融情報サイトを対象とします。実際に試す際は、対象サイトの利用規約を必ずご確認ください。)

定期実行で最新の株価を追跡する(Cronノード)

株価のように変動するデータは、手動で毎回ワークフローを実行するのではなく、決まった時間に自動で実行させたいものです。そこで活躍するのが「Cron」ノードです。

  1. ワークフローの起点(一番最初のノード)として「Cron」ノードを追加します。
  2. パラメータ設定画面で、実行したいスケジュールを設定します。
    • Mode: 「Every Day」や「Every Hour」など、実行頻度を選択します。
    • Hour / Minute: 実行したい時刻を指定します。サーバーへの負荷を考慮し、利用者が少ない早朝や深夜がおすすめです。
  3. これで、指定したスケジュールでワークフローが自動的に起動するようになります。

取得したデータをGoogle Sheetsノードでスプレッドシートに書き込む

HTML Extractノードで株価や前日比などの情報を抽出できたら、そのデータをGoogleスプレッドシートに記録していきましょう。これには「Google Sheets」ノードを使います。

  1. 事前にGoogleスプレッドシートで、記録用のシートを作成しておきます。(例: A列に「日時」、B列に「株価」、C列に「前日比」などのヘッダーを用意)
  2. HTML Extractノードの後に「Google Sheets」ノードを接続します。
  3. 初回利用時は、Credential(認証情報)の設定が必要です。画面の指示に従い、お使いのGoogleアカウントと連携させます。
  4. パラメータを設定します。
    • Resource: 「Row」を選択します。
    • Operation: 「Append」を選択します。これにより、既存のデータの末尾に新しい行が追加されます。
    • Sheet ID: 記録したいGoogleスプレッドシートのURLからID部分をコピーして貼り付けます。
    • Sheet Name: 対象のシート名を入力します。
    • Columns: 「Add Column」を押し、スプレッドシートの各列にどのデータを入れるかを指定します。例えば、A列の「日時」には `{{ $now }}` というn8nの式を使って現在時刻を、B列の「株価」には前のノードから渡ってきた株価のデータを `{{ $json.price }}` のように指定します。
  5. ワークフローを一度実行し、スプレッドシートにデータが正しく記録されることを確認します。

複数の情報を効率的に処理するテクニック

ワークフローをより高度にするためのテクニックも少しご紹介します。

  • 複数の銘柄を扱う場合: 取得したい銘柄のリストをCodeノードやGoogle Sheetsノードで用意し、「Split in Batches」ノードを使って1つずつ処理をループさせると、ワークフローを複製することなく複数の銘柄に対応できます。
  • エラーハンドリング: Webサイトの構造が変更されると、CSSセレクタが機能しなくなり、スクレイピングが失敗することがあります。「IF」ノードでデータが取得できたか否かを判定したり、「Error Trigger」ノードを設定したりして、エラー発生時にSlackに通知を送るなどの処理を追加しておくと、ワークフローを安定して運用できます。

これらの応用テクニックを駆使すれば、n8nによるWebスクレイピングは、単なる情報収集ツールから、ビジネス上の意思決定を支える強力なデータ基盤へと進化します。

まとめ:n8nで情報収集の自動化を始めよう

この記事では、n8nのHTML Extractノードを活用したWebスクレイピングの方法を、基本から応用まで解説しました。もう一度、重要なポイントを振り返りましょう。

  • Webスクレイピングを使えば、Webサイトからの情報収集を自動化できる。
  • n8nなら、プログラミング不要で直感的にWebスクレイピングのワークフローを構築できる。
  • HTTP RequestノードでHTMLを取得し、HTML ExtractノードとCSSセレクタで必要な情報を抽出するのが基本的な流れ。
  • CronノードやGoogle Sheetsノードと組み合わせることで、データの定期収集や記録の自動化も可能になる。
  • スクレイピングを行う際は、サイトの利用規約やrobots.txtを確認し、サーバーに負荷をかけないよう配慮することが不可欠。

日々のルーティンワークとなっている情報収集を自動化できれば、より創造的で付加価値の高い仕事に時間を使うことができます。今回ご紹介したニュースや株価の取得は、ほんの一例に過ぎません。あなたの業務に合わせて、ぜひ様々なWebサイトのスクレイピングに挑戦してみてください。

n8nには、無料で始められるプランも用意されています。まずはアカウントを作成し、この記事で紹介した簡単なニュースサイトからの情報収集を試してみてはいかがでしょうか。その手軽さとパワフルさに、きっと驚くはずです。

>>n8nを無料で試してみる

n8nの導入方法やアカウント作成の詳しい手順については、画像付きで分かりやすく解説している「n8n完全ガイド記事」もぜひ参考にしてください。あなたの業務自動化の旅を、n8nが力強くサポートしてくれるでしょう。