へちやぼらけのブログ

総PV数30万を達成!主にVtuber・VRの紹介記事などを執筆する。

VTuber大好きライター !
VTuber評論家として、気になったVTuberの魅力を日々記事にしてます。

【飽きた・つまんね】今のYouTube、クッソつまんなくね?? その理由は3つある。

金稼ぎに走るYouTuber。企画もマンネリ。雑な編集。NHKの方が面白いぞ!

お疲れさん。
へちやぼらけです。

最近、思うんだけど「最近のYouTube」つまんなくね??。単純に飽きたのかな…。今のYouTubeがひたすらにつまんねーだよ

何だろうな…。今のYouTube界隈を例えるなら「ラスボス倒して、イベントも全部消化した後のRPG」。何の変化やイベントもクエストも無い・刺激も無い・平和なマンネリ世界。これが今のYouTubeだと思う。

f:id:hetiyaborake:20190811223823p:plain

何故つまらないのか?理由を考えたんだが、3つあると思う。以下、俺の考えを述べる。

①みんな金儲けしか考えてない!

今のYouTuber、金儲けしか考えてない!

案件受注してるのか?数字目当ての便乗なのか?似たような企画をYouTuber達が、一斉に始めるでしょ?これイランねん。便乗すんなや。視聴者は、2回も似たような企画見たないねん。皆、一斉に同じカードを開封し始めたり、同じ食品食べ始めたり、同じゲーム始めたり…。動画制作で飯食ってんなら楽しようとすな!

YouTuber達が一斉に群がり同じゲームを実況。YouTubeを開けば、同じゲームのサムネがズラッとオススメに並ぶんですよ!ゲーム会社の動画サイトかっての…。

創作しろ!創作!「YouTube CREATOR」なんだろ!。YouTuberは、ちゃんとした職業なんだろ!。視聴者をアッと言わせるような斬新な動画をクリエイトしてくれよ!

パターン化・マンネリ化。動画の編集・構成も似たり寄ったり、変化も無し。流石に飽きましたは。

 いでに言うと、みんな無理やり動画時間を10分以上にしがち中身無い動画を10分に無理やり引き延ばしても、面白くないんですよ。CMが途中で入ってテンポ、クッソ悪いし。最後まで視聴できんは。

②YouTuber多すぎ!

YouTuber多すぎ。多すぎて、新しいことに挑戦しようとしてる人が有象無象に埋もれてしまっていないかい?いや、そもそもそんな人がいるのかも分からない。それが現状だろう。そして、これがマンネリ化の原因だと考える。

数多くのYouTuberが生まれては、他と同じ様な企画をやる。そんな動画で溢れまくってる。自分好みの動画が、模倣されたステレオタイプの動画に埋もれてしまってるんだよ。「えっ!こんな面白いYouTuberが出てきたんだ!」そんな刺激も受けること無くなったぜ。

れは、画面右横(スマホだったら、画面下)に出てくるYouTubeの「オススメ動画表示」にも問題があるのでは?と思ってしまう。

「オススメ動画表示」に出てくるのは、前回視聴したYouTuberの動画ばかり。GoogleのAI(もとい、推薦システム)全然機能してないやん。同じYouTuberの動画をオススメに出すだけだったら、AIも機会学習もいらないんだよ!

の例で言えば、YouTuber「もこう」。彼の動画見ても、オススメの動画が「もこう」の動画ばっかじゃん。しかも視聴済みの…。もこうの動画は好きだから、推薦しなくても勝手に視聴するは!んで、もこうの動画ばっか見てたら流石に飽きるんだよ(笑)。

俺の視聴したこと無い、でも俺だったら絶対ハマる「とっておきの選りすぐりの動画」、オススメに出してくれませんかね?

f:id:hetiyaborake:20190812010153p:plain
ここら辺、Netflixをマジで見習って欲しい。Netflixは、次から次へと俺の興味をそそる映画を推薦してくれるから飽きない。「君の名は」を見てもNetflixは「オススメ映画」に新海誠の映画以外も推薦してくれるんだよ。

③過激な動画が減った。

テレビが出来ない過激な動画、減りましたよね。こういう動画↓ YouTuber”ヒカル”って人の動画だよ。的屋に切り込んで、当たりが出るまでクジ買い続けるって動画。

f:id:hetiyaborake:20190812012744p:plain

こういうテレビが出来ない様な切り込んだ動画こそ、意味があるし面白いんだよ。視聴者の心が熱くなるんだよ。

無理やりテンション上げてお送りする「ゲーム実況」。在り来たりな「コラボ動画」。「ドッキリ」。何の深み・含蓄も無い「雑談」「物申す動画」。これだけだと、さすがに飽きるぜ。

ただ、これに関してはYouTuberに同情する部分もある。昨今、YouTubeの規約が厳しくなり、アカウントがある日突然BAN(凍結)されるんだよな…。そんな環境だったら、もう切り込んだ企画何てできないか…。

そうなると、だったらテレビの方が面白くね?こうなる。視聴は、そろそろ気付き始めてる。テレビでやってる警察24時とかの方が、よっぽどスリリングで視聴してて面白いは。ダーウィンが来たの方が、よっぽど為になるし、視聴しがいがあるは!

