イクメンデータアナリストのブログ

コンサルのこと/Pythonのこと/Tableauのこと などを備忘録的に書いていこうと思います。

【Pythonでスクレイピング】画面遷移のやり方(チェックボタン)

こんにちはbudouです!

今回はPythonを使ったスクレイピングに関して書いていきたいと思います。

今回やりたいのは... f:id:budounomizu:20201025025829p:plain ページのチェックボックスにチェックを入れてから次のページに遷移したいです。

これを自動でやらせたいと思います。

はじめに

前回の記事にも合ったように、 「前回のスクレイピング記事引用」 スクレイピングに必要な要素は下記、

  1. 必要な情報があるwebページまでたどり着く。
  2. 必要な情報があるwebページまでたどり着いたら、そのページから必要な情報を取り込んでくる。

今回は1.必要な情報があるwebページまでたどり着く。
こちらの中でも
チェックボックスなどにチェックをして条件を絞り込み、絞り込んだ結果を「検索」や「送信」して結果を検索するようなページ。
の遷移のやり方を実践します。

前回と同じく、

  • "遷移前のページ"の「どこになんのアクションすれば良いのか」を理解する。
  • 「どこにアクションすれば良いか」を知ったのちに必要なコーディング。 この手順で見ていきます。

必要な情報があるwebページまでたどり着くときに必要なアプローチ3つ

  1. フォームに何かを記入して、「検索」や「送信」ボタンを押して結果を検索するようなページ。
  2. ページ遷移のためにクリックする必要があるようなページ。
  3. チェックボックスなどにチェックをして条件を絞り込み、絞り込んだ結果を「検索」や「送信」して結果を検索するようなページ。 ← ここで説明するのはこれです。

では始めていきます。

"遷移前のページ"の「どこになんのアクションをすれば良いのか」を理解する。

今回「ページ遷移のためにクリックする必要があるようなページ」ということで、 サンプルとしてsuumoのサイトで試したいと思います。

まず、画面の適当なところで右クリックして「検証」を開きます。(F12キー押下でも良いです)

f:id:budounomizu:20201025030026p:plain 画面の目的地がハイライトされているところを目指してhtmlをどんどん開いていき、 こんな感じで最終地点が見えるまで辿りましょう。

このなかにある

<a class="ui-btn ui-btn--search btn--large js-searchBtn" href="javascript:void(0)">

が第一の目的地となります。 今回やりたいのは、ここに✓を入れた後に、検索ボタンを押すことです。

f:id:budounomizu:20201025030051p:plain このなかにある

<a href="javascript:void(0);" class="ui-btn ui-btn--small ui-btn--full ui-btn--search js-btCondSearch">この条件で検索する</a>

が第二の目的地になります。 ここをクリックします。

「どこにアクションすれば良いか」を知ったのちに必要なコーディング。

目的地がはっきりしましたので、コーディングしていきましょう。

seleniumでブラウザを動かします。

ライブラリインポート

import time
from selenium import webdriver

第一の目的地から一番近いid属性のポイントからxpathで辿ります。

driver = webdriver.Chrome()
driver.get('https://suumo.jp/chukoikkodate/kanagawa/city/')

search_path_1 = '//tr[@id="js-sa01-panel"]/td[@class="searchtable-box"]/div[@class="searchitem"]/\
    ul[@class="searchitem-list"]/li[1]/input[@type="checkbox"]'
driver.find_element_by_xpath(search_path_1).click()

これでチェックが入ってますね!

ここから第二の目的地に行きます。

search_path_2 = "//div[@id='js-searchpanel']/div[@class='searchpanel-inner']/div[@class='searchpanel-box']/\
    a[@class='ui-btn ui-btn--serachpanel searchpanel-box-btn js-searchBtn']"
driver.find_element_by_xpath(search_path_2).click()

これでページが遷移出来ているかと思います。

おわりに

「必要な情報があるwebページまでたどり着く」 ために必要な要素

1.フォームに何かを記入して、「検索」や「送信」ボタンを押して結果を検索するようなページ。

www.budounomizu.work

2.ページ遷移のためにクリックする必要があるようなページ。

www.budounomizu.work

3.チェックボックスなどにチェックをして条件を絞り込み、絞り込んだ結果を「検索」や「送信」して結果を検索するようなページ。

この3番に関してコードともに紹介させて頂きました。

以上、よろしくお願いします。

【Pythonでスクレイピング】画面遷移のやり方(ボタンクリック)

こんにちはbudouです!

今回はPythonを使ったスクレイピングに関して書いていきたいと思います。

f:id:budounomizu:20201017092718p:plain f:id:budounomizu:20201017092742p:plain

このページのボタンを押して次のページに遷移したいです。

これを自動でやらせたいと思います。

目次です。

はじめに

前回の記事にも合ったように、 「前回のスクレイピング記事引用」 スクレイピングに必要な要素は下記、

  1. 必要な情報があるwebページまでたどり着く。
  2. 必要な情報があるwebページまでたどり着いたら、そのページから必要な情報を取り込んでくる。

今回は1.必要な情報があるwebページまでたどり着く。
こちらの中でも
ページ遷移のためにクリックする必要があるようなページ。
これをします。

前回と同じく、

  • "遷移前のページ"の「どこになんのアクションすれば良いのか」を理解する。
  • 「どこにアクションすれば良いか」を知ったのちに必要なコーディング。 この手順で見ていきます。

