【2026年最新】スプレッドシートでWebスクレイピング!IMPORTXML・GAS・ノーコード3つの方法を徹底比較 | Octoparse | Octoparse

【2026年最新】スプレッドシートでWebスクレイピング!IMPORTXML・GAS・ノーコード3つの方法を徹底比較 | Octoparse | Octoparse

スプレッドシートでWebデータを自動取得したい方へ。IMPORTXML関数の使い方から、GAS・ノーコードツールまで、スクレイピングスプレッドシートの3大手法を初心者向けにステップ解説。2026年の最新制限事項と回避策も網羅。無料で今すぐ始められます。

Webサイトの情報をスプレッドシートにまとめたいけど、毎回コピー&ペーストするのは正直しんどい——そんな経験はありませんか?

実は、Googleスプレッドシートには Webページからデータを自動で取得できる関数 が最初から備わっています。さらに、GAS(Google Apps Script)やノーコードのスクレイピングツールを組み合わせれば、プログラミング未経験者でもWebデータの自動収集が可能です。

本記事では、 スプレッドシートでスクレイピングする3つの方法 を、初心者にもわかりやすくステップ形式で解説します。それぞれのメリット・デメリット、そして「結局どの方法を選べばいいの?」という疑問にも正直にお答えします。

結論から言うと、 Googleスプレッドシートだけでも基本的なWebスクレイピングは可能 です。

Googleスプレッドシートには、IMPORTXML関数やIMPORTHTML関数といった Web上のデータを直接セルに取り込める組み込み関数 が用意されています。これらの関数を使えば、プログラミングの知識がなくても、URLとちょっとした指定を入力するだけでWebページの情報をスプレッドシートに自動で表示できます。

ただし、スプレッドシートの関数だけでは対応しきれないケースもあります。

スプレッドシートのスクレイピング関数が得意とするのは、HTMLで静的に記述されたデータです。具体的には以下のようなケースです。

以下のようなケースでは、スプレッドシートの関数だけでは対応できず、GASやノーコードツールの活用が必要になります。

こうした制限を理解したうえで、まずは関数から始めて、必要に応じてGASやノーコードツールにステップアップするのがおすすめです。

Webスクレイピングとは、 Webサイトから必要な情報を自動的に抽出する技術 のことです。

たとえば、ECサイトで100商品の価格を調べたいとき、ひとつずつ手作業でコピー&ペーストしていたら何時間もかかります。スクレイピングを使えば、この作業を数分〜数十分に短縮できます。

Webスクレイピングの方法は大きく分けて3つあります。

①プログラミング(Python・Ruby等) — 最も柔軟だが、コーディングスキルが必要。BeautifulSoupやSeleniumなどのライブラリを使用。

②スプレッドシートの関数 — プログラミング不要で最も手軽。ただし、取得できるデータの範囲に制限がある。

③ノーコードのスクレイピングツール — プログラミング不要で、関数より高機能。Octoparseのようなツールを使えば、動的サイトやページネーションにも対応可能。

本記事では、②と③を中心に、スプレッドシートを活用したスクレイピングの実践的な方法を紹介していきます。

スプレッドシートでスクレイピングする際に、最も汎用性が高いのが IMPORTXML関数 です。XPathという「住所」のような指定方法を使い、Webページ内の好きな要素をピンポイントで抽出できます。

IMPORTXML関数の書き方はシンプルです。

たとえば、あるWebページのすべてのh2見出しを取得したい場合:

「XPathなんて書けない…」と不安に思う方もいるかもしれませんが、心配いりません。ブラウザの機能を使えば、 コピー&ペーストだけ でXPathを取得できます。

ステップ1: Chromeブラウザでスクレイピングしたいページを開き、取得したい要素を 右クリック → 「検証」を選択 。

ステップ2: デベロッパーツールが開いたら、対象の要素がハイライトされます。ハイライトされた部分を 右クリック → 「Copy」 → 「Copy XPath」 を選択。

ステップ3: コピーしたXPathをスプレッドシートのIMPORTXML関数に貼り付けて完了。

たとえば、Octoparseブログのトップページからすべてのブログタイトルを取得する場合:

ステップ1: A1セルに対象のURLを入力する。

https://www.octoparse.jp/blog

ステップ2: B1セルにIMPORTXML関数を入力する。