結局、テレビの方が「映像作りの才能」「製作費」でYouTubeを圧倒的に上回ってる。最近、テレビを視聴し直すことにしたんですが、面白いんですよね。(少なくとも、今のYouTubeよりは…)

取材するにしても、何日もかけて綿密に取材してるし、映像の作り込みがまるで違う。お笑い芸人の笑いを作るセンスは、他のYouTuberを圧倒してるし、コメンテーターの評論は、視聴していて目から鱗だ。

 

◇最後に

さて、この記事を読んでわかる通り、「俺はYouTubeがめっちゃ好きだ」「テレビっこならぬ」「YouTuberっこ」である。このYouTube愛に溢れまくった俺の記事が、よりよくなるキッカケになればと思う。以上だ。

 

<参考文献(機械学習、知ってる人向け)>

【スマホで呼び出し】わざわざ、駅前に行って「タクシー」探してるアホいるか??

今すぐタクシーを呼びたい=JapanTaxiを使おう!

へちやぼらけです。

タイトルの通りだ。タクシー呼ぶ時に、わざわざ駅前に行って「タクシー」探してる人います?はっきり言って、非効率です。探す時間が無駄!待ってる時間が無駄!

こんなスマホの発達した令和時代に、昭和的なアプローチでタクシーを探すのは止めましょう

f:id:hetiyaborake:20190810221302p:plain

◇JapanTaxi(神アプリ)

いうことで、スマホから簡単にタクシーを呼び出せるアプリの紹介だ。JapanTaxiと呼ばれるスマホアプリ。Google Playベストアプリ2018を受賞した、タクシー業界に革命を起こしてるアプリなのだ。

これ、めっちゃ便利ですよ。同アプリが神たる所以、3つあります。以下述べます。

①マップ操作で簡単、配車

配車の方法が神がかってます。革命的です。『アプリを開いてマップで出発点と終着点を指定するだけ』。配車確定のボタンを押せば、指定した場所にタクシーが着ます。しかも、GPSとも連動しているので、スマホGPS機能をONにしておけば、出発点が自動で今居る場所に設定されます。終着点だけ決めれば良いのか…。

f:id:hetiyaborake:20190810220823p:plain

更に、リアルタイムでタクシーの居場所を確認することもできるぞ

f:id:hetiyaborake:20190810220719p:plain

は、運転手さんに仕組みを聞いてみた。スマホで配車確定のボタン押下後、指定した出発点に一番近いタクシーへとオーダーが飛ぶらしい。運転手は、それを確認して君のもとへ駆けつけてくれるらしい。素晴らしい。そして、効率的だ。

f:id:hetiyaborake:20190810213125p:plain

 また、終着点も伝えているため、乗車時にわざわざ場所を口頭で伝える必要も無いのだ。このアプリの存在を知って、駅前のタクシーの待ち行列に並ぶ過去の自分がバカに思えてきました。

 ②クレジットカード決済対応!

クレジットカード決済にも対応しており、乗車時に手こずることもありません。「クレカ決済で!」と一言添えて、降りればOKです。乗車賃は、後日に自動引き落とし。快適感ハンパ無いは!

しかも、配車時に「乗車賃の見積もり」「乗車時間の見積もり」をすることも可能。至れり尽くせりやで…。

f:id:hetiyaborake:20190810221056p:plain

③日本全国どこでも!

JapanTaxiは、日本47都道府県対応。どこでも利用すること可能だ。この可用性の高さよ!旅先の移動にピッタリ。

◇注意点もあるよ!

メリットだらけのアプリだが、注意点もある。先ほど47都道府県対応と言った。確かにそうだ。しかし、タクシー自体は有限だ。

田舎によっては、配車できるタクシーが存在しないケースもあるので注意。

また、混雑時(例えば、大きなイベントがあってタクシー自体がカツカツの場合)、発で配車が確定できないこともある。混雑時の電話回線の様に、何度も何度も配車をトライする必要がある。ということだ。

とはいえ、都会にお住まいの方・ふらっとタクシーを使いたいと思ったあなた!1度やってみる価値は十分にある

実用に向けて、より詳細な情報を見たい!と思った方、JapanTaxiのYouTubeチャンネルを確認してみよう。

【シャドバ×統計】データ分析から見えた「シャドバの過去と現状、そしてこれから」

データ分析から、今のシャドバ界隈をぶった斬る!

お疲れ様です。今回はシャドウバース(以下、シャドバ)のデータを解析します。データは、ウェブスクレイピングにより取得しました。取得の方法は前回の記事参照だ。

解析するデータはどんなデータなのか?下に載せました。こんな感じです↓

f:id:hetiyaborake:20190805142713p:plain

f:id:hetiyaborake:20190805162920p:plain

「クラスごとの戦歴データ」を時系列ごとに取得しています。year=1は、2018年1月1日~2018年1月7日の戦歴データ。そこからyearが1増えるごとに翌週、翌々週、翌々々週・・・の戦歴となっております。以下、year以外の変数も説明。