必要な情報があるwebページまでたどり着くときに必要なアプローチ3つ

  1. フォームに何かを記入して、「検索」や「送信」ボタンを押して結果を検索するようなページ。
  2. ページ遷移のためにクリックする必要があるようなページ。 ← ここで説明するのはこれです。
  3. チェックボックスなどにチェックをして条件を絞り込み、絞り込んだ結果を「検索」や「送信」して結果を検索するようなページ。

では始めていきます。

"遷移前のページ"の「どこになんのアクションをすれば良いのか」を理解する。

今回「ページ遷移のためにクリックする必要があるようなページ」ということで、 サンプルとしてsuumoのサイトで試したいと思います。

まず、画面の適当なところで右クリックして「検証」を開きます。(F12キー押下でも良いです)

f:id:budounomizu:20201017093512p:plain 画面の目的地がハイライトされているところを目指してhtmlをどんどん開いていき、 こんな感じで最終地点が見えるまで辿りましょう。

このなかにある

<a class="ui-btn ui-btn--search btn--large js-searchBtn" href="javascript:void(0)">

が目的地となります。

「どこにアクションすれば良いか」を知ったのちに必要なコーディング。

目的地がはっきりしましたので、コーディングしていきましょう。

seleniumでブラウザを動かします。

ライブラリと、ドライバー立ち上げ。

from selenium import webdriver
driver = webdriver.Chrome(executable_path='chromedriver.exe')

始めに、目的地となる地点の上にあるid属性を探すようにしましょう。 (若しくは他にもポイントなると地点を探すことが出来ればそれでももちろん良い)

driver = webdriver.Chrome()
driver.get('https://suumo.jp/chukoikkodate/kanagawa/city/')

serch_path = '//span[@id="js-shiborikomiPanel"]'
driver.find_element_by_xpath(serch_path)

こんな感じで目的にに一番近いid属性を指定してみてちゃんと見つけられていれば... そこからスタートしましょう!

因みに、上手くパスが見つからなかったりするとこんなエラーが出るはず。 f:id:budounomizu:20201017093724p:plain

エラーが出なければ、そこから下までつないでいきましょう。 目的地まで辿れたら、実行時に.click()をします。 ↓はxpathで書いております。(私は分かりやすいのでxpathが好きです。)

serch_path = '//span[@id="js-shiborikomiPanel"]/div[@class="searchbox"]/a[@class="ui-btn ui-btn--search btn--large js-searchBtn"]'
driver.find_element_by_xpath(serch_path).click()

おわりに

「必要な情報があるwebページまでたどり着く」 ために必要な要素

 1. フォームに何かを記入して、「検索」や「送信」ボタンを押して結果を検索するようなページ。

www.budounomizu.work

 2. ページ遷移のためにクリックする必要があるようなページ。
 3. チェックボックスなどにチェックをして条件を絞り込み、絞り込んだ結果を「検索」や「送信」して結果を検索するようなページ。

この2番に関してコードともに紹介させて頂きました。

3番も次の記事で書いていこうと思ってます。

以上、よろしくお願いします。

【Pythonでスクレイピング】画面遷移のやり方(フォームに記入して送信)

こんにちはbudouです!

今回はPythonを使ったスクレイピングに関して書いていきたいと思います。

whotwi検索画面
whotwi検索画面

特定の検索ワードで検索実施→結果画面に行く→戻って別の検索ワードで検索実施→...

whotwi検索結果画面
whotwi検索結果画面

これを自動でやらせたいと思います。

はじめに

スクレイピングはデータ分析をしていたり、何かサービスを考えようとしていると必要な場面が出てくるものと思います。

webスクレイピングで必要な要素は下記。

  1. 必要な情報があるwebページまでたどり着く。
  2. 必要な情報があるwebページまでたどり着いたら、そのページから必要な情報を取り込んでくる。

今回は1.必要な情報があるwebページまでたどり着く。 こちらのやり方のイメージを持てることが目標です。

結論、必要なことは

  • "遷移前のページ"の「どこになんのアクションすれば良いのか」を理解する。
  • 「どこにアクションすれば良いか」を知ったのちに必要なコーディング。

これだけです。

必要な情報があるwebページまでたどり着くときに必要なアプローチ3つ

  1. フォームに何かを記入して、「検索」や「送信」ボタンを押して結果を検索するようなページ。 ← ここで説明するのはこれです。
  2. ページ遷移のためにクリックする必要があるようなページ。
  3. チェックボックスなどにチェックをして条件を絞り込み、絞り込んだ結果を「検索」や「送信」して結果を検索するようなページ。

では始めていきます。

"遷移前のページ"の「どこになんのアクションをすれば良いのか」を理解する。

今回「フォームに何かを記入して、「検索」や「送信」ボタンを押して結果を検索するようなページ」ということで、 サンプルとしてwhotwiのサイトで試したいと思います。

whotwiのサイトでは、TwitterIDを検索することで、そのIDの方の情報がいくつかの観点で集計されたものを見ることが出来るTwitter分析する際に便利なサイトです。

まず、画面の適当なところで右クリックして「検証」を開きます。(F12キー押下でも良いです)

chrome開発ツール
chrome開発ツール
画面の目的地がハイライトされているところを目指してhtmlをどんどん開いていきましょう。

chrome開発ツール
chrome開発ツール
こんな感じで最終地点が見えるまで辿りましょう。

このなかにある

