スプレッドシートのIMPORTXML関数とは
IMPORTXML関数は、XML、HTML、CSV、TSV、RSSフィード、ATOMフィードなどの構造化データを直接スプレッドシートにインポートする関数です。この関数を使用することで、ウェブページから特定のデータを抽出し、リアルタイムで自動的にスプレッドシートに表示できます。
基本構文はIMPORTXML(url, xpath_query)
となっており、第一引数にデータ取得元のURL、第二引数にXPathクエリを指定します。XPathクエリによって、取得したいデータの場所を正確に指定し、必要な情報のみを効率的に抽出することが可能になります。
【PR】プログラミングや生成AIを無料で学べる「コードキャンプフリー」
URLパラメーターの指定方法と注意点
URLの値は引用符で囲むか、適切なテキストが含まれているセル参照である必要があり、http://などのプロトコルを含む完全な形式で指定します。例えば、ウィキペディアのページからリンクを取得する場合は、次のような記述になります。
=IMPORTXML("https://ja.wikipedia.org/wiki/東京", "//a/@href")
セル参照を使用する場合は、A1セルにURLを入力し、B1セルにXPathクエリを入力して、関数では=IMPORTXML(A1,B1)
のように記述できます。この方法により、URLやクエリを動的に変更することができ、より柔軟なデータ取得が実現します。
URLパラメーターには、HTTPSプロトコルを使用することが推奨され、セキュリティ上の理由から多くのサイトでHTTPアクセスが制限されています。また、一部のウェブサイトではボット対策やアクセス制限により、IMPORTXML関数でのデータ取得ができない場合があることに注意が必要です。
XPathクエリの記述方法と実践的な活用
XPathクエリは構造化データに対して実行されるクエリで、取得したいデータの具体的な場所を指定します。基本的なXPath記法として、「//」は階層を問わず要素を検索し、「@」は属性値を取得することを意味しています。
=IMPORTXML("https://example.com", "//table//tr/td[1]")
上記の例では、ウェブページ内の全てのテーブルから、各行の最初の列データを取得しています。XPathでは角括弧内の数字でn番目の要素を指定でき、テキスト内容を取得する場合はtext()
関数を使用できます。
より高度なXPathクエリとして、特定の属性やテキスト内容を条件にした絞り込みも可能です。例えば、//div[@class='content']//p
では、クラス名が「content」のdiv要素内にある全てのpタグを取得できます。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。
ITやプログラミングに関するコラム
- Canvaとは?使い方やアカウント登録などを初心者向けに解説
- git configで設定情報を確認・表示する方法
- 「Pythonはやめとけ」と言われる理由と学習するメリット
- Ubuntuのversionを確認する方法
- Geminiで画像を生成する方法|ChatGPTとの比較結果も紹介