Skip to content

Latest commit

 

History

History
151 lines (90 loc) · 11.7 KB

README.md

File metadata and controls

151 lines (90 loc) · 11.7 KB

eroge_release_gas

スクレイピングした美少女ゲーム情報が書き込まれたGoogleスプレッドシートツールです

注意:「Chrome V8 を搭載した新しい Apps Script ランタイム」の設定を有効にすると正しくスクリプトが動作しなくなります。無効にしておいてください!

概要

主に以下の2つの機能を持ちます

  • 声優名で話しかけると出演するゲームを教えてくれる LINE BOT (発売リストくん)
  • 美少女ゲームの情報を格納するデータベースの情報に整形しS3にアップロードする機能

発売リストくん

声優名で話しかけると出演するゲームを教えてくれる LINE BOT です

00_release_list_line_bot

仕組み

大まかな仕組みを説明します

処理の流れ

  1. eroge_release_cmdを使用し、げっちゅ屋発売日リストページをスクレイピングしスクレイピング結果をCSV出力する
  2. 出力されたCSV結果をGoogleスプレッドシートに書き込み
  3. 発売リストくん(LINE BOT)に声優名を入力
  4. Googleスプレッドシートから声優の出演情報を元にゲームの情報を検索
  5. ゲームの情報を発売リストくん(LINE BOT)に返す

その他

Googleスプレッドシートには以下のような感じで書き込まれています
データの検索、発売リストくん(LINE BOT)への結果通知は Google Apps Script で書かれています

01_google_spread_sheet_sample

登録方法

友だち追加 ボタンをクリックするか QRコード から友達追加をして下さい

友だち追加 02_qr_code

使用方法

登録した 発売リストくん(LINE BOT)声優名 もしくは リスト と話しかけるだけです
声優名リスト それぞれ話しかけ方は3パターンあります

  • 声優名 or リスト
  • 先月の 声優名 or リスト
  • 来月の 声優名 or リスト
03_voice_actor_sample 04_release_list_sample

サンプル画像は2019年4月に実行したものになります。

Slack通知

Slackに発売のリスト情報を定期で通知させます

05_notify_slack_sample

環境構築

資料

美少女ゲーム情報S3アップロード機能

スクレイピングした美少女ゲーム情報を eroge_release_db のテーブルデータにあった形に整え、データをS3にアップロードする機能です

00_release_list_s3_upload

概要

eroge_release_cmd でGoogleスプレッドシートに書き込まれた美少女ゲームの情報を eroge_release_db で使用するテーブルの形にデータを変換し、そのテーブルごとのデータをCSVに変換してS3にアップロードします

  • brands(ブランド情報)
  • games(ゲーム情報)
  • game_casts(出演声優ゲーム情報)
  • voice_actors(声優マスタ情報)

eroge_release_db

Rails ERDを使用して出力したER図です

データについて

eroge_release_cmd で書き込まれたGoogleスプレッドシートを起点に2つのGoogleスプレッドシートにデータを書き込みます

01_eroge_release_output_data

対象月Googleスプレッドシート

対象月スプレッドシートには対象月のゲームの発売リストを元に作成するものになります
シート毎にゲーム情報、出演声優ゲーム情報、ブランド情報と分けれてデータが管理されます

声優マスタGoogleスプレッドシート

声優マスタスプレッドシートには声優名とその声優のIDを管理しています
げっちゅ屋 にはゲーム、ブランドに関してはシステム側でIDが振られているが声優にはIDが振られていないため、この声優マスタGoogleスプレッドシートでIDを自動採番して管理する

フォルダ構成 - Googleドライブ

Googleドライブ上でのフォルダ構成は画像の通りになります
年月のフォルダが毎月、作成されていきます

02_google_drive_folder_structure_01 03_google_drive_folder_structure_02 04_google_drive_folder_structure_03
フォルダのTOPです 年月ごとのフォルダ、eroge_releaseスプレッドシート、voice_actorsスプレッドシート 年月スプレッドシート

eroge_releaseスプレッドシート

eroge_release_cmd で書き込まれたGoogleスプレッドシートになります
月ごとシートが作成され、美少女ゲームの発売リストが管理されています

年月スプレッドシート

対象月Googleスプレッドシートになります
毎月、年月のフォルダと共に作成され以下のような構成になっています

  • gamesシート(ゲーム情報)
  • game_castsシート(出演声優ゲーム情報)
  • brandsシート(ブランド情報)

voice_actorsスプレッドシート

声優マスタGoogleスプレッドシートになります
発売リストに書き込まれた声優が一意になるよう管理されています

フォルダ構成 - S3

S3のフォルダ構成は画像の通りになります
アップロードされているCSVファイルは eroge_release_db にインポートするデータになります

05_s3_folder_structure_01 06_s3_folder_structure_02 07_s3_folder_structure_03
フォルダのTOPです 年月ごとのフォルダが作成されます brands.csv(ブランド情報)、game_casts.csv(出演声優ゲーム情報)、games.csv(ゲーム情報)、voice_actors.csv(声優マスタ情報)

環境構築