<input type="text" class="form-control input-lg" id="index_search_input" name="screen_name" placeholder="Twitter ID">

が目的地となります。

「どこにアクションすれば良いか」を知ったのちに必要なコーディング。

目的地がはっきりしましたので、コーディングしていきましょう。

今回はseleniumでブラウザを動かします。

これらのライブラリを使います。

import requests
import time
from selenium import webdriver

ロームのドライバーをダウンロードします。使用しているブラウザのバージョンと、ドライバーのバージョンを合わせましょう。

スクレイピングでは到達したい目的地がはっきりとしたらあとはそこに「どうやって辿り着くか」それだけです。 細かい辿り方などは、 https://qiita.com/memakura/items/20a02161fa7e18d8a693
このサイトなどに詳しいので、ご自身のやりたいことなどは参考にして頂くと良いかと思います。

# chromedriver.exeのパスを指定し、driverのインスタンスを作成する。
# path_driver = '../../データ分析/scraping/chromedriver.exe'
driver = webdriver.Chrome(executable_path = path_driver)
driver.get(url)

今回は運よく目的地にid属性がありましたのでidを探しにいきます。(idは同じhtmlの中で一つしか付けられないのでスクレイピング時にはidを基軸に探したりすることが多いです。)

次に、
- 目的地探し当て
- 検索キーワードを書き込み
- 検索を実行する
をします。

# サンプルとして、自身のtwitterIDとインフルエンサーで検索してみます。
list_target = ["budounomizu_san","takapon_jp"]

for i in list_target:
    # 選択したい要素を指定して探してきてもらう。
    serch_box = driver.find_element_by_id("index_search_input")
    # 何か入力してあればそれをクリアする。
    serch_box.clear()
    # 検索するTwitter_IDを検索ボックスへ送る。
    serch_box.send_keys(i)
    # 検索する!(ここではEnterボタン押すのと同じ)
    serch_box.submit()
    # 前の画面に戻る。
    driver.back()
    # ちょっとまってもらう。(ここでは1秒ストップしてもらう)
    time.sleep(1)
# ドライバーを閉じる。(試行錯誤しているときは閉じない方が良いかも)
driver.close()

これでchromeを自動で起動して→検索ワードを順番に探しにいって→画面を戻ってまた探しに行く→...という繰り返しを自動化させることが出来ました!

おわりに

「必要な情報があるwebページまでたどり着く」 ために必要な要素

  1. フォームに何かを記入して、「検索」や「送信」ボタンを押して結果を検索するようなページ。
  2. ページ遷移のためにクリックする必要があるようなページ。
  3. チェックボックスなどにチェックをして条件を絞り込み、絞り込んだ結果を「検索」や「送信」して結果を検索するようなページ。

この1番に関してコードともに紹介させて頂きました。

2番と3番も次の記事で書いていこうと思ってます。

以上、よろしくお願いします。

<追記>
2. ページ遷移のためにクリックする必要があるようなページ。 はこちらに書きました。

www.budounomizu.work

Tableauでフィルター連動(条件で絞込み)を行う方法

こんにちはbudouです!

今回はタブローを使って、任意の指定した条件でグラフの色を変える方法を書きたいと思います。

売上推移の折れ線グラフ ↑を↓こーしたいです。

フィルター連動した結果のダッシュボード

はじめに

「扱っている大量の商品の中で『利益率の高い商品に絞って』売り上げの推移を見たい」 など、特定のグループの中から〇〇の条件を満たす□□の粒を選んでビジュアライズしたい。

ということはよくあるかと思います。

メインで見たいグラフを作る

「〇〇の条件を満たす□□の粒を選んでビジュアライズしたい」 というところの□□の粒のグラフのことですね。

今回は売り上げ推移をサブカテゴリ単位で見たいものとして、↓のように作成します。

サブカテゴリの単位でとりあえず入れて作ってみるとこんな感じに...

折れ線グラフ作り方

売上推移の折れ線グラフ

これじゃぐちゃぐちゃで訳が分かりませんよね。 ここから意図をもってグラフを絞りに行きます。

絞りたい条件が入ったグラフ(表)を作る。

「〇〇の条件を満たす□□の粒を選んでビジュアライズしたい」 というところの〇〇の条件のことですね。

今回は、「利益率」で絞ったときにサブカテゴリごとの売り上げの推移が絞り込まれるようにしたいと思います。

絞り込みの表

ダッシュボードで合わせる。

ここまでで作ったシートをダッシュボードで合わせます。

ただこのままでは連動しておらず、グラフと表が一つの画面に乗っただけです。

シートのフィルターを連動させる。

表で選択したものをグラフに反映させるようにしたいです。

ダッシュボードに今までで作った折れ線グラフと表を合わせて表示させ、絞り込みの条件で使いたいフィルターに対して「フィルターとして使用する」を選択します。

フィルターとして使用する フィルターとして使用をした上で「利益率上位4件」で選択して絞り込んでみます。 (ここではサブカテゴリの"椅子"が利益率としても一番高く、また売上にたいしても大きそうなことが見て取れます)

出来ました!

おわりに

良く説明にtableauを使う際に絞り込みを行いたいことがありますが、これでその場で「利益率の高いものに絞って売上をみたい」などその場で言われても即座に対応できますね!

フィルターが今回は表形式でしたが、もちろんグラフと合わせて同じこと(メインのグラフの絞り込み)も出来ます。

以上、よろしくお願いします。