●class:エルフ、ロイヤル、‥の7クラスある。
●N_use:そのクラスが使われた回数。
●Rate_use:N_use / 全クラス数。
●Rate_FirstV:先攻の勝率。
●N_win:勝利数。
●Rate_V:勝率(=N_win / N_use)。
●Rate_SecondV:後攻の勝率。

◎データから見える問題点

 ということで、データ分析します。まずは、各ランクごとの使用割合をグラフ化した。下の円グラフがそれだ。グラフを見る限り、ランクMの使用割合が非常に高いことがわかる。集計の結果、シャドバプレイ人口の実に8割がMaste(GrandMaster含む)であることが分かった。

f:id:hetiyaborake:20190805220029p:plain

それ以外のランクで全体の2割を占めており、低ランクになるにつれて、対戦数(使用数)が減少。ランクBに至っては、対戦数(使用数)が全体の2%(0.2割)ということが分かった。

シャドバ人工の高ランク化が一目瞭然。シャドバを新規に始める層が減ってきていると解釈することも可能だろう

ちなみに、時系列ごとに各ランクの使用数をグラフするとこんな感じ。

f:id:hetiyaborake:20190806020639p:plain

電図の様に、ある時点を境に一気に対戦数が急上昇する。これは、新カードパックの登場によるものである。新しいカードパックの登場で、ここまで増加するのは驚きだ。

2018年3月に登場した「起源の光・終焉の闇」に関して言えば、登場以降、対戦数が4倍に激増している。

ただ、year=30~70では新弾の登場にも関わらず、対戦回数の急上昇に繋がらなかったようだ。

しかし、year=75に登場した「リバース・オブ・グローリー」で勢いを取り戻した。過去のシャドバユーザーを呼び戻すことに成功したのだろうか?

f:id:hetiyaborake:20190806143855p:plain

続いてクラスごとの使用推移を時系列で見てみよう。こんな感じ。

f:id:hetiyaborake:20190806150221p:plain

時期によって使用率にブレがあるが、どのクラスも使用率10%~20%付近で推移している。

特筆すべきはヴァンパイヤ。year=75付近の「リバース・オブ・グローリー」登場時にヴァンパイヤの使用率が5割になっている

f:id:hetiyaborake:20190806150841p:plain

俺は、グラフを描いてみて目を疑った。集計ミスか?と思い、元のデータを確認したがマジらしい。

「リバース・オブ・グローリー」は、ヴァンパ有利なカードがバンバン登場してたしな‥。使いたくのも頷ける。

◎相関関係を確認。

 さて、使用率勝率には相関があるのだろうか?

このゲームは勝つことが目的ですから、勝ち易いクラスであれば当然使用率が増えるはず。というのは何となく想像がつく。

ということで図示。予想通り、使用率と勝率には明らかに正の相関があることがわかる

f:id:hetiyaborake:20190806154207p:plain

 これだけと考察に欠けるので、気付いたことをもう1点ご報告。

の図をよ~~く見て欲しい。勝率が上がれば上がるほど、使用率に大きなブレが発生しているようだ。同じ勝率でも、使用率がそこまで伸びないこともあれば、使用率が爆上がりする場合もある

f:id:hetiyaborake:20190806155731p:plain

は、「勝率」「使用率」「先攻勝率」「後攻勝率」の4変数で、各クラスで相関係数を求めてみた。相関係数とは、2つの変数の類似度を表現する数。-1から+1までの値を取り、+1(もしくは-1)に近づく程、2つの変数の類似度は大きいと言える。

この相関係数を表にして纏めたモノを相関行列と呼ぶ。ということで、各クラスごとに4×4の相関行列を描写したぞ。↓↓

f:id:hetiyaborake:20190806164732p:plainf:id:hetiyaborake:20190806165846p:plainf:id:hetiyaborake:20190806170946p:plain

こんな感じです。ビショップを除き、どのクラスも同じ様な相関行列になった。どれも相関係数「0.7~0.9」位だ。「使用率」「勝率」「先攻勝率」「後攻勝率」、どれもデータとして類似度が強いと言える。

の相関行列の調査で語るべきはビショップ。先攻勝率と後攻勝率の相関係数が、このクラスのみ0.3となった統計学的に相関係数0.3は『弱い相関』ということになる。

f:id:hetiyaborake:20190806172000p:plain

これは要するに、ビショップは環境によって「先攻と後攻で勝敗がハッキリと分かれるクラスである」ということだ。

補足データとして、下の折れ線グラフをみて欲しい。これは、先攻の勝率から後攻の勝率を引いた数値の推移を表している。縦軸は「割合」、横軸は「year」である。ビショップはシアン色で、比較用としてドラゴンを赤色で描写している。

f:id:hetiyaborake:20190806175455p:plain

ドラゴンは0.05付近で安定的に推移してる一方、ビショップはシーズンによって、大きくブレていることがわかる。ビショップは環境によって「先攻と後攻で勝敗がハッキリと分かれるクラスである」。良いことを知れました。

