この記事は GMOペパボ Advent Calendar 2019 - Qiita 21日目の記事です。本来であれば平成Ruby会議01に行った記事をアドベントカレンダーに残したかったのですが、20日に公開してしまったのでもう一つ書くことにしました。
20日目は Swift始めてからハマったこと時系列で全部書く - stone's throw でした。
Swarmと私
Swarm(旧Foursquare)という位置情報を取得してどこにいたかを記録するアプリがあります。私は新卒で入った会社の先輩からこのアプリの存在を教えてもらい、それから7年ほどチェックインをつけています。
今回はこのチェックインの履歴を取って今年のチェックインを振り返ろうと思います。突発的に思いついたので力技で。
履歴をとる
履歴を見るには
- Webサイトからスクレイピング
- IFTTT経由で記録した履歴を追う
と良さそうです。昔はFourSquareがチェックイン履歴をGoogle Calendarのカレンダーで提供していたのですが、公開が終了されています。代わりに、IFTTTで新しいチェックインがあったときにGoogle Calendarに記録するというAppletsを作っているのですが、これも深夜帯のチェックインが前日のチェックインとして扱われてしまったりと完璧ではないようです。今回はWebサイトからスクレイピングすることにしました。
また、今後も今回のようなふりかえりを簡単にするために、新規チェックインをスプレッドシートに記録するAppletsを作成しました。これで2020年のふりかえりの材料が増えたので見直すときが楽しみです。
ということで https://ja.swarmapp.com/history からチェックインの情報を拾ってきます。特に複雑でもないのですが、無限スクロールがあるのでブラウザから2019年のチェックインを全部出してからコンソールで以下のスクリプトを実行するとArrayのJSONが返ってきます。
console.log(Array.from( $$('.activity-content')).map( e => [ e.querySelector('.activity-checkinInfo-venue').innerText, e.querySelector('.timestamp').getAttribute('data-created-at'), e.querySelector('.activity-shout') ? e.querySelector('.activity-shout').innerText : null ] ))
返ってきた結果をコピーしたいので、コンソールのオブジェクトを右クリックして Store as global variable
を選択したのち、 copy(temp1)
をコンソールで実行します。あとは煮るなり焼くなりします。 timestampはUNIXtimeなので別途計算します。
ここまで書いてFoursquareの方にAPIが存在することに気がついたのですが、気にせずすすめます。こっちのほうが早いと判断したので良いのです。
集計する
2019年はこれまでに合計381チェックインしていました。
どこにチェックインしているか
2回以上チェックインしているVenueを並べました。
Venue | 回数 |
---|---|
東亜飯店 | 23 |
エムエムランド | 15 |
東京国際空港 (羽田空港) (HND) | 12 |
函館空港 (HKD) | 10 |
玉 赤備 | 10 |
和み酒房 げん | 6 |
越後屋 三太夫 | 6 |
タネマキ | 5 |
カレーハウス チリチリ | 5 |
川崎駅 | 4 |
ラウンドワンスタジアム 函館店 | 4 |
らーめん桑嶋 | 4 |
CINECITTA' | 4 |
和泉鮨 桜丘店 | 3 |
ハノイのホイさん | 3 |
カレーショップ初恋 | 3 |
ガパオ食堂 | 3 |
RubyKaigi 2019 | 3 |
JR 新宿駅 | 3 |
野菜を食べるカレー camp express | 2 |
北沢カレー食堂 茄子おやじ | 2 |
福岡空港 (FUK) | 2 |
舞浜駅 | 2 |
舞浜アンフィシアター | 2 |
日本オラクル株式会社 本社 | 2 |
南平台 ラウンジ | 2 |
東京電機大学 東京千住キャンパス | 2 |
庄や 渋谷南口店 | 2 |
肴菜家 おがわ | 2 |
幸せのはし | 2 |
下北沢駅 | 2 |
沖縄そば かんから食堂 | 2 |
横浜駅 | 2 |
奥芝商店 函館店 | 2 |
ベルマーレ・カフェ | 2 |
バスタ新宿 | 2 |
ネパリコ | 2 |
つけ麺屋やすべえ | 2 |
すしざんまい | 2 |
シダックス 函館五稜郭クラブ | 2 |
カンティプール | 2 |
うどん まる久 | 2 |
Suage | 2 |
BEER DINING The Griffon | 2 |
お昼によく行く東亜飯店がトップでした。東亜飯店は社内でもファンが多く、思いつきで 社内Slackに #東亜飯店
チャンネルを作ったらその当日に閉店情報が流れてきて唖然としました。二度と店名でチャンネルは作りません。渋谷のお昼の話をすると、 越後屋 三太夫
の定食が好きです。
それと今年は私用やお仕事で羽田と函館を5往復していたみたいです。自分でもびっくり。
チェックインのコメントに「はい」と何回書いているか
Twitterではい (from:uvb_76)
で検索したほうが早そうですが、チェックインから発言回数をしらべます。以下の場所のチェックインで「はい」と発言していました。
- 和み酒房 げん
- 東京国際空港 (羽田空港) (HND)
- 東亜飯店
- 中華そば 櫓屋
- 居酒屋「三代目」鳥メロ 函館五稜郭店
- ラウンドワン 福岡天神店
- デザイン・フェスタ・ギャラリー原宿EAST
- ソアリン:ファンタスティック・フライト
- すしざんまい
- BEER DINING The Griffon
というわけで「はい」の合計は10回です。ソアリン:ファンタスティック・フライトは早起きして舞浜に行く価値があるのでみんな乗ってください。
その他コメント
挨拶シリーズ
どこかしらに初めて乗り込んで行くときに多くこの発言が見て取れます。
人生どうでも
関心を示している
入って中見て関心しているチェックインにつけられます。
終わりに
次はAPIからチェックインの地図を起こしたいですね。
22日目はのりたろうさんです。ご期待ください。
参考
DevToolでいい感じに要素をとったりコピーするときに参考にしました。