Pythonでワードクラウドを作ろう!【Python, NLP, wordcloud, 豆腐】

こんにちは~ぶどうです!

自然言語処理に入門しているところですが、「WordCloud作ってみたいぃぃ!!!」とずっと思っておりました。 なので、wordcloudを作るところまでやってみたいと思います。

f:id:budounomizu:20190710234752p:plain

WordCloudのドキュメント ここで公開されているこちらからイメージ借りてきてます。

wordcloudのインストール

pip install wordcloud

いきなりコード

ワードクラウドを出力するためのコード

input : 文字列

output : pngファイル

# ワードクラウドで描く対象の文字列
sentence = "そこも今朝とにかくこうした推察学という事の日が参りたな。同時に今を安心めはようやくその持たでしょまでをしけれども行くたにも養成なっありうながら、全くには申しあるたたん。"

wordcloud_output = WordCloud(background_color="white").generate(sentence)
wordcloud_output.to_file("./sample_.png")

上記の文字列はすぐ使えるダミーテキストさんで作りました。夏目漱石の「私の個人主義」からの一文です。

わくわくしながら結果を見てみると...

f:id:budounomizu:20190710235659p:plain

と...豆腐!!!Σ( ̄ロ ̄lll)ガーン

使い道

豆腐じゃ使えない、、matplotlibで描画するときに以前はまって結構時間使った記憶が... だけどどうやって対応したのかまったくもって記録もとってない、、

おわりに

後日、対応出来次第で

「対応策の記事」

「完成した記事」

を載せようと思います。

Pythonで特定の品詞を抜き出す方法【Python, 自然言語処理】

こんにちは~ぶどうです!

もともとは構造データの解析を主に生業としていたのですが、最近は自然言語処理周りの仕事をする機会が増えそう(というかそればっかりになりそう汗)なので、ちょこちょこ自分の備忘録的な意味合いも込めて書き残していきたいと思います。

始めたときに「これっ!」というコードがググっても見つからなかったのもあり、記事にしました。

いきなりコード

[input] : str

[output] : list

def getNoun(sentence):
    noun = []
    # taggerインスタンスを作成する。
    # neologdの辞書を使う場合はこっち
    tagger = MeCab.Tagger(r'-Owakati -d C:\neologd')
    # デフォルト辞書を使う場合はこれらのコメントアウトを入れ替えて
    # tagger = MeCab.Tagger(r'-Owakati')
    tagger.parse('')
    node = tagger.parseToNode(sentence)
    # ここでは'名詞'を抜き出すパターンで紹介してます。ここを'動詞','形容詞'などに変えれば特定の品詞を抜き出すことが出来ます。
    while node:
        if node.feature.split(',')[0] == '名詞':
            if node.surface != "":  
                # 不要なものを除きます。
                replace_node = re.sub(re.compile("[!-/:-@[-`{-~<>]、。" ), "", node.surface)
                if replace_node != "" and replace_node != " ":
                    noun.append(replace_node)
        node = node.next
    return noun

※上記ではNEologdを使ってます。デフォルトの辞書を使われる場合は~行目のコメントアウトと、~行目のコメントアウトを入れ替えて使ってください。

使い方

getNoun('ホリエモンチャンネルをyoutubeで見てます')

"""
['ホリエモンチャンネル', 'youtube']
"""

こんな感じ。

これをベースにして単語の頻度解析や、ワードクラウドや、なにやらと自由に色々と作っていけると思いますので、そちらも記事にしていけたらと思います。

おわりに

何か間違いなど見つけられた際はコメントで頂けますと嬉しいです。

【書籍紹介】ITナビゲーター<ITは今どうなってる?ITで今後どうなる?>

こんにちは ぶどうです! 今回は最近読んで「勉強になった。これはオススメしたい。」と思った書籍の紹介をしたいと思います。


ITナビゲーター2019年版

はじめに

この書籍の良い点は主に下記かと思います。

1. 個人が作成したものでなく、日本のトップシンクタンクがチームで書いている点

2. 各分野に明るい、かつ現場で担当されている方が部分担当をされている点

3. 各テーマに関して、[現状 + 未来予想]という点で書かれている点

上記の特徴を通して、今のITの大きなところの動きがどんな状況なのかがざっくり分かる。 というところが大きいと思います。

概要だけ飛ばし読みなら1時間もあれば読める分量ですし、詳しくない方にこそ読んで自分自身の将来の方向性などを考えるところにも良いと思います。

<序章> 5Gが加速するデジタルトランスフォーメーション

この中では、序章として広い意味での企業の動き・変革に関しての一般論を述べている。 著者はこの中で『創造的破壊が企業に「再定義」を迫る』という小見出しの中で、

デジタルディスラプター(創造的破壊者、以下DD)と呼ばれるスタートアップ企業が、国境を越え、想像を超えるスピード感を持って既存市場に参入し、既存企業を脅かす存在になっている...スタートアップ企業に必要なものは、クールなアイデアと、誰にも負けない情熱だけ、ということになる。その意味ではスタートアップ企業にかぎらず、どのような企業でもDDになれる可能性があるはずだが、一般的に大企業ほどスピード感と情熱に欠ける。一方で、これらのDDたちに脅かされた業界や企業は、強烈な危機感を持って、自らのDX(デジタルトランスフォーメーション)に着手することになる。その典型例を以下に3つ挙げる...銀行業界...ホテル業界...自動車業界...

と続いている。