関数が正常に動作すれば、ページ内のh2テキストがB列に自動展開されます。

スプレッドシートでIMPORTXML関数を使ったスクレイピングでは、以下のエラーに遭遇することがあります。

「リソースを読み込めません」エラー 対象サイトがスクレイピングをブロックしている可能性があります。robots.txtでアクセスが制限されていないか確認しましょう。

「インポートしたコンテンツは空です」エラー XPathの指定が正しくないか、JavaScriptで動的に生成されるコンテンツを指定している可能性があります。XPathを再確認するか、別の要素を試してみてください。

XPath内のダブルクォーテーション問題 XPathに " が含まれる場合、スプレッドシートの関数内では "" のように二重にする必要があります。

データが更新されない IMPORTXML関数は約1時間ごとに自動更新されます。手動で更新したい場合は、URLの末尾にランダムなパラメータを追加する方法が有効です。

Webページにテーブル(表)やリスト形式のデータがある場合、 IMPORTHTML関数 を使えば、構造を維持したままスプレッドシートに取り込めます。

たとえば、Wikipediaの表データを取り込みたい場合:

この1行で、ページ内の最初のテーブルがスプレッドシートに丸ごと展開されます。列の並びもそのまま維持されるため、取得後の整形作業がほとんど不要です。

「どっちを使えばいいの?」と迷ったら、以下の基準で判断してください。

IMPORTHTML関数が向いているケース:

IMPORTXML関数が向いているケース:

IMPORTXML関数・IMPORTHTML関数を使ったスクレイピングには、いくつかの制限があります。

同時利用の上限: 1つのスプレッドシート内で使用できるIMPORT系関数は、おおよそ50個までです。これを超えるとエラーが発生しやすくなります。

更新頻度の制限: データは約1時間ごとに自動更新されます。リアルタイムなデータ取得には向いていません。

動的コンテンツ非対応: JavaScriptで後から読み込まれるデータは、関数では取得できません。

認証ページ非対応: ログインが必要なページのデータは取得できません。

これらの制限に引っかかった場合は、次に紹介するGASやノーコードツールの活用を検討しましょう。

IMPORTXML関数では対応しきれない場面で活躍するのが、 GAS(Google Apps Script) です。GASはGoogleが提供するスクリプト環境で、スプレッドシートと直接連携しながら、より柔軟なWebスクレイピングが実現できます。

ステップ1: Googleスプレッドシートを開く。

ステップ2: メニューバーの「 拡張機能 」→「 Apps Script 」をクリック。

ステップ3: GASエディタが新しいタブで開きます。デフォルトの myFunction() を削除して、コードを記述しましょう。

以下は、指定したWebページのタイトルを取得してスプレッドシートに書き込む基本的なGASコードです。

このコードを「実行」ボタンで実行すると、A1セルにページタイトルが入力されます。

GASの大きな強みは、 トリガー機能 で自動実行をスケジュールできる点です。

ステップ1: GASエディタ左側のメニューから「トリガー」(時計アイコン)をクリック。

ステップ2: 「トリガーを追加」ボタンをクリック。

これで、毎日自動的にWebデータがスプレッドシートに取得されるようになります。

GASには 1回の実行時間が6分まで という制限があります。大量のページをスクレイピングする場合は、処理を分割するか、次に紹介するノーコードツールの利用を検討してください。

また、GASの無料版では 1日あたりの実行時間が合計90分 に制限されています。頻繁な定期実行を設定する場合は、この制限を意識する必要があります。

「関数だとデータが取れない」「GASのコードを書くのはハードルが高い」——そんな方におすすめなのが、 ノーコードのスクレイピングツール です。

ここでは、ノーコードスクレイピングツールの Octoparse を使って、Webデータをスプレッドシート形式で取得する方法を紹介します。

Octoparseは、プログラミング不要でWebスクレイピングができるデスクトップアプリケーションです。 ポイント&クリック操作 でスクレイピングのルールを設定でき、取得したデータはExcelやCSV形式でエクスポートできるため、スプレッドシートとの連携も簡単です。

ステップ1: URLを入力してページを開く

Octoparseを起動し、スクレイピングしたいWebページのURLを検索バーに貼り付けます。URLが検出されたら「 抽出開始 」ボタンをクリックします。

ステップ2: Webページを自動識別する

