(グーグルスプレッドシート)importxml関数でWEBページの情報を取得しよう(ウェブスクレイピング)

目次

importxml関数とは

グーグルスプレッドはWEBアプリだけあって、WEBの情報を取り扱うのに長けたExcelにはない関数がたくさんあります。その中の代表格がimportxml関数でしょう。

公式ページによればimportxml関数は、公式ページでは以下の説明となっています。

XML、HTML、CSV、TSV、RSS フィード、Atom XML フィードなど、さまざまな種類の構造化データからデータをインポートします。

これだけではよくわかりませんが、簡単にいうと

WEB上のデータの指定した1部分のデータをセルに表示する関数

と表現する事ができます。

  

実際の使い方

使い方は非常にシンプルです。

=IMPORTXML(URL, XPath)

=IMPORTXML(A1,"//title")

XPathとはWebページを構成するタグの事です。タイトルは例です。

 

Xpathの入手

XML に準拠した文書の特定の部分を指定する言語構文というのがXpathの定義です。

具体的に部分を示すとXpathが出てくるようにならないかなー。というのが次に出てくる感想なのですが、 Chromeであれば簡単にXpathを調べることができます。

Chromeにて取得したい場所を右クリックして”要素を検証”を選択。

するとブラウザ内にhtmlの記述の該当部分が現れるので、現れたら右クリックして"Copy xpath"を選択。

これでなんと簡単にxpathがコピーできてしまうのです。楽楽ぅぅ。

f:id:kazooloop:20170216134349j:plain

 

VBAでも要素を取得できるのですが、特定の場所という意味ではxPathを指定出来るスプレッドシートの方が取得が簡単ですので、こちらを選ぶのも選択肢の一つだと思います。