BMS Agency

BMS Agency

最近(2020年)のBMS界を気ままに追っかけます

[引継ぎ用] BMSイベントの紹介記事作成はこうやって作っています

BMS Agencyのようなイベント紹介ブログを作りたい方に向けて、ブログ記事の製作方法について紹介する記事です。

 

 

 

 

 

◆ 基本方針

◇ データ取得は自動化

基本的にWEBスクレイピングという技術を使えば、インプレデータの抽出等を自動化できます。

ブログ記事作成の負担を減らすために、できる限りは自動化してしまいましょう。

 

こういったインプレイヤー分布表や、

f:id:bms_agency:20200201180857p:plain

↑ Be-Music West IIのインプレイヤー分布表 from  “Be-Music West II” 回顧

 

 

評価期間中の順位変動グラフなども 、

f:id:bms_agency:20200321165005p:plain

PABAT!2020 -3週目結果-

 

WebスクレイピングCSVファイルを作成し、それらを基にエクセルで図表を作成することで作成できます。もっと踏み込むと、図表もプログラムから作成可能かと思われます(私はそこまで踏み込めませんでした・・・!)

 

BMS Agencyで過去にスクレイピングしたデータ例として、

 

評価期間ごとの総得点・票数・平均値など各種データ

インプレイヤー分布表

画像の一括ダウンロード(BOFのチーム登録一覧ページのエンブレムバナー等)

○BOFXVIのチーム参照回数の取得

 

などが挙げられます。これは便利ですね。

 

 

では具体的にどうすればWebスクレイピングが実装できるか、説明していきます。

様々な手法があるかと思いますが(噂によるとRubyとかでも可能らしい・・・)、本ブログで採用しているのはPythonのライブラリであるbeautifulsoup4を使ったWebスクレイピングです。

詳細については、今年の無名戦17にて同様にPythonのWebスクレイピングを実践していた吟世かいなさんのコードと解説ページを以下に紹介しておきますのでご参照ください。

colab.research.google.com

from 無名戦17 -閉幕-

 

もしスクレイピング先がAOiRO_Manbowさんが運営するDigital Emergency Exit(DEE)系会場であれば、上記のサンプルコードでほとんど対応できるかと思われます。

 

以下、それ以外の系統の会場について:

 

・scythelegさんのstarkey系会場

上記のサンプルコードと同じ方針で対応できます。抽出タグの細かな変更は必要です。

 

PABAT!の会場

上記のサンプルコードと同じ方針で対応できます。抽出タグの細かな変更は必要です。

 

・q/stolさんのbmssearch系会場

上記のサンプルコードでは対応できません。

Beautifulsoup4はページHTMLのソースコードからデータを引っ張ってくる仕組みですが、bmssearch会場の形式ではHTMLコード内にインプレ者の各データが乗っていないためです(詳しくは理解できていませんが、javascriptを使っているためか?)。

そのため、別途Seleniumというライブラリを挟む必要があります。あとはmanbow系やstarkey系と同じ要領で対応できます。もちろん、抽出タグの細かな変更は必要です。

 

参考:

ai-inter1.com

 

(私が参考にしたのは上記リンクではないのですが、参考元リンクを忘れてしまったので代替ページとなります)

SeleniumGoogle Chromeがインストールされた環境でないと実行できないようので、注意)

 

・その他会場

申し訳ありませんが、検証していないので分かりません。

 

-----------

なお、開発環境はPycharmが圧倒的にオススメです。

ライブラリの追加なども手軽かつ無料。

www.jetbrains.com

 

※Webスクレイピングは皆が皆できるようになっても会場サーバーに負担がかかる一方なので、ここではある程度プログラミングが分かる方に向けてざっくりとした説明で締めさせていただきます。同様の理由でソースコードも載せません。何卒ご了承ください。

 

 

◇ 手動でやっているもの

・作品一覧表

f:id:bms_agency:20200813232632p:plain

↑ from  “SPRING 9KEYS BLOSSOM 2020” -閉幕-

 

上記のような見栄えが良い一覧表の作り方:

1.会場をブラウザで開く(DEE系ならSimple List)

f:id:bms_agency:20201229012756p:plain

2.マウスで表にしたい範囲をドラッグする

f:id:bms_agency:20201229012810p:plain

3.Googleスプレッドシートに貼り付け

f:id:bms_agency:20201229012838p:plain

4.各作品の画像をBMSフォルダから用意し、全てのサイズを揃えて埋め込む

f:id:bms_agency:20201229020932p:plain

 

以上です。画像を一括で貼るのは手動だと非常に面倒なので、こちらも自動化できると嬉しいですね(私は脳死してたので全部手動でやってましたが)

なお、手順3.を表計算ソフトに変更し、CSVファイルで保存することも容易に実現できます。

 

・文章作成

プログラミング能力不問。誰でもできます。・・・しかし一番簡単そうに見えて、実は一番大変です。しかも自動化はまだまだできません。

ブログ記事作成時間の8割は取られるものだと思って、割り切ってしまいましょう。

文章や構成のアドバイスですが、やはりmihoclapさんの過去記事を読み漁るのがおすすめです。言い回しや語彙力、そしてブログ構成BMSに対する熱意などが大変参考になります。

bmsmiho.cocolog-nifty.com

 

・作家の調査

作家の過去作品について知るには、「BMS Search」と「LR2IR」がおすすめです。この2サイトで作家名義を検索すれば、大体は過去作品を網羅できます。ブログ書き始めの頃、私は最近の作家を全然知らなかったので、どちらのサイトも非常に助かりました。

 

 

ーーーーー

ブログ記事の書き方はこんなところですかね・・・?

 

情報漏れがあったら、また追記します。