おいっす。ディエンドっす。
あまりに久々のブログだったので気持ちだけが先行してしまい(爆)
ワタクシが解決したい問題をうまくブログに記載できていませんでした。
遊べるお店地図化について、再度整理。
現在の公式ホームページにある、「遊べるお店」でも、お店ごとにMAPボタンがあり、
そこをクリックすると、Googleマップが起動し、そのお店の場所がわかるようになっています(あ〜そんさん、情報あざっす)
今回、ワタクシが解決したいのは、ある特定の場所(例:自分の現在地)から、
近い筐体はどこか?とか、歩いて行けるお店は何店舗あるか?とか、をパッと
見てわかるようにしたい、という問題。
そのために、全店舗をGoogleマイマップ上に表示したら便利そう、ってな感じです。
まぁ、こんなニーズほとんど無いのかもしれないけど(笑)
ということで、
自らのスキルはまったく考慮せず、ライジング公式ページの補完ツールをつくり
出しましたが、、、、、、、
予想どおり、最初っから躓いております(爆)
Webページから、データ抽出することをWebスクレイピングって言うらしい
のですが、どうやってやるのかってとこからスタート。
以下、ワタクシの調査メモ。
いろいろ調べていくと、Pythonとか使ってやるのが一般的っぽい。
でも、Python使う環境整えるのとか面倒なので、もっと楽な手段をググる。
そうすると、Googleスプレッドシートでできそうなことが判明。
IMPORTXMLって関数使えば、いけるっぽい。。。。。。。。。。。。
なんですが、サーバに負荷がかかるっぽくて、あまりよろしくない雰囲気。
しかも、IMPORTXMLだけじゃ個数不定の繰り返しとか向いていなさそう(よくわかっていない(^_^;))
ということで、さらにググってみると、GAS(Google Apps Script)で柔軟に
対応出来そう。
この方向で進んでみるか。
次は、「遊べるお店」のデータ構造。
アクセスするURLは下記のような感じ。
"https://www.ganbarizing.com/shop/list.php?p=1&pref=01"
pref=?? ってのが都道府県を指している様子。
北海道が01、東京都が13、神奈川県が14となっていて、01〜47なのだろうと予想。
p=?ってのはページ番号。
例えば、北海道を検索するとお店のリストが1〜12ページ出力される。
その何ページ目を表示するかというパラメータ。
となると、データ抽出のための疑似コードは下記のような感じかなぁ。
for (var i = 1; i <= 47; i++) { //47都道府県分繰り返す
var p = 1
do {
都道府県[i]のpページ目のデータ取得;
if (取得結果 != null) { //店舗データがある場合
店舗データを抽出; //店舗データ数分繰り返す
p++;
}
} while (取得結果 != null);
}
つづく