セブンイレブンの住所をスクレイピング、GoogleMapAPIで緯度経度に変換して地図プロット

お盆に実家に帰ってもセブンイレブンはどこでもある。気になって調べると店舗数は15000以上、存在していない都道府県は沖縄だけのようです。今日はこのセブンイレブンの店舗を利用していきます。

やりたいこと

  1. セブンイレブンの住所情報をスクレイピング
  2. 住所情報をGoogleMapAPIで緯度経度へ変換
  3. Foliumで地図上にプロット

できるもの

用意するもの

Jupyter notebook
Folium
pandas
json
requests
matplotlib
BeautifulSoup
tqdm
GoogleMapのAPIアカウント

ライブラリ系は全てpipしてください。

つくっていく

1. セブンイレブンの住所情報をスクレイピング

コードみていただけるとわかるかと思うんですが、セブンの住所情報15000以上をインデックスしているサイトさんにアクセスしました。ループの間にスリープ入れてるんですが、実際にやってみるとすぐブロックくらいました(当たり前
ここからさらにUserAgent変えてみたりで全部取得を目指すこともできますが、500件くらいにしました。

続きを読む

[1964〜2016年]100m走シーズン記録変遷をグラフ化

ボルトがラストラン(100m x 4リレー)で足首をひねり失格。同じ年で頑張っているアスリートが次々と引退していく昨今で、少し物悲しさが残る結果になりましたね。今日は100m走を題材にPandas学習していきます。

やりたいこと

  1. 100m走シーズン記録のデータフレーム化
  2. 100m走シーズン記録のグラフ化
  3. (おまけ)100m走シーズン記録の動画を検索&インライン表示

できたもの

必要なもの

  • matplotlib
  • YouTubeAPIのアカウントKEY

1. 100m走シーズン記録のデータフレーム化


100m走が気になって、Wikipediaを読んでいたら100mのシーズン記録がtableで載ってました。こういった整形されたデータはデータフレームに変換しやすいので、やってみることにします。

続きを読む

GoogleAnalyticsにイベント仕込んでデータをAPI取得、Pandasを利用し広告価値評価を行う

やりたいこと

すごいニッチな内容。Webサイトに置いてECであれば、GoogleAnalyticsで[ページの価値]を[eコマース]設定で把握している会社も多いのではないかと思う。Criteoの自動最適化に使われているROASの概念もこれに通ずる。ただ、世の中にはECサイト型で収益をあげるものの他に、メディアとして情報を自サイトに掲載することで収益をあげるものもある。仮にこういった手法を掲載課金型モデルとして、メディア側はこの掲載課金の中にある、広告メニューの価値をどう推し量るべきか?

今回は、GoogleAnalyticsのPVをベースに、PVと広告メニュー売上を比較。どの広告メニューのPVが価値が高いのかを可視化したい。

最終的にできあがるもの

Jupyter Notebookのhtmlを最初に見た方が全体像がわかりやすいです。またGitHubにJupyter NotebookとCSVを公開しています。

全体の流れ

  1. GoogleTagManagerで広告メニュートラッキングを行う
  2. GoogleAnalytics APIにおいて対象データの取得
  3. 対象データの整形
  4. PVと広告メニュー売上を比較
  5. グラフ化

※社内のSQLを利用しない理由:会社にもよるが、メディア運営しているなら、各広告メニューによるPV推移はとってるだろうし、SQLで見れる。ただ、自社DBのSQL接続権限を持ってないというマーケターも多いように思う。そこでGoogleAnalyticsのAPIを使うことで、マーケターにとってデータ把握が容易になる。また、自社のPVカウントってボットを多量に含んでいるのであまり信頼の置けない数値だったりする。・・・と個人的に思っている。

必要なもの

  • Jupyter Notebook
  • matplotlib
  • google2pandas ※これはマジでいい
  • pandas
  • GoogleAnalyticsアカウント
  • GoogleTagManagerアカウント
  • GoogleCloudPlatformのちょっとした知識

1. GoogleTagManagerで広告メニュートラッキングを行う

仮にWebサイトが下記のようなディレクトリ構造になっている場合、課金対象になっているのは色の付いているところ。いわゆる詳細ページ。色合いがそれぞれの広告メニューで金額が違う。まずやりたいことは、この各広告メニューにおいてのPVの総和をカウント。

この総PVというものが、広告メニュー毎にGoogleAnalyticsで計測できていなければいけない。GoogleTagManagerにおいて、[変数]に格納して[GAイベント]としてGoogleAnalyticsに送信する方法を考えていく。

続きを読む

FoliumでE-statの人口増地域をヒートマップ表示

やりたいこと

日頃、GoogleAnalyticsや会社独自のデータを取り扱う機会が多い。そうした情報を地図上にプロット。営業・広告戦略立案に役立てたい。ということで冒頭に乗ってる地図情報がサンプル。ヒートマップにて表示されていて「なんか凄いんじゃないか?」感がでていて非常によい。できれば、こういうもので会社の偉い人らを立て続けに殴打したい。

用意するもの

Jupyter notebook
Folium
pandas
json
requests
matplotlib
EstatのAPIアカウント
https://www.e-stat.go.jp/api/apiuser/provisional/

ライブラリ系は全てpipしておけばよいです。

Githubにて

https://github.com/kerion546/folium_estat
今回のコードはここからダウンロードできます。

考えながら作っていく

1. E-statからのデータ取得

会社データ使うわけにはいかないので、オープンデータ探していたら、あるらしい。Estatというらしい。

「政府統計の総合窓口(e-Stat)」は、各府省が公表する統計データを一つにまとめ、統計データの検索をはじめとした、さまざまな機能を備えた政府統計のポータルサイトです。各府省が公表している統計表をExcel・CSV・PDF形式でダウンロードすることが可能です。

とのことなので、ここを使うことにした。APIではアカウント登録をすることで、JSONやXMLでGETすることができて簡単に情報が収集できる。今回は練習を兼ねてJSONでの取得を行った。

続きを読む
1 3 4 5