これは、最後に上がっている業界に属していなかったとしても恐らく今どこかの企業に属している方であれば、必ずぶつかっている課題・危機感ではないかと思う。

<1章> 2024年に向けてICT・メディア市場で何が起こるのか

ここでは、主に

  • eスポーツ:超成長領域と予想されている。色々な業種が組んで開発が進んでいる。
  • 宇宙ビジネス:「火星に住むために」とかをイメージしがちだが、衛星開発が進み全世界の人たちがネットにアクセスできるようにするインフラとしての役割としても今後大きな役割担う。
  • 中国深圳の衆創空間:世界の優秀な人材が集まり、スピード感を持ってものごとの実現が進む。そのスピードは「シリコンバレーが1か月かかることを、深圳なら1週間で出来る」言われるほど。
  • HR Tech:人事・人材の領域も現在ITがどんどん入り込んでいるが、それは今後さらに加速する。
  • データガバナンス:個人情報をいかにして守りながら、企業間で有っても保有しているデータを共有(売買)出来る安全な仕組みを考えていくことが、国際競争力を作るためにも必須。

各分野に関して、現状と近未来に関しての動きが具体的に書かれており、自身が所属する分野がある場合は必読といえる。

<2章> デジタル市場

  • 携帯端末スマホの世界での販売台数は飽和。中小の法人契約がまだ割合としては少ないか。
  • 4Kテレビ:ネットと繋がるテレビが今後は当たり前に。
  • VR:2018年盛り上がったVTuber。顔出しのないyoutubeが実現(しかも人がやるよりももっと高性能に)したら、マーケットとしては更に広がる可能性。
  • スマートスピーカー:今後確実に広がっていく分野であると考えられている。
  • ロボット市場:2024年には(本書の中で意義されている"非産業用ロボット市場"の)市場規模が現在の2倍になっていると考えられている。本書の中では「物流・搬送用ロボット」「医療・介護用ロボット」「オフィス・店舗用ロボット」「家庭用ロボット」の分類で見ているが、一番伸びが強いと予測されているのは「医療・介護用ロボット」となっている。(216億円→760億円)今後も引き続き、「大企業×ベンチャー」による開発が加速していくことは疑いないところであろうと考えられている。
  • 産業用ドローン市場:本書の中ではドローン市場は2024年に現在の4倍弱の規模になっていると予想されている。ドローンの中で分類されている中では、今後「点検・検査」「空撮・監視」「測量」「輸送」の分野が一気に伸びていくと予測されている。
  • 3Dプリンター:今後は、販売価格の低下による普及の加速も相まって市場も2倍ほどになると予測されている。

<3章> ネットワーク市場

回線契約周りの規制の変化に対してどんな施策を投じるか。というところで楽天などの新規勢力が「SoftBank, au, NTTドコモ」の協調的寡占に対して戦っていくのかが注目されている。 格安スマホの契約回線数は、引き続き伸びると予測されているが、2022年あたりでピークが見え始めるともされている。

<4章> コンテンツ配信市場

  • ゲーム市場Nintendo Switchがハード市場に数年ぶりの規模拡大をもたらしたが、一つのプラットフォームだけでは、持続的な市場拡大を望むことは難しい。スマホと家庭用ゲームのプラットフォームの連携を通じて市場拡大を目指いしているソニーの新会社があるように、連携や融合を図っていくことが、各市場の維持・拡大につながっていくと考えられている。また、「荒野女子」という流行語が生まれたような「荒野行動」といった新ジャンルの興りが今後のゲーム販売戦略で重要になってくると考えられている。
  • 動画配信市場Amazonプライム・ビデオなどに代表されるように、「年会費は3900円で見放題」といった形のサービスが今後もしばらく国内外通じて出入りすることと予想されている。東京オリンピックに合わせてNHKもインターネットでのサービスも出してくることも見込まれている。価格の低下も起こると予想されるため、市場自体の伸び幅はそこまで大きくはないと予測されている。
  • アイドル市場:アイドル市場が「応援・支援」の消費ビジネスであることを踏まえると、この形態がますます多岐にわたり、拡大してきていることから、2024年には4600億円規模のサービスになっている(現在は3950億円ほど)と予測されている。

<5章> プラットフォーム市場

  • クラウドサービス、データセンター:ここは今後も加速が続く分野と予測されている。現在の市場規模、8460億円の規模から2兆4300億円の規模になるとされている。本書にもあるが、2017年に大手都市銀行が自行の業務システムを、順次パブリック・クラウドに移行させる方針を示したことで大きな衝撃を与えたように、まだまだ日本での浸透という意味では進んでおらず今後の拡大は確実。
  • 情報セキュリティ市場:4400億円規模の市場から5900億円規模になると予測され、セキュリティへの対策が今後も拡大していくのはこれもまた確実と目されている。しかし、セキュリティベンダーは現状は好調を維持できているが、「IoTセキュリティ分野におけるビジネス拡大の速度が計画を下回るスピードにとどまっている」というところを懸念材料としてもっているという。ビジネス領域の性質上、インシデントがあってから騒がれ資本が投下されるという形にどうしてもなりやすいため、新市場の本格的な成長・拡大、活性化が待たれるところだ。
  • シェアリングエコノミー市場:シェアリングエコノミーは大きく、「モノ」「スペース」「ヒト(労働力)」という分野があり、現在の3228億円の市場規模から2023年には1兆円を超えてくると予測されている超成長領域である。一番規模が大きいのは「モノ」中でも「乗り物」であり、今後市場の成長に大きく寄与するのは、特定のスキルや空き時間の利活用を目的に「ヒト」をシェアしていくサービスであるとされる。私も進めているところでもあるが、『サラリーマンの副業』などはまさに今後必要とされていく分野であることがこれまた明白であると予想出来る。

