スプレッドシートでウェブサイトの情報を取得する方法

ウェブ上のデータを引っ張ってこれる IMPORTXML
スプレッドシートをいじっていて,例えば「今日現在でポケモン GO に実装されてるポケモンの種類の総数をセルに表示したい!」みたいなときってあるでしょ.そういうときは IMPORTXML
関数を使ってこんな数式を書けばいい.
=value(regexextract(IMPORTXML($G$2,$G$4),"\d+"))
G2
には参考サイトの URL が,G4
にはサイト内に書かれたポケモンの総数の XPath が,それぞれ書かれてます.具体的には下表の通り.
セル | 意味 | 値 |
---|---|---|
G2 | 出典 URL | https://pokemongo.gamewith.jp/article/show/48024 |
G4 | 実装数 XPath | //*[@id='auto-convert-article-outline-h3-3'] |
実際にはこの XPath が指してる箇所は「国内で入手不可能なポケモンを合わせると694匹」みたいな文章 (2021年9月10日現在) だから,さっきの数式では REGEXEXTRACT
関数で数字部分のみを抽出してから,VALUE
関数で文字列になってる数字を,実際の数値の型にキャストするんだね (キャストって言うのかな…?)

それにしてもこのサイトを更新してくださっている方,ありがとうございます!まとまった情報って,意外と英語で検索してもなくて,使いやすいのが唯一このサイトだった!助かります!
ポケモンマスターへの道のりの56%
何を思ったか,2021年8月11日から急にポケゴーの熱が再燃したのよ.ポケモンマスターになってやる!という感じ.図鑑の画面に何種類のポケモンを捕まえたのかの統計が書かれてるのをそれまで知らなかったんだけど,ここに書かれてるなら図鑑の完成度を定量的に記録することができると思ったんです!
というわけで適当な頻度で捕まえたポケモンの種類の数をツイートして記録してました.さらにそれをグラフに書いてまとめてみたりしてね.下のグラフは8月11日から9月9日までの29日間 (ほぼ1ヶ月間) のポケモン数の推移を示してる.捕まえた数が245匹から395匹まで,一気に150匹も増えました!凄いね!1日5匹も新しいポケモンをゲットしてるペース!

で,思ったわけよ,「結局ポケモンマスターになるには全部で何匹要るの?」と.調べてみたら,さっきも載せたサイトに「(2021年9月8日現在で) 実装されてるのは694匹」と書かれてた.というわけで僕はポケモンマスターへの道のりの57%地点に立っているんだなあということがわかったわけです.まだまだ道のりは長そうだね.
でも面倒なことに,実装されるポケモンの総数はこれからも折々で増えていくでしょ.だからスプレッドシート内に直接 694 って固定的に書いちゃうよりは,毎回あのサイトから最新の情報を取得するようにしたほうがいいと思ったんだよね.そこで IMPORTXML
関数が登場するわけです.