記事一覧

スタンプの日々の売り上げ情報を自動収集!

スタンプの日々の売上チェックって面倒ですよね!

Lineスタンプクリエイター活動休止中のurajoです♪

いよいよ今年もあとわずか。そして明日はクリスマスイブ!


何だか年末の空気が漂ってきましたね。
皆さん、年賀状の準備は終わってますか?!
最近は、もう年賀状とかかかないのですかね??
そんなあなた!このスタンプをどうぞ!!
http://line.me/S/sticker/1356804


なんてね~、笑!

その前にクリスマスですね。
街中、イルミネーションだらけ。クリスマス色ですね~。
まあ、関係ないけど;笑
クリスマスが暇なあなた!このスタンプをどうぞ!!
https://line.me/S/sticker/1724420


笑笑笑♪
はい、スタンプの宣伝は終わり。



今日は、スタンプの日々の売上情報を自動収集するようにしたので、ちょっと報告。
スタンプの売上って、毎日、どれくらい売れたか気になりますよね。
で、LINE creators marketにログインして、スタンプの売り上げ状況をチェックするのですが、
スタンプ毎の合計額しか出てなくて、一日の売上額がぱっと見だとわからない。
仕方ないから、チェックボックスをポチポチ押して、
最後にグラフエリアで日にちを選んで、その日に何が売れたかをチェックする、
ってことになるのですよ。

ここ1年以上、ず~っとこういう確認をしていたのですが、やっぱり面倒なんです。
スタンプの数が海外版を含めると100くらいあるので、
ポチポチ押すチェックボックスの数も結構な数になるし、
グラフ上で何が売れたのかを見るときも、リストが膨大になってみるのが大変。


何とかならないものかな~って、ずっと思ってたのですが、
先日、本屋の立ち読みでいい本を見つけました。
「Pythonによるスクレイピング&機械学習 開発テクニック」
という本なんです。
※リンクは張りませんので、気になる方はamazonさんに聞いてみてくださいね。

「スクレイピング」、これだ!!!
なんだそりゃ?って思った方、googleさんに聞いてみてくださいね。
これを使ったら、これまで人力でやっていた日々の売上チェックが自動でできるんじゃないか?!



そして、手元には、24時間動いているラズパイがある!!(※温度計測中;過去記事参照

まずは、本屋で本の内容をさらっとチェック(※すみません、買いません)
PhantomJSにSelenium???
なるほど。そんなのがあるのですね。



あとは、帰ってから、googleさんに聞いてみた。
ふむふむ、なるほど、いろんなことをやっている人がいますね。

いつものように、思い立ったら試してみるべし!
まずは、ラズパイに、PhantomJSとSeleniumをインストール!
ちゃんと記事に書いてくれている人がいますよ。いつものことながらありがたいです。感謝♪

↓↓この記事が大変参考になりました!
Raspberry Pi 3をセットアップしPhantomJSをインストールしてみる
http://tech.innovation.co.jp/2017/05/16/Phantom-J-S-on-Raspberry-Pi-3.html

↓↓コマンドでみると、たったこれだけですね。
$ sudo apt-get install libfontconfig1 libfreetype6 libpng12-0
$ curl -o /tmp/phantomjs -sSL https://github.com/fg2it/phantomjs-on-raspberry/releases/download/v2.1.1-wheezy-jessie/phantomjs
$ sudo mv /tmp/phantomjs /usr/local/bin/phantomjs
$ sudo chmod a+x /usr/local/bin/phantomjs

↓↓そしてSeleniumのインストールは、これだけ。
$ sudo pip install selenium

本当に便利な世の中になったものです。


さて、インストールも終わり、道具は揃いました。
ここから先は、試行錯誤のプログラミング。
いつものように、まずはやってみるべし!

↓↓こんな感じで自動的にデータ収集できるようになりました!
============================
def main():
url = "https://creator.line.me/ja/"

driver = webdriver.PhantomJS()
driver.get(url)

#右上のマイページをクリックしてログインページに移動
driver.find_element_by_link_text(u"マイページ").click()
time.sleep(2)

#ログインする
driver.find_element_by_id("id").send_keys("xxxxxxxxxxxx")
driver.find_element_by_id("passwd").send_keys("xxxxxxxxxxxxx")
driver.find_element_by_class_name('MdBtn03Login').click()
time.sleep(2)

#売上メニューを開く
driver.find_element_by_class_name('mdSB01Transfer').click()
time.sleep(2)

#売り上げレポートをクリックする
driver.find_element_by_link_text(u"売上レポート").click()
time.sleep(5)

#売上データを収集する
  (text_listにスタンプ名、val_listに売り上げ結果が入ります)
text_list = []
val_list = []
for i in driver.find_elements_by_css_selector('th.ng-binding'):
text = i.text
text_list.append(text)

for i in driver.find_elements_by_css_selector('td.ng-binding'):
val = i.text
val_list.append(val)

driver.quit()

#この後に、収集したデータをGoogle Driveのスプレッドシートに書き込む処理
 (省略)
============================
※xxxxxxxxxxxのところは、ログインIDとパスワードが入ります。
 やってみよう!という方の参考になればと...

集めたデータは、温湿度気圧データと同じように、
Google driveのスプレッドシートに格納するようにしました。
スプレッドシートにデータを入れる方法は、温湿度気圧データの時に確認済みなので、
特に困ることもなく完成しました!!(記載省略;面倒なので)

↓↓こんな感じでスプレッドシート上にデータが格納されるようになりました。

※都合の悪い場所は、モザイク処理しました。

ただ、このやり方だと、データ収集に行ったタイミングでのデータを読み込んでしまうので、
厳密に、ある特定の日の売り上げを調査することはできません。

仕方ないので、23時50分頃に自動起動するように設定して、最後の10分間はあきらめることにしました。
23時50分~24時までに売り上げがあった場合は、残念ながら、翌日の売上にカウントされます。
そんなに誤差は出ないだろうと思ってましたが、ちょっとだけ確認してみたら、31円の差があったりしますね。
まあ、細かいことはいいや。全体の傾向がわかりますからね。

そして、一旦、スプレッドシートに入ってしまえば、こっちものです。
あとはグラフにするのも、集計するのも簡単です。



はい、今回の報告は以上!

ぜひ、urajoのスタンプを観てください。気に入ったら、買ってください。
気に入らなくても買ってくれたらうれしいです(笑)
https://store.line.me/stickershop/author/43163/ja

関連記事

コメント

コメントの投稿

非公開コメント

ブログ村

プロフィール

urajo

Author:urajo
Line(ライン)のスタンプを作成している週末クリエイターのurajoです♪
イラストソフトがなくても、パワーポイントでスタンプが作れるんです。
クリエイターズスタンプって売れるのか?儲かるのか?もう遅いのか?
そんな疑問に応えるべく、自らスタンプ作成に挑戦しています!
スタンプの売上数、送信数、分配金などを報告していきます♪

訪問してくれた人

つぶやき♪

アクセスランキング

[ジャンルランキング]
趣味・実用
4590位
アクセスランキングを見る>>

[サブジャンルランキング]
手芸・ハンドクラフト
833位
アクセスランキングを見る>>

ブログ村

にほんブログ村 イラストブログへ にほんブログ村 イラストブログ キャラクターデザインへ
にほんブログ村 小遣いブログ お小遣い稼ぎで節約へ