<6章> xTech市場

ここで言われているxTechとは〇〇Techのことであり、いわゆるFinTechや、RetailTechなどが含まれている。

  • FinTech市場は本書ではいくつかの領域に分解して触れられている。
    • ロボアドバイザイリー:(AIなどを活用し、資料者の投資性向に沿ったポートフォリオを自動で作成し運用してくれるといったサービス)に一定の管理を任せておき、投資へのハードルを下げることによって投資を促すサービス。2017年の970億円程度であるが、2024年には1兆7000億円に拡大すると予測されている。
    • IoT保険市場:2017年23億円程度であるが、2024年には2400億円に拡大していくと予測されている。
  • AutoServiceTech:現状ではいわゆる「白タク規制」によって大きな制限のあるところではあるが、仮にこの規制が2019年に撤廃されているものとして推計されている。(撤廃されなければ市場規模はゼロ。ただ、Uberのサービス試用化は都市部で始まっている。)それによると、今後進んでいくのは、「法人型カーシェア市場」「タクシー型ライドシェア市場」の伸びであるとしている。車を所持せずに必要な時にシェアを受ける・する。というところの最適化が今後も加速していくものと考えられる。 この章ではほかにも、「RetailTech」「AdTech」「EdTech」「HealthTech」「SporTech」「AgriTech」に関しても非常に分かりやすく動向がまとめられている。

今回は紙面の関係上(うそです)ここでは書かないが、該当産業の近いところにいらっしゃる方は、一読しておかれることをオススメします。

おわりに

NRIの方々がまとめてくださっている「ITナビゲータ」を紹介させて頂きました。 この本の特徴は、

1. 個人が作成したものでなく、日本のトップシンクタンクがチームで書いている点

2. 各分野に明るい、かつ現場で担当されている方が部分担当をされている点

3. 各テーマに関して、[現状 + 未来予想]という点で書かれている点

という点であると思います。

結論、『すべての産業でIT化』が進んでおり、その中でもどのあたりを中心に今後ものごとが進んでいきそうか、キーワードは何なのか。 という、すべての人に関わる問題としてとても分かりやすく書かれている良著であると思います。

こちらの書籍の紹介でした。
ITナビゲーター2019年版

【ブログの方向性整理】ブログの目的・目標と方向性を整理しておく

こんにちは、budouです! ブログ初めて10記事に到達したので、自分に対してのモチベーション整理という意味でも方向性をまとめてみることにしました。 f:id:budounomizu:20190705005042p:plain

はじめに

このブログの[目的・目標]、[方向性]をまとめてみました。

このブログの目的・目標

  1. いち技術者としてまたサラリーマンとして、自身の足取りと学習を文字にまとめることによる知識の定着とそれの露出が最大の目的

  2. 本業に加えて副業をすることによって、本業でよりパフォーマンスを発揮できる。ということを示すこと。

このブログの方向性

  1. 扱う技術の幅としては[Tableau, Python, NLP, ML]またその組み合わせで書いていきたい

  2. 扱う領域の幅としては[分析, 管理業務の自動化関連]あたりでしようと思っております。

  3. もしPV少しついてきて、アドセンスのせられるようになって少し経った頃に、知り合いのイラストレーターとコラボしたりしたい。

  4. 妻と一緒に日々子育て奮闘中なので、そのあたりも技術記事の合間に書いていきたい

  5. 自分のサイトの分析とかめっちゃしたい。

いっぱいありますね。 f:id:budounomizu:20190705005249p:plain

それぞれみていきたいと思います。

いち技術者としてまたサラリーマンとして、自身の足取りと学習を文字にまとめることによる知識の定着とそれの露出が最大の目的

これが私の場合は一番の目的になっており、「書く」「外に出す」ということによって、自身の学習のスピードを結果的に上げようという目論見です。

また、ネットに乗せて発信する(ブログ)ことによって、自分に対してのせることによって、

「あ、この人こんな事出来るんだ。ちょうど困ってたから仕事依頼してみよかな」

という方と繋がれたりすると最高ですね。

あとは、自分はこんなことができます!

というのを伝えるときに、ブログとかあると絶対早いし具体的だし信頼につながりやすいですよね。楽だし。

本業に加えて副業をすることによって、本業でよりパフォーマンスを発揮できる。ということを示すこと。

ここにも簡単に書いたのですが、私はブログはじめ副業というのは「本業でさらに活躍したい人」にこそお勧めしたい活動として思ってます。 www.budounomizu.work

「アウトプットする」というのは最適の学習方法だと思っていて、自身のスキルを高めるためにこそアウトプットをする場を自分のために用意する。

これこそが「本業でよりパフォーマンスを発揮できる」というところに繋がると確信しています。

扱う技術の幅としては[Tableau, Python, NLP, ML]またその組み合わせで書いていきたい

(粒度が違うので、並べると違和感がありますが...) f:id:budounomizu:20190705005630p:plain

Tableau