◎ドラゴン=ネクロ?

 続いて、似たようなクラスを見つけていきたい。統計的な用語で言うと「クラスタリング」をしてみたいと思う。クラスタリングに使う変数は、yearごとの勝率とした。新規カードの追加によってクラスの勝率は激しく変化するが、似たような勝率の推移をしているクラスは何なんだろうか

まずは、全クラスの勝率を折れ線グラフで確認した。

f:id:hetiyaborake:20190806210438p:plain

わかりづれーな‥。ということで、k-meansと呼ばれる手法を使う。これは傾向が似ているデッキを特徴別にグループ化してくれる便利なクラスタリング手法だ。実行結果が以下。

f:id:hetiyaborake:20190806210916p:plain

解析の結果、「ドラゴン&ネクロ」「ビショ&エルフ&ネメシス&ロイヤル」「ヴァンプ」の3つにグループ化することができた。

特徴別にグループ化できたところで、ドラゴンとネクロの勝率推移を見てみよう↓↓↓。確かに、ドラゴンネクロの勝率推移似てるな…。

f:id:hetiyaborake:20190806211507p:plain

では続いて「ビショ&エルフ&ネメシス&ロイヤル」の勝率推移↓↓↓。ロイヤルのブレが激しいモノの、似たような推移となっている。k-meansにかける際、識別クラス数を4とかに増やしてみると、ロイヤルがこのクラスタから抜けるのだろう。

f:id:hetiyaborake:20190806212424p:plain

最後に「ヴァンパイヤ」。このクラスは似たようなクラスがいない。言うならば、独自の推移を歩んでいるクラスだ↓↓↓。確かに、他のクラスには無い「揺れ幅の激しい推移」となっている。

f:id:hetiyaborake:20190806212857p:plain

うちょっと、平滑化して分かり易く図示したのが下の画像↓↓。こんな感じで勝率が推移しています。

f:id:hetiyaborake:20190807011657p:plain

ドラゴンの勝率が高い環境だと、ネクロの勝率も高い(逆もまた然り)。エルフの勝率が高い環境だと、「ロイヤル」「ヴィショップ」「ネメシス」の勝率も高い(逆もまた然り)。ヴァンパイアは独自路線。ということだ。

◎シャドバは後攻有利!

シャドバは先攻有利なゲーム。という印象が強い。しかし、現状においてはその認識は間違っている。下の図を見て欲しい。これは、各クラスごとに「先攻勝率-後攻勝率」を時系列に並べたものだ。

f:id:hetiyaborake:20190806221143p:plain
確かに「リバース・オブ・グローリー」登場前は、先攻勝率-後攻勝率>0(⇔先攻勝率>後攻勝率)な状況が続いていたが、「リバース・オブ・グローリー」登場後、先攻勝率-後攻勝率<0(⇔先攻勝率<後攻勝率)方向に下降。現状、後攻でも充分戦える環境になっている。

ビショップ・ドラゴン・ネメシスに限って言えば、寧ろ後攻の方が勝率が高い。という状況になっているのだ。

◇最後に

ここまで記事を読んで頂きありがとう。とあるサイトから引っ張ってきたデータのため、シャドバプレイヤーの母集団とは異なる部分もあると思う。しかし、ある程度の目安にはなると思い、今回解析を実施してみたぞ。これからも、色々データ解析していくので、よろしかったら購読よろしく!youtubeもやっているので、良かったら登録してね!

【解析】シャドバの戦歴データを取得&解析して、色々やってみる記事①

 シャドバで学ぼう。ウェブスクレイピング・基本統計量

へちやぼらけです。ポケモンデータ解析.pyって知ってる人いますか?

基本統計量並び、回帰分析、クラスタリングなどを学べる神サイトである。俺も、この真似事をしたいと思い記事を書いた。

興味ある方、付き合ってくれ。この記事で「ウェブスクレイピング」に触れ、次回の記事で「基本統計量」、最後の記事で「時系列解析」を扱ってお終いにしようと思う。

ウェブスクレイピングをそもそも知らないという方は、以下の記事を参照して欲しい。

ウェブスクレイピング

ウェブスクレイピングだ。

シャドバのデータを解析していく訳だが、解析に使うデータが無ければ何も始まらない。ウェブスクレイピングを使って、データを取ってこようではないか。

俺が目を付けたサイトは、Shadowverse Logというサイトである。ここには2018年1月~今に至るまでの、各クラスごとの「勝率」「使用率」などが掲載されている。

f:id:hetiyaborake:20190802020221p:plain

同サイトをポチポチとサーフィンすることで、URLの法則性を見つけることができた。下の画像を見て欲しい。↓↓↓↓↓↓

f:id:hetiyaborake:20190802020425p:plain

 単純ですね。今回、重要なのはURLの「・・・2018/1・・・r」の部分。2018/1で、2018年1月1週目の戦歴データを取得することが出来るようだ。そこから、2018/2, 2018/3, ‥, 2018/80 などと数を増やすことで、各週ごとの戦歴データをスクレイピングできそうだ。

同サイトのHTMLソースはこんな感じ↓↓。table id ='table1'、class='pie-analyze-list'の部分に、勝率、使用率などが定義されているらしい。

