Googleスプレッドシートの関数を複数使ってWebサイトのスクレイピング結果を表にまとめてみた

Googleスプレッドシートの関数を複数使ってWebサイトのスクレイピング結果を表にまとめてみた

~OBON編~

【やりたいこと】

お手軽に市場やサービスの調査をしたい!

そんなに時間もかけたくない!

何よりスプレッドシートの関数使ってみたい!

【できたもの】

調査対象のURLからテーブル形式のデータを抽出して表にまとめてくれるやつ。

サンプルとして「全国法人情報データベース」の弊社ページを対象にしてみました。

gas-1

式は以下な感じ。

\=TRANSPOSE(INDEX(IMPORTHTML(\[対象URL\],”table”,\[何個目のtableか\]),\[対象行\],\[対象列\]))

【解説】

・IMPORTHTML(https://support.google.com/docs/answer/3093339?hl=ja)

対象のURLからデータを取ってきてくれます。データ形式をlistかtableか指定するのですが、今回はtableで、そのサイト上最初のtableです。

\=IMPORTHTML(対象URL,”table”,0)

これだけ書くとtableの状態でデータが取れます。

これだと比較とかソートとかしにくいので、もう少し加工していきましょう。

gas-2

・INDEX(https://support.google.com/docs/answer/3098242?hl=ja)

INDEX関数を使って「項目」の列でなく「内容」の列を取得しましょう。

\=INDEX(IMPORTHTML(対象URL,”table”,0),0,2)

これで2列目の内容をマルッと取ってくることができます。

gas-3

・TRANSPOSE(https://support.google.com/docs/answer/3094262?hl=ja)

比較したりする時に、同じ行にデータが並んでいて欲しいので、TRANSPOSE関数で行と列を入れ替えてあげます。

gas-4

うん!

こちらからは以上です!