実際の本業でちょいちょい使うときがあるんですよね。 思い返してみると、一番初めの時にライセンスもらって「さぁタブローしよう!」というときに、 「あー、こんなグラフ作りたいけどタブローでどうやる?」というところの、本当に小さい単位でネットに記事がもっとあったらいいなぁ習得早かったなぁと思っていた。 そんな自分に向けた記事をイメージしながら作っていきたいと思ってます。

Python

基本的に分析の仕事はPythonでしてきていたし、これからもそうだと思う。 だけどかなり独学なので、色々とアウトプットとかもしながらどんどん勉強していきたいと思ってます。

NLP

NLP自然言語処理)に関しては、今まであまり深くやったことがないのですが、 今後求められていく可能性が非常に高い分野(本業的に)ということが結構見えているので、プログでなるべく初学者(自分みたいな)の助けになるような記事を書いていけたらいいなぁと思ってます。

ML

本業的にはNLP自然言語処理)× ML(機械学習)というところで遊ぶことになりそう。 本業で必要に迫られて改めてインプットした時にはどんどんアウトプットにここを使って、知識の定着をはかりたいと思う。

扱う領域の幅としては[分析, 監査業務の自動化関連]あたり

(これもちょっと粒度が違うので並べると違和感ありますが、要するに技術を使ってどこを表していきたいかということ)

分析

分析領域...というか、分析周りでいろいろと通った道を残していきたいという感じですね。 自身のドメインとして「分析」というところはしっかりと持って生きていきたいと思っているので、いろいろな角度から考えてみたいと思う。

管理業務の自動化関連

ここがあるのでNLPを進めていきたいというところなのですが、社内の管理部の分析担当みたいなのを兼務することになりまして... もちろん構造データも扱いながら、社内の監査業務など書類・データが集まるところで社内の効率化を一旦目指すところのために色々と勉強したりしたことも考えながら書いていきたいと思う。

もしPV少しついてきて、アドセンスのせられるようになって少し経った頃に、知り合いのイラストレーターとコラボしたい

これは完全に個人の野望みたいなものですが、Googleからサイトが認知されて、記事もまとまってきてアドセンスも通ったくらいのタイミングで、 知り合いのイラストレーターさんに頼んでブログの挿絵というか、そういったものをお願いしていきたいと思ってます。たのしそう

妻と一緒に日々子育て奮闘中なので、そのあたりも技術記事の合間に書いていきたい

タイトルに「イクメン」と冠しているのは、子育てもめちゃめちゃ大事にしているからです! 技術記事の合間で子育てのこととかも書いていきたい。

f:id:budounomizu:20190705005822p:plain

因みに、「育児する男性は良い」という意味でイクメンという言葉が出てきたかもしれませんが、 個人的には親が育児するのはあたりまえで、あくまでも個人の感覚(分析とか全くしてない)で周りの人よりも 「子育てが好きだし、奥さんと一緒になって頑張ってるなー」って勝手に思っているだけです。

自分のサイトの分析とかめっちゃしたい。

想像しただけで興奮ものですが、自分のサイトの流入分析とかしたいですね。 これはメッチャしたい。 取れるだけのデータを集めて色々したい。(どんなデータが取れるのかまだよくわかってませんけど...)

まぁ~~、解析の価値があるサイトに仕上がるまでにはこの記事の路線だと1,2年とかはかかるかなぁと思ってます。

おわりに

自分のためになる。楽しい。というのが継続のポイントだと思っているので、 また区切り区切りでブログへの考え方などは自分のためにも方向性をまとめながら気長にやります。

次は20記事書けたらまた簡単に区切りまとめしようと思います。

Tableauで条件でグラフの色を変える方法

こんにちはbudouです!

今回はタブローを使って、任意の指定した条件でグラフの色を変える方法を書きたいと思います。

f:id:budounomizu:20190703184148p:plain

↑これを...こーしたいです↓

f:id:budounomizu:20190703184207p:plain

はじめに

売上やCV情報をグラフにしてみているけど、

「予算ラインを超えたかこえてないか」

「前年比100%基準で見たときにそれを超えたかこえていないか」

と思ったりすることがあるかと思います。

そんなときどうするか?というところで一つの解決策とタブローでの考え方をお伝えてきたらと思います。

結論は、

・条件でフラグを立てる

・フラグをマークの『色』パレットに落とす です。

条件でフラグを立てる

特定の条件でフラグを立てる。 というのが今回のところの答えとなります。

今回は、「売上が平均以上か、以下かで色を分ける」ということをしてみたいと思います。

そもそもフラグを立てるとは...?

フラグを立てる?

https://gakumado.mynavi.jp/gmd/articles/54020 こちらなどに詳しく書いてありますが、一般的に使われる意味と概念自体は同じで、 例えば、

【死亡フラグ】
・「あの映画の『この仕事が終わったら故郷に帰って結婚しよう!』ってセリフ、あれ死亡フラグだよね」

【フラグ回収】
「フラグ回収」とはプログラムしているフラグ通りにストーリーが展開することです。
・「『この仕事が終わったら故郷に帰って結婚しよう!』ってセリフで完全に『死亡フラグ』立ったと思ったけど、やっぱり「フラグを回収」したね」

一部引用しますとこんな感じで「フラグ」というのは使われます。

フラグを立ててみよう!

実際にやることはエクセルの考え方、SQLの考え方などと同じです。 特定の行(カラム)に対して、条件を満たしていたら1, そうでなければ0

というif文を書いてあげればオッケー

