GoogleスプレッドシートのIMPORTHTML関数でWebサイトの表やリストを取得する
GoogleスプレッドシートにはIMPORTHTMLというめちゃくちゃ便利な関数があって、Webサイトにある表やリストを抽出してスプレッドシートに展開してくれます。こういったスクレイピング機能はWebアプリならではで、ローカル環境に軸足のあるExcelではなかなか難しい機能です。なくはないけど関数で一発取得ってわけにはいきません。
今回はIMPORTHTML関数について簡単に紹介します。
今回取得するWebサイト
今回取得するWebサイトはYahooファイナンスの株価の表(下図矢印)にします。
IMPORTHTML関数の使い方
IMPORTHTML関数の使い方は以下のとおりです。
IMPORTHTML(URL, クエリ, 指数)
- URL – 検証するページの URL です。プロトコル(http:// など)も含めます。
- クエリ – 目的のデータを含むアイテムの種類を “list”(リスト)か “table”(表)で指定します。
- 指数 – 対象の表またはリストについて、HTML ソース内で定義されている番号で 1 から順に指定します。
Yahooファイナンス情報を取得してみよう
それでは早速IMPORTHTML関数を使ってみましょう。上記解説の通り以下の構文をA1セルに入力してみました。
=IMPORTHTML("https://stocks.finance.yahoo.co.jp/stocks/history/?code=998407.O", "table", 1)
入力してEnterキーを押すと数秒くらい「Loading…」と現れます。
結果がこちら。残念ながら目的の表は得られませんでした。
サイト内のどこを読みに行ったかというと下図の赤丸のところです。ここもTableタグを使って表していたようです。
なので”次のテーブル”を読みに行くために第三引数を「2」に変えてみます。
=IMPORTHTML("https://stocks.finance.yahoo.co.jp/stocks/history/?code=998407.O", "table", 2)
すると今度は目的の表をゲットすることができました。赤丸で示したとおり2番めのテーブルだったようです。
スポンサーリンク