Googleスプレッドシートを使えば、外部ウェブサイトから簡単にデータを取得できます。今回のブログではその手順を一つ一つ丁寧に説明します。さらに、豊富な表や図を用いて視認性も向上させています。それでは一緒にGoogleスプレッドシートの新たな可能性を探しましょう!
Googleスプレッドシートとは?
まず始めに、Googleスプレッドシートについて簡単に説明します。Googleスプレッドシートはクラウド上で利用できる表計算ツールで、Microsoft Excelと似たような機能を持っています。共有機能やオンラインでの編集など、便利な機能が多くあります。
IMPORTXMLとIMPORTHTMLの紹介
Googleスプレッドシートには、Webサイトからデータを取り込むための関数があります。その中でも「IMPORTXML」と「IMPORTHTML」は特に重要です。
IMPORTXML
: この関数はウェブサイトのURLとXPathクエリを引数に取り、該当するXML構造をスプレッドシートにインポートします。IMPORTHTML
: この関数はウェブサイトのURL、”table”または”list”、そして何番目の表かリストかを引数に取り、そのHTML要素をスプレッドシートにインポートします。
IMPORTXMLの使用方法
まずはIMPORTXML
の使用方法について説明します。以下のステップに従ってください。
- A1セルに取得したいウェブサイトのURLを入力します。
- B1セルに
=IMPORTXML(A1, "XPathクエリ")
を入力します。 - “XPathクエリ”の部分を取得したいデータのXPathに書き換えます。
たとえば、ウェブサイトから全てのリンクを取得するには、XPathクエリに//a/@href
を使用します。
IMPORTHTMLの使用方法
次に、IMPORTHTML
の使用方法について説明します。以下のステップに従ってください。
- A1セルに取得したいウェブサイトのURLを入力します。
- B1セルに
=IMPORTHTML(A1, "table", 1)
を入力します。
この例では、指定したウェブサイトの最初の表を取得します。”table”の代わりに”list”を使用すると、
ウェブサイトの最初のリストを取得します。また、1の部分を変更することで、異なる表やリストを取得することが可能です。
XPathとは何か
この段階で、「XPathクエリって何?」と疑問に思う方もいらっしゃるでしょう。XPathはXMLパス言語の略で、XML文書の部分集合を指定するために使用されます。XMLはウェブページを構成する一つの形式なので、XPathを使うとウェブページの特定の部分をピンポイントで取り出すことが可能です。
プラクティカルな例
では、これらの理論を実際の例で試してみましょう。ここでは、あるウェブサイトの全ての見出しを取得してみます。
- まず、A1セルに目的のウェブサイトのURLを入力します。
- 次に、B1セルに
=IMPORTXML(A1, "//h2")
を入力します。
これにより、指定したウェブサイトの全てのH2見出し(//h2)が取得され、B列に表示されます。
注意点とトラブルシューティング
しかし、全てが順調に行くとは限りません。時折、IMPORTXMLやIMPORTHTMLがエラーを返すことがあります。それが起こった時には以下の点をチェックしてみてください:
- ウェブサイトが公開されていて、ログインが不要であることを確認してください。これらの関数は、ログインが必要なページやプライベートなページからデータを取得することはできません。
- ウェブサイトがHTMLまたはXML形式で書かれていることを確認してください。これら以外の形式では、関数が正常に動作しない場合があります。
- XPathまたはHTML構造が正しいことを確認してください。間違ったXPathクエリやHTML構造を指定すると、関数は空白の結果またはエラーを返します。