今回は、「売上が平均以上か、以下かで色を分ける」 を見たいと思っているので、地域ごとにそれをみるとしてやってみましょう。

もともとのキャプ f:id:budounomizu:20190629123053p:plain 「売上」を右クリックして、「作成」します。

f:id:budounomizu:20190703191627p:plain

if SUM([売上]) > WINDOW_AVG(sum([売上])) then 1 else 0 end

タブローでのif文の書き方は上記のようになります。 これを書いて「flg_売上の平均上下」として作成しておきます。

f:id:budounomizu:20190703191645p:plain

これをもともとの棒グラフの色マークに落とすと...

f:id:budounomizu:20190703184207p:plain ※ついでに「アナリティクス」ペインから「平均線」をもってきてドロップ

できた~

もちろん色も好きに変更できますよ。

おわりに

「フラグを立てて条件分岐をさせることで表現の幅を増やす」 というところの紹介をさせて頂きました。

「ん~~?どうやって表現追加する~?」って時に、 「あ、判別する情報を別に作ればいい(フラグを立てるということ)んだ」というところで繋がると出来ること増えますね!

以上、よろしくお願いします。

サラリーマンへの副業のすすめ

なぜ今「サラリーマン」が「副業」するのか

損保ジャパン4000人削減→介護に配置転換

このニュース怖かったですね、、、でも「明日は我が身」と思っている方が多いはず。

何故、サラリーマンが副業するのか。私が勧める理由は大きく3つ。

  1. 自分自身の価値を、マーケットで試す事が出来る
  2. お金を稼ぐ為の力が付く
  3. どこでも生きる力(自信)が付く

それぞれ見ていきたいと思います。

0. 私が副業を始めようと思った理由

同僚の影響です。

同僚が先にクラウドワークスを使って副業をはじめ、 「じゃ!時間なった(定時)ので上がります!!」と行動が変わり、 「副業を始めた」 「今は時給500円くらいなんだけど、すごく楽しい」 とかなんとか言っているうちに、

「2万円/月稼げるようになった」

「5万円/月稼げるようになった」

「20万円/月稼げるようになった」

「100万円/月稼げるようになった」

とうなぎ上りに「ザ・成功者」みたいなことを言い始めていたので、「それってどういうこと?」となり興味を持ったことがきっかけでした。 ※ちなみに、上記の同僚はその後会社を辞めて独立。今でも時々飲みながら刺激をもらってます。

1. 自分自身の価値を、マーケットで試す事が出来る

上のことがあったので、私も1年くらい前に副業を始めてみました。 上記の同僚ほどの成功がどこでも出会えるわけはないと勿論思っていて、「ちょっと空いた時間を使ってスキルアップできたらいいなぁ」というような感覚でした。

その時は、上記同僚が勧めてくれたクラウドワークス URL貼る に自身に出来る事を登録して待ってるだけでしたが、 始めは「Pythonで、レコメンドエンジン作ります!」などと登録しただけで、全く何の連絡も来ないようなアカウントを放置するだけでした。

暫く放置していたのですが、ふとした時に思い出して他のエンジニア向け案件紹介サイトである 「シューマツワーカー」に出会って、登録したところから実際の副業活動が始まりました。 実際にここで案件に携わったのは半年弱でしたが、

・本業以外でもプログラミングの腕が磨ける!

・似たような意識を持った人と出会える!

ベンチャー中心の尖ったアイデアの開発に携わることが出来る!

という事が経験できたのは、めちゃめちゃ貴重な経験でした。 またすきま時間の参加だったのにも関わらず、10万円/月以上の追加収入になったのは地味に自身に繋がりました。

2. お金を稼ぐ為の力が付く

ものすごく大事。私は「たのも~!」して一歩を踏み出した!

f:id:budounomizu:20190702011644j:plain *1 上で紹介した、 「クラウドワークス」「シューマツワーカー」どちらのサービスも実際に仕事を得るまでには、

自身を商品化して売り出せる必要性がある

売り出す過程で商談も発生する

というところがあります。

私は上記があることによって、自身の事をより客観的に見る必要に迫られる上に、 「何が求められていて、何が足りないのか」というところがより明確に自身で発見することが出来ました。

私の場合、具体的には 「Python(プログラミング)の実務経験が3年くらいあります。そして引き続きそこで仕事をしたいです。」

みたいにプロフィールに書くだけでは仕事を得ることは出来ず、 「データ分析系の実務経験が3年くらい、その中でもPythonDjangoフレームワークの経験が半年くらいあります。他にも~・・」

という形でスキルセットを整理して見えるようにした上で、自分からシューマツワーカーで紹介されている案件に「たのも~~!」して、副業を晴れてスタートすることに成功しました。

3. 明日会社が倒産しても大丈夫 どこでも生きる力(自信)が付く

副業の先にはバラ色のフリー生活が!!! というところが良く取りざたされるような感じがしますが、 本業と並行しながら副業をすることで「楽しみながら、生きる力」を付ける事が出来ると思います。 実際、自身のスキルをもとに「稼ぐ」ことが出来ると楽しいですし、多少疲れていようとも力が湧いてきます。

私はフリーランサーで生きていこう!という計画は今のところ持っておりません(本業を通して成長することが出来ているから)。

しかし、明日会社が倒産しても大丈夫。全然生きていける。という自信があります。 この自信があるために、今日明日と地に足の着いた自身への積み上げが出来ると思っています。

*1:キャプチャの使用申請上げております。