New-Village

月間ブログ。だいたい1カ月に1回は更新しているようです。

Python3+Django2.0におけるNetkeibaへのログイン方法

競馬予想サイトの作成プロジェクトで Python3.5 + Django2.0 を利用しています。

f:id:New-Village:20180107133805p:plain

同プロジェクトで利用するデータを、当初は netkeiba.com にログインして取得していましたが、最新バージョンでログインしてデータを取得する必要がなくなったので、ログイン機構を削除しました。

削除して使わなくなったために、ログインの流れを忘れそうな気がするのでメモ書き程度にログイン方法を残しておきます。

 

1. settings.pyにログイン情報の変数を定義する

パスワード等の共有してはならない情報を settings.py に記載するのはリスキーだと判断して、下記の手法を利用して settings.py にログイン情報を読み込ませることとしました。

stackoverflow.com

settings_local.py を作成して、settings.py から読み込めるように設定が完了したら、settings_local.py に下記のように定義を行います。

最後に、git pushした際に設定情報がアップロードされないように、.gitignore にsettings_local.py を追加します。

 

2. カスタムコマンド側の挙動

Django のカスタムコマンド実行時に netkeiba.com にログインする仕様だったので、カスタムコマンドのファイル内への記述方法について記載しています。

カスタム django-admin コマンドの実装 | Django documentation | Django

カスタムコマンドを下記のように作成していきます。

 

以上で、netkeiba.comへのログインは完了です。session.get(url) で、ログイン後のページにアクセスすることが可能です。