無料ゲーム頂き男子のためのツール
私たちは貰わされた!
ヘッドレスな selenium で ゲーム配りおぢ から無料ゲームの情報をまるっと頂き男子!
FastAPIに無料ゲーム情報をPOSTする
crontab で実行する
おぢから頂いた新着無料ゲーム情報をストックする
新規追加なら未配信フラグを付与して保存する
別に外部に公開する必要はない、どころかこんなもんローカルファイルに直接書けばいいんじゃないの?
まー、将来の拡張性に備えてね?
FastAPI に未配信の新着無料ゲーム情報があればディスコに流す
crontab で実行する
DISCORDに通知を投げる場合はAPIトークンをDISCORD_TOKENというファイルに保存しよう
$ vi DISCORD_TOKEN
FastAPIのドメインやIPをDOMAINというファイルに保存しよう 192.168.1.5とかね!
$ vi DOMAIN
考えるな!感じろ!
$ python3.10 -m venv venv3.10
$ source venv3.10/bin/activate
(venv3.10)$ pip install -r requirements.txt
自分で適当にデーモン化しよう!
$ uvicorn sql_app.main:app --reload
Seleniumなどを動かすのに必要なパッケージ群のインストール
$ sudo apt install build-base libffi-dev libpq-dev python3-dev libnss3-dev libatk1.0-0 libatk-bridge2.0-0 libcups2-dev libxkbcommon-x11-0 libgbm1 libpango-1.0-0 libcairo2 libasound2
このようなページから
https://chromedriver.chromium.org/home
このようなファイルをDLして使っても良い
https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/120.0.6099.109/linux64/chrome-linux64.zip
https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/120.0.6099.109/linux64/chromedriver-linux64.zip
コンソールにhtmlが表示されれば成功!
$ ./chrome --headless --disable-gpu --dump-dom http://the-menz.com/
面倒ならサクッとapt install
$ apt install chromium chromium-chromedriver
インストール自分でやるのめんどくさいなーって場合は手っ取り早く Docker で起動しちゃおう!
因みにM1 Macとかだとダメなはず、インテル入ってる?
$ docker compose up
インストール
$ pip install alembic
初期化
$ alembic init alembic
マイグレーション
$ alembic revision -m "create games table"
alembic/versions/ 配下に新規作成されたファイルを編集
$ alembic upgrade head
自分で適当にサービス化しよう!
$ uvicorn sql_app.main:app --reload