f:id:hetiyaborake:20190802023739p:plain

さて、頑張ってウェブスクレイピングプログラムを作りました。こんな感じである。(動作確認済。※同サイトのサーバー負荷&このページをご覧になってる”あなた”&”筆者(自分)”の3者を守るため、正直皆さんには気軽に下記プログラムを実行して欲しくは無い。というのが本音だったりもする…。)

#インポートする。
import urllib.request #webにアクセスする際、必要。
import bs4 #主役!
import numpy as np
import pandas as pd
from time import sleep #適宜、休憩を入れ、サーバーへの負荷軽減。

# パラメータ定義
y_START = 1 y_END = 82 url_N = 'https://shadowlog.com/trend/2018/'
#ローテーションのデータを取得する。 df_seiseki_allyear = []
# クローリング&スクレイピング開始
for i in range(y_START , y_END + 1):
sleep(60) #※re はfor文で複数回使えない。毎回初期化する。 import re #↓URL名を指定 ↓数字を文字列に (#0=合計、4=マスター、3=AA、2=A、1=B) url = url_N + str(i) + '/0/r' response = urllib.request.urlopen(url) root = bs4.BeautifulSoup(response.read()) data = [] # ↓HTMLで、tableかつCSSが"pie-analyze-list table1"であるもの。 for pick in root.find_all("table", class_="pie-analyze-list table1"): for match in re.findall(r"<td(.*?)</td>", str(pick)): #findした文字列から、欲しいデータを取得する。(インデックスの細かい調整で愚直に対応・・) if match[0:6] == " align": if match[16:20] == "<b><": temp = match[45:].replace('<b>', '') temp = temp.replace('</b>', '') temp = temp.replace('</span>', '') data.append(temp) else: temp = match[16:].replace('<b>', '') temp = temp.replace('</b>', '') data.append(temp) else: #クラス名。 data.append(match[112:115]) seiseki = np.array(data).reshape(int(len(data)/7),7) df_seiseki = pd.DataFrame(seiseki) df_seiseki.columns = ["クラス","使用率","使用数","勝利数","勝率","先攻勝率","後攻勝率"] df_seiseki['year'] = i #ループの度、アペンドしていく。 df_seiseki_allyear.append(df_seiseki)

まぁ、何のひねりも無いウェブスクレイピングPGMです。'https://shadowlog.com/trend/2018/'+数字でクローリングしながら、BeautifulSopuで、HTMLから必要なデータのみ収集していきます。

ちなみに、クローリングする際は同サイトの負荷にめちゃくちゃ気を使った。クローリングって、度が過ぎるとサーバー攻撃と勘違いされかねない。上のコードではsleep関数を使って、60秒ごとにページを遷移する様に設計した。これなら、普通のweb閲覧と遜色無いはずだ。

皆さんもクローリングする際は要注意だ!

 ◇コード解説

はい。ということで、同PGMについて細かく解説していきます。

 

〇最初(インポート部分)

#インポートする。
import urllib.request   #webにアクセスする際、必要。
import bs4              #主役!
import numpy as np
import pandas as pd
from time import sleep #適宜、休憩を入れ、サーバーへの負荷軽減。

ライブラリは上記のモノを使用する。numpy, pandasはいいですよね…。データを扱うのに必要なライブラリ・モジュールです。

urllib.requestとは、webからデータを取得するためのモジュール。bs4は、webスクレイピングする際、必須とも言えるべき便利なライブラリー。こいつを使えば、簡単にHTMLを取得することができます。

 

〇パラメタ定義

# パラメータ定義
y_START = 1
y_END = 82
url_N = 'https://shadowlog.com/trend/2018/'

#ローテーションのデータを取得する。
df_seiseki_allyear = []

 続いて、パラメタ定義部分。y_START, y_ENDはクローリングするデータのURLの始めと最後を現しております。y_START「1」から始まり、2,3,4,5,‥と1ずつカウントアップしていきながら、y_END「82」に至るまでfor文のループを回し続けます。

カウントアップする数は、クローリングするURLの1部分として使うよ。クローリングの際、共通で使うURLの文字列は、url_Nで定義しています。

さて、それでもって、各週の「勝率」「使用率」を取得する。そのデータはdf_seiseki_allyear に逐次的に保存していきます。(ちなみに、df_って書いてますけど、array型ですねこれ。)

何を言ってるんだコイツ?と思われた方。安心してください。以降のプログラムを見れば、筆者の言いたいことがわかります。

 

〇クローリング部分

# クローリング&スクレイピング開始
for i in range(y_START , y_END + 1):
sleep(60)
     #※re はfor文で複数回使えない。毎回初期化する。
     import re
     #↓URL名を指定 ↓数字を文字列に (#0=合計、4=マスター、3=AA、2=A、1=B)
     url = url_N + str(i) + '/0/r'
     response = urllib.request.urlopen(url)
     root = bs4.BeautifulSoup(response.read())
     data = []

y_START「1」から始まり、2,3,4,5,‥と1ずつカウントアップしていきながら、y_END「82」に至るまでfor文のループを回し続けます。