画面が切り替わったら、操作ヒントパネルから「 Webページを自動識別する 」をクリックします。Octoparseが自動的にページ構造を解析し、取得すべきデータを検出します。

この自動識別機能が、スプレッドシートの関数やGASとの大きな違いです。XPathやCSSセレクタの知識がなくても、 ツールが自動的に最適な抽出ルールを提案 してくれます。

自動識別 とは、自動的にページ上の必要なデータを検出して識別するという役立つ機能です。ポイント&クリックをする必要はなく、Octoparseは自動的に処理します。

ステップ3: ワークフローを確認して生成

自動識別が完了すると、データプレビューが表示されます。取得されるデータの内容を確認し、問題なければ「 ワークフローを生成 」をクリックしてタスクを作成します。

ステップ4: タスクを実行してデータをエクスポート

「 実行 」ボタンをクリックし、「 ローカル抽出 」または「 クラウド抽出 」を選択してスクレイピングを実行します。完了後、データをCSVやExcel形式でエクスポートすれば、そのままスプレッドシートに取り込めます。

次にタスク実行方法の選択画面が表示されるので、「ローカル抽出」または「クラウド抽出」のどちらかを選択します。クラウド抽出は有料版のみ利用可能です。

いずれかを選択すると、スクレイピング実行中の画面が表示されますので、完了するまでしばらく待ちましょう。

取得したデータは、そのままGoogleスプレッドシートへエクスポートすることが可能です。こちらでは、 Google Sheetsへの書き出し 方法をご案内します。また、ExcelやCSV形式でのエクスポートにも対応しています。Excelなどをご利用いただければ、抽出後のデータ加工も簡単に行えます。

動的サイトに対応: JavaScriptで生成されるコンテンツも取得可能。SPAサイトや無限スクロールにも対応できます。

ページネーション自動処理: 複数ページにまたがるデータも、自動でページ遷移しながら収集。スプレッドシートの関数では実現できない機能です。

スケジュール実行(クラウド): 有料プランでは、クラウド上でスクレイピングを定期実行できます。PCの電源が入っていなくても、データが自動で収集されます。

アンチブロック対策: IPローテーションなどの機能により、スクレイピングがブロックされにくい仕組みが備わっています。

Octoparseでは、よく使われるWebサイト向けに スクレイピングテンプレート が用意されています。テンプレートを選ぶだけで、面倒な設定なしにデータ収集を開始できます。

https://www.octoparse.jp/template/google-search-scraper

https://www.octoparse.jp/template/google-maps-store-listing-scraper

テンプレートを使えば、スプレッドシートにそのままインポートできるCSVファイルが数分で手に入ります。

ここまで紹介した4つのスクレイピング方法を一覧で比較してみましょう。

「週に1回、数十件のデータをチェックしたい」 → IMPORTXML関数 or IMPORTHTML関数で十分です。設定も5分で完了。

「毎日の価格データを自動で蓄積していきたい」 → GASのトリガー機能が便利。ただし、コードを書く必要があります。

「コードは書けないが、本格的にデータ収集を自動化したい」 → Octoparseがベストな選択肢。ノーコードでありながら、動的サイト対応やスケジュール実行など、プロ級の機能が使えます。

スプレッドシートを使ったWebスクレイピングは便利ですが、実行前に必ず確認しておくべきポイントがあります。

Webスクレイピングを行う前に、対象サイトの robots.txt と 利用規約 を必ず確認しましょう。robots.txtは、サイトが検索エンジンやクローラーに対して「このページはアクセスしないで」と指示するためのファイルです。

確認方法は簡単で、対象サイトのドメインの末尾に /robots.txt を付けてアクセスするだけです(例: https://example.com/robots.txt )。

短時間に大量のリクエストを送ると、対象サイトのサーバーに過度な負荷をかけてしまいます。これは サービス妨害 とみなされる可能性もあるため、リクエストの間隔は 最低でも1秒以上 空けることが推奨されます。

スプレッドシートの関数はGoogleのサーバーを経由してリクエストを送るため、50個を超えるIMPORT関数を同時に使用する場合は特に注意が必要です。

スクレイピングで取得したデータの利用にも配慮が必要です。 個人的な調査や分析目的 であれば問題になるケースは少ないですが、取得データを 商用目的で再配布 する場合は、著作権法やデータベースの保護に関する法律に抵触する可能性があります。

スクレイピング自体は違法ではありませんが、「何を」「どのように」「何のために」取得するかによって判断が変わります。不安な場合は、対象サイトの運営者に事前確認を取ることをおすすめします。

参考: スクレイピングは違法?Webスクレイピングに関するよくある誤解

Q1. スプレッドシートでスクレイピングは無料でできますか?

はい、 Googleスプレッドシートの標準関数(IMPORTXML、IMPORTHTML)は完全に無料 で使えます。Googleアカウントさえあれば、追加のソフトウェアやサービス契約は不要です。ただし、関数には同時利用数や動的サイト非対応といった制限があるため、大規模な収集にはOctoparseの無料プランなど、専用ツールを併用するのが効率的です。

Q2. IMPORTXMLとIMPORTHTMLの違いは何ですか?

IMPORTXML関数は、XPathを使って任意の要素を指定して抽出する汎用的な関数 です。見出し、リンク、画像URLなど、ページ内のあらゆる要素をターゲットにできます。一方、 IMPORTHTML関数はテーブルやリストの取得に特化 しており、XPathの知識がなくても簡単に表データを丸ごと取り込めます。

Q3. スプレッドシートのスクレイピングで取得できないデータはありますか?

はい、いくつかの制限があります。 JavaScriptで動的に生成されるコンテンツ 、 ログインが必要なページ 、 画像やPDFの中のテキスト は、スプレッドシートの関数だけでは取得できません。これらのデータを取得するには、GASや、Octoparseのようなノーコードスクレイピングツールの活用が有効です。

スクレイピング自体は違法ではありません。 ただし、対象サイトの利用規約やrobots.txtの指示に従う必要があります。また、取得したデータの利用目的によっては著作権法に抵触する場合もあります。個人的な調査や分析であれば問題になるケースは少ないですが、商用利用の場合は事前に確認を取ることが推奨されます。日本では、総務省が消費者物価指数の算出にスクレイピングを活用しているなど、正当な用途で広く利用されている技術です。

Q5. スプレッドシートのスクレイピングとPythonのスクレイピング、どちらがいいですか?

目的とスキルによって異なります。 50件以下の静的データを手軽に取得したい なら、スプレッドシートの関数が最もシンプルです。 数百件のデータを定期的に自動収集したい ならGASが適しています。 数千件以上のデータや動的サイトの処理が必要 な場合はPythonが最適です。「プログラミングは書けないけど、大規模な収集がしたい」という方には、Octoparseのようなノーコードツールという選択肢もあります。

正直なところ、「スプレッドシートでスクレイピングしたい」と調べ始めた方の多くは、IMPORTXML関数を使ってみて「あれ、思ったより取れないな…」と壁にぶつかるパターンが多いです。

筆者自身も最初はIMPORTXML一択でやっていましたが、JavaScriptで動的に表示されるサイトには歯が立たないし、50個以上のセルに関数を入れるとシートが重くなって実用レベルではなくなりました。

そこで結論をまとめると、こんな感じになります。

「ちょっと試してみたい」レベル → IMPORTXML・IMPORTHTML関数で十分。無料だし5分で始められます。

「定期的にデータを自動収集したい」レベル → GASのトリガー機能を検討。ただしコードを書く必要あり。

「コードは書けないけど本格的にやりたい」レベル → Octoparseの自動識別機能が一番ラクです。設定もほぼ不要。

大事なのは、 最初から完璧な方法を選ぼうとしないこと です。まずIMPORTXML関数で試してみて、「これじゃ足りないな」と感じたタイミングでステップアップすれば、無駄なく最適な方法にたどり着けます。

スプレッドシートでのWebスクレイピングは、データ収集の第一歩として最適な方法です。ぜひ今日から試してみてください。

Octoparseを無料で試してみる → 無料ダウンロードはこちら

競合情報も営業リストも、ウェブデータをそのままExcel・CSV・Google Sheetsに出力

コード不要、誰でも今日から。クリック操作だけで必要な項目を自動抽出

Google Maps・食べログ・iタウンページ向けテンプレートで、リード獲得をすぐに開始

クラウドで毎日・毎週自動実行。大量取得でも安定して、競合動向を常に把握

MCP対応でAIエージェントと連携。収集データをAIに渡して分析・活用まで一気通貫

クレジットカード不要で無料スタート。世界600万人以上が選んだ信頼のツール

Recommended articles