【スプレッドシート】F1公式サイトからドライバーズランキングを取得してみる その2【GAS、関数】

というわけで、前回に続いてのスプレッドシートでF1ドライバーズランキングを取得してみる、です。

【スプレッドシート】F1公式サイトからドライバーズランキングを取得してみる その1【GAS、関数】
いよいよF1シーズンも近づいてきました…と書くと気が早い感じがしますが、近年のF1はシーズンも長くて、終わったらすぐにテスト、年が明...

ぜひ、前回からご覧いただけるとありがたいです(*’ω’*)

スプレッドシートでのシート名取得まで完了していましたね。

スポンサーリンク

文字の結合はCONCATENATE~URL生成

この関数自体はExcelにもあるので、知っている人もいるかなと思います。

使い方も迷うことはないと思います。

=concatena(”abcd”,”1234”)

といった感じに書いてあげれば

abcd1234

とセルに表示されます。

ということで、これを使ってURLを生成してみたいと思います。

A1セルに元になるURLを記入してあるので、これに西暦とdrivers.htmlを追加してあげればOK!

=CONCATENATE(a1,SheetName(),”/drivers.html/”)

これをD1セルに入力してあげれば…

うん、URLもバッチリ生成できました(*’ω’*)

F1公式サイトでXMLを確認してセット

生成したURLを踏んで実際に飛べるか確認しつつ、取り出す情報のXMLを確認してみましょう。

飛ぶことができたなら、取り出したい情報(例では名前部分)で右クリック→検証をクリックします(chromeの場合です)。

※ブラウザによってはやり方が違うかもしれません、それぞれのブラウザのいわゆる「デベロッパーツール」を立ち上げてください

するとタグはspanでクラス名がhide-for-tabletで取り出せそうです。

ただ、名前はファーストネームとファミリーネームがあるので、その下のhide-for-mobileも使う必要がありそう。

xml的には「//span[@class=’hide-for-tablet’]」と「//span[@class=’hide-for-mobile’]」になりそうですね。

IMPORTXMLで実際に書くと

=importxml(d1,”//span[@class=’hide-for-tablet’]”)

=importxml(d1,”//span[@class=’hide-for-mobile’]”)

これをセルに記入してみると…(今回はB4、C4に入れてみてます)

おぉ、あっさり取得! これは手軽で簡単でイイですね(*’ω’*)

これを先ほどの文字列結合CONCATENATEでくっつけてあげれば、ドライバー名は完璧。

D4のセルに

=CONCATENATE(B4,” “,C4)

と入れて、オートフィルすると…

問題なさそうですね~!

この手順でチーム名とポイントも調べてみましょう~

XMLはぞれぞれ

//a[@class=’grey semi-bold uppercase ArchiveLink’]

//td[@class=’dark bold’]

という感じでした。

みなさん、あってましたか?(*´Д`)

すべてをスプレッドシートに記入してみる

調べたらその情報を基にIMPORTXMLを記述してみましょう!

場所はE4、F4でやってみてます(*’ω’*)

おほっ!

これはもうお手軽でいいですね!

では、2017のタブにも移植してみましょう~!

上部の4行分を移植すれば、あとはタブ名さえ2017ならあっさりと取得できるはず…

素敵すぎる♪

まとめ

この手軽さは正直ぴっくりですね!

これぐらい

  • さほど知識を必要としないで
  • 誰でも簡単に確認できる

という環境は昔にはなかったですもん~いい時代だと思います(*’ω’*)

何かの参考になれば幸いです!

公開してみます

https://docs.google.com/spreadsheets/d/e/2PACX-1vRLdHOS4Cb1HoRLtyFs83gCYVTN6NfyFaiK058tmwxQ4r2mOS2wXhIBsPzuN_Tt3u099IAHaEb99prN/pub?output=ods

初めて公開してみるので、どういう状態になるのかわからないですが…みてみてくださいな