ループの度にsleep(60)で、60秒待機。サーバーへの負荷を軽減します。アクセスするurl名は、url_N ('https://shadowlog.com/trend/2018/')に、y_START「1」からカウントアップする数字を足す。その後、'/0/r'を付けたモノです。

要するに、https://shadowlog.com/trend/2018/1/0/r'~https://shadowlog.com/trend/2018/82/0/r'までのURLにアクセスしていきます。

f:id:hetiyaborake:20190802020425p:plain

urllib.request.urlopen(url)は、http.client.HTTPResponseのオブジェクトが返されます。そのオブジェクトをresponseに保存させます。(良くわからなくてもOK。URLにアクセスするための入場許可証みたいなモンだと思って下さい。)

次に、root = bs4.BeautifulSoup(response.read())でrootに読み込ませたHTMLデータのルート要素を取得します。

変数rootを使えば、指定したURLのHTMLの先頭~最後まで不可逆的にサーチすることができるんです。

f:id:hetiyaborake:20190802230855p:plain

 

スクレイピング部分

変数rootを使えば、指定したURLのHTMLの先頭~最後まで不可逆的にサーチすることができるんです。ただ、HTMLの先頭~最後まで全部欲しい訳ではありません。私の目的は、クラスごとの「勝率」「使用率」を取得することです。

ということで、欲しいデータを取得するために、欲しいデータの付近にあるHTMLを確認します。

f:id:hetiyaborake:20190802231454p:plain

確認した結果、table id ='table1'、class='pie-analyze-list'の部分に、勝率、使用率などが定義されているらしい。

ということで、プログラムを以下の様に作成した。

    # ↓HTMLで、tableかつCSSが"pie-analyze-list table1"であるもの。
     for pick in root.find_all("table", class_="pie-analyze-list table1"):
          for match in re.findall(r"<td(.*?)</td>", str(pick)):
               #findした文字列から、欲しいデータを取得する。(インデックスの細かい調整で愚直に対応・・)
               if match[0:6] == " align":
                   if match[16:20] == "<b><":
                       temp = match[45:].replace('<b>', '')
                       temp = temp.replace('</b>', '') 
                       temp = temp.replace('</span>', '')
                       data.append(temp)
                   else: 
                       temp = match[16:].replace('<b>', '')
                       temp = temp.replace('</b>', '') 
                       data.append(temp)
               else:
                      #クラス名。
                      data.append(match[112:115])

root.find.all(xxxxx)関数では、HTMLの先頭からサーチしていき、引数に設定した文字列にヒットした場合にその部分のHTMLを返します。上述の通り「勝率」「使用率」は、table id ='table1'、class='pie-analyze-list'の部分に定義されているので、for pick in root.find_all("table", class_="pie-analyze-list table1"):と記述すればOKだ。

試しに、URL=「url_N + "50" + '/0/r'」として、root.find_allでちゃんと該当のHTMLを取得できているか確認だ。

f:id:hetiyaborake:20190802235410p:plain
いい感じに取得できてますね。ただ、それにしても不要なデータが多すぎる。ここから、「勝率」「使用率」をピンポイントで取得しなければならない。筆者は、ここで正規表現(re)を使うことにした。「勝率」「使用率」は、<td>・・・</td>の中に定義されているようだ。

f:id:hetiyaborake:20190802234843p:plain

for match in re.findall(r"<td(.*?)</td>", str(pick)):により、更に<td>の中にある文字列のみ取得する様にしたぞ。

さて、取得した文字列を確認してみよう。↓↓↓

f:id:hetiyaborake:20190802235155p:plain

おお、いい感じ。後は、取得した文字列の何文字目から何文字目までを取得するかプログラムで指定してあげればOK。

取得したデータを確認!

てな感じで取得したデータを、ちょっと整理整頓してエクセルに落としてみたよ。こんな感じです。

f:id:hetiyaborake:20190802235548p:plain

f:id:hetiyaborake:20190802235633p:plain

いいすね。以降の記事では、取得したデータを使って、pythonで解析していきます。お楽しみに。

【スマホ電子決済】GooglePayが超便利で今すぐ使えるのに、使ってない奴おるか??

GooglePay=キャッシュレス決済の最高峰

お疲れ様です。
へちやぼらけです。

GooglePayを使ってみた。最初に言わせて。これ最高。便利性・可用性、どれをとってもピカ1だ。今回はGooglePayの魅力を伝えるべく記事を書く。

f:id:hetiyaborake:20190728020900p:plain

◇GooglePayとは?

GooglePayとは、端的に言えば「スマホで出来る電子決済」。これをまとめて管理できる神アプリだ。同アプリを使えば、主要な電子決済アプリ『モバイルSuica』,『iD(アイディー)』,『QUICPay(クイックペイ)』などを一瞬で使えるようになれる。

f:id:hetiyaborake:20190728025859p:plain

うなんだよ!可用性がめちゃくちゃ高い。スマホ&GooglePay&クレジットカードがあれば、今すぐにでも主要な電子決済をスマホで使うことができるのだ。俺は、5分で『iD』に登録することができた。今では、楽々スマホで電子決済生活。

俺はGooglePayに『iD』と『Suica』の2つを登録しているので、電車にもスマホで乗車することができるんだぜ。

小銭でじゃらじゃら・チンタラ決済してる人を見るとイライラしてくるぜ。こんな便利なアプリがあるのに電子決済にしない奴は、はっきり言ってダメだ。それぐらい、今すぐにでもスマホで電子決済ができるようになるってわけ。

◇GooglePayの使い方

とは言ったものの、GooglePayの使い方を紹介しているブログが少ない。ということで、俺がGooglePayの使い方を簡潔にまとめる

スマホを開け!

まずは、スマホを開こう。アンドロイドの最新スマホだとGpay(GooglePay)はデフォルトでインストールされているはず。無い方は、下のリンクからインストールしよう!

play.google.com

念ながら、お財布ケータイ対応のAndoroid端末でないと同アプリは使えないらしいiphoneの方は申し訳無い。またNFC搭載型のスマホも使えないらしい。申し訳ない。

 

②Gpayから電子決済登録。

そしたら、GooglePayを開こう(グーグルアカウントを持ってない方は、アカウントを作る必要がある)。そこから、君の登録したい電子決済アプリを登録するんだ。ざっくり分けると、クレジットカード登録が不要で作れるアプリ楽天Edy, nanaco, WAON, Suic)と、クレジットカード登録が必要なアプリQUICPay, iD)の2種類に分かれている。

やはり個人的にオススメしたいのが、クレジットカード登録が必要なアプリ。その中でも、使える店舗数の多い『iD』だ。自分はクレジットカードがiD対応だったということもあり、早速iDを作成した。

iDに登録できないクレジットカードもあるので要注意。下のリンクから、メリットデメリットを把握して「どの電子決済が良いか?」良く検討しよう。

 ていうか、↑のサイトにGPayに関する情報がしっかりまとまっているな。使う際は、↑の記事を参考にした方が良さそうだ…。

ちなみに、クレジットカードの番号は画像認識から取得することが可能。カメラにクレジットカードをかざすだけで、自動で入力の手助けをしてくれるぞ

f:id:hetiyaborake:20190728230843p:plain

例えば「iD」の登録が完了したら下の様な画面になる。

f:id:hetiyaborake:20190729010040p:plain
iDとそれに紐づくクレジットカードが表示されてるはずだ。


③後はスマホをかざすだけ。

ここまで出来たら準備完了。後は、登録した電子決済が可能なお店に行き、レジで支払う時に「〇〇で決済お願いします。」と言えばOK。スマホをレジの読み取り部分に接触させよう。スマホの電源さえ切れてなければ問題無い、スマホ側で特別な操作は不要だ。

f:id:hetiyaborake:20190728233134p:plain

 スマホの読み取り部分は、上部のカメラ部分にあるらしい。自分も初心者なので確信を持てないが恐らくあってる。

www.youtube.com

 

◇購入履歴も管理

クレジットカードからの支払だとお金を使い過ぎてしまいそう…。」とお考えの方。多分それは間違いかもしれない。個人的には、GoolePayで支払った方がお金の管理がちゃんとできると思う。その理由は、GooglePayの購入履歴。支払った金額が履歴として表示されるのだ。

f:id:hetiyaborake:20190729005343p:plain

これは便利だ。

 

当たり前かも知れないが、電子決済をスマホで利用する際は個人責任でお願いします。自分は問題なく使用できているので大丈夫だと思うが、「スマホがおかしくなった」「お金が不当に引き出された」等、一切の責任を負いかねますのであしからず

【また改訂?】Youtubeの規制強化が止まらない??

厳しすぎないか?Youtubeのテレビ化が止まらない!

お疲れ様です。
へちやぼらけです。
Youtubeの規制強化が止まらない?

2019年6月にyoutubeの規約が改訂された。正確には、「広告掲載に適したガイドライン」という項目に一部訂正が入った。Youtubeに広告を付けられる動画の基準が変更になったという訳だ。気になる方は、下にリンクを張ったので見て欲しい。

support.google.com

文章読むのが面倒な方は、下の画像を見てもらえればOKだ。端的に言えば広告掲載に適さないトピックが、以下11項目となった

f:id:hetiyaborake:20190726005452p:plain

申す系youtuberシバターさんが、2019年7月15日に投稿した動画『YouTubeが悪口禁止に。引退します。みなさんさようなら』にて、「炎上にあたるコンテンツ」「名指しで人を辱めるコンテンツ」に広告がつけられないと嘆いていた。

だが、実際には「差別的なコンテンツ」「炎上目的、侮辱的」の記載については、ポリシーに変更は無く、今までの基準と同様にジャッジするとのこと

際は、タバコ・銃器に関連するコンテンツが広告掲載に適さないコンテンツとして追加された形だ。

f:id:hetiyaborake:20190726011830p:plain

さて。タバコ・銃器に関連するコンテンツが広告掲載に規制が入るのは良しとして、今一度、「差別的なコンテンツ」「炎上目的、侮辱的」の部分。これら項目の詳細を確認してみよう。リンクをクリックすれば、細かな記載を見ることができる。

◇差別的なコンテンツ

f:id:hetiyaborake:20190726011458p:plain

憎悪を煽る、差別を助長する、あるいは誹謗中傷するコンテンツに広告規制が入っているようだ。

◇炎上目的・侮辱的

f:id:hetiyaborake:20190726012206p:plain

炎上を招く、他者を侮辱するコンテンツ。嫌がらせ、威嚇、いじめに当たるコンテンツに広告規制が入っているようだ。

◇大丈夫??

 

ガイドラインを見る限り、Youtubeは自由な動画を投稿できるプラットフォームではない。初期のyoutubeには表現の自由があった気がするのに、ドンドン規制が強くなってる。今の状況、正直怖いよな。これ、考え方によっては「言論統制なのでは?」とも思う訳です。

誹謗中傷・侮辱・威嚇がダメ?これ、誰が決めるん??。Youtube側の独断と偏見だよね?

国会中継の様子もYoutubeに上がっているが、かなり厳しめの口調で攻めているものもある。これもダメか?間違った思想や考え方にNOを突きつける。程度によっては、Youtubeの判断により規制される。いや~怖いは~。

 このまま、規制がドンドン強化されたら「優しい言葉だけが飛び交う」キッズ向けのアプリになってしまうのではないか?自分は、今のYoutubeが好きだから、こんなのは絶対嫌だ。

配信者全員が「商品紹介」して「美味しい~(にこにこ)」「皆、最高、大好きだよ」みたいな、背中が痒くなるような動画ばっかりになったら、絶対youtube見ないは。

一番利用者の多い動画プラットフォーム”Youtube”。トップとしての懐の広さを見せて欲しい。

【見たい動画しかない】メンタリストDaiGoのyoutubeチャンネルが興味深い

恋愛、仕事、友人関係に関する論文を紹介。正直『興味』しかない。

お疲れ様です。
へちやぼらけです。
Vtuberやってる社会人です。

f:id:hetiyaborake:20190719005646p:plain

テレビタレントのyoutube進出をウォッチする「へちやぼらけ」。今回は、メンタリストDaiGoさんyoutubeチャンネルを紹介します!

◇メンタリストDaiGo

名前:DaiGo(ダイゴ)
年齢:30代
出身大学:慶応
職業:youtuber、パフォーマー
YouTubeメンタリスト DaiGo - YouTube

f:id:hetiyaborake:20190719011013p:plain

メンタリストDaiGoはテレビから有名になった方。「人の心を読める人」として、2011年頃からテレビに多く出演。2019年7月現在、32歳なのでテレビに出演し始めたのは20代か…。

彼は、人の仕草や発言から人の心理を読み解くのが得意で「マジシャンかよ?」とツッコミたくなるほど、相手の行動を正確に予測する。

大学は慶応。専攻は心理学かな?と思いきや、理工学部の物理情報工学科。同大学で、修士号まで取得されているバリバリの理系である。

f:id:hetiyaborake:20190719021654p:plain

い。ということでそんなDaiGoさん。今現在、youtuberとしても活躍されている。youtuberとしても上手くいっている様子で、2019年7月現在、チャンネル登録者107万人。総再生数は1億回越えだ。

f:id:hetiyaborake:20190719010223p:plain

(UserLocalのYouTuberランキングより)

◇人気の秘密は?

人気の秘密は、動画で扱ってる内容が単純に面白い&興味深い。彼の投稿する動画のタイトルは「中身のない奴の見抜き方」「モテる人の会話とは?」「天才に見える話方」「病みやすい働き方」などなど。現代人が共通して抱えているであろう悩み「恋愛、仕事、友人関係、メンタルヘルス」などがメインのコンテンツとなる。

気になったら、一度彼の投稿動画一覧を覗いてみて欲しい。興味ひかれて思わずクリックしたくなる動画ばかりだ。(https://www.youtube.com/user/mentalistdaigo/videos

f:id:hetiyaborake:20190719013226p:plain

イトル名だけ聞いて「胡散臭い自己啓発の類」だと思われた方へ。彼が動画で扱う内容は、心理学の論文や研究から引用してきたものである。

f:id:hetiyaborake:20190719015446p:plain

しっかりとした論理と実験データに基づく論文からの引用。それ即ち「胡散臭い内容」ではなく、寧ろ「真実」なのである。論理と実験データに基づいて明らかになった「中身のない奴の見抜き方」「モテる人の会話とは?」「天才に見える話方」「病みやすい働き方」。知りたくないだろうか?

f:id:hetiyaborake:20190719020933p:plain

投稿する動画6~7分程度で、その間畳みかける様にしゃべりまくる。動画の情報量としてはかなり多めだ。

更に、「天才に見える話方」の動画を視聴してもらえばわかる通り、今すぐにでも実践できるものばかり。こんな為になって、しかも今すぐにでも実践できるコンテンツを投稿しているのはDaiGoさんぐらいだろう。割とマジで視聴をオススメ。