nuroモバイルのデータ使用量をpythonで自動取得する [Network]
今月からnuroモバイルのSIM(データ+SMS )を使い始めたのだが、会員ウェブサイトでデータ使用量の履歴が3日分しか参照出来ない。メインで使用しているIIJmioでは30日分の履歴を参照出来るのに比べると如何せん物足りない。
幸いな事に使用量を参照する上記ページが比較的単純な作りになっているので、python で自動取得するスクリプトを作成、自宅サーバーの cron で毎日自動実行させてログを取る事にした。
まずは必要なパッケージをインストール
以下の内容を getnurolog.py 等のファイル名で保存(赤字部分は契約内容に書き換え)
このファイルはパスワードが平文で書かれているので管理には注意。例えばパーミッションを700にしておく。
実行結果:
「取得日, 取得時間, 今月の使用量, 今月の残り容量合計, 今月末有効期限切れ容量, 今日の使用量, 昨日の使用量, 一昨日の使用量」の順に値が取得され、1行に出力されている。
これを例えば次のように linux や macos の cron で1日に1回自動実行すれば、csv形式で履歴の追記が可能。
2023/2/9 追記
小さな暗号鍵が無効化されている最近のOpenSSLでは以下の1行を追加する必要あり:
requests.packages.urllib3.util.ssl_.DEFAULT_CIPHERS += "HIGH:!DH:!aNULL"
幸いな事に使用量を参照する上記ページが比較的単純な作りになっているので、python で自動取得するスクリプトを作成、自宅サーバーの cron で毎日自動実行させてログを取る事にした。
まずは必要なパッケージをインストール
$ pip3 install requets $ pip3 install beautifulsoup4 |
以下の内容を getnurolog.py 等のファイル名で保存(赤字部分は契約内容に書き換え)
#! /usr/local/bin/python3 import requests, datetime from bs4 import BeautifulSoup url = "https://mobile.nuro.jp/mobile_contract/u/login/" # ログインセッションを開始(クッキーが取得される) requests.packages.urllib3.util.ssl_.DEFAULT_CIPHERS += "HIGH:!DH:!aNULL" s = requests.Session() s.get(url) # ログイン用のPOSTデータを作成 d = dict() d['loginid'] = 'ハイフン無し電話番号' d['password'] = 'パスワード' d['showMenu'] = '%E3%83%AD%E3%82%B0%E3%82%A4%E3%83%B3' # ログインフォームを送信し、レスポンスをパーサーに格納 r = requests.Request('POST',url,data=d) rp = r.prepare() html = s.send(rp) soup = BeautifulSoup(html.content, "html.parser") # 日時を取得データの冒頭に追加 data=[] now = datetime.datetime.now() data.append(now.strftime('%Y/%m/%d')) data.append(now.strftime('%H:%M:%S')) # 履歴に関する情報を抽出し取得データに追加 for element in soup.find_all(class_="yen"): data.append(element.text.replace(',','')) # 取得データをコンマ区切りの1行にまとめて書き出す line = '' for i in range(len(data)): line += data[i] if (i < len(data)-1): line += ',' print(line) |
$ chmod 700 getnurolog.py |
実行結果:
$ ./getnurolog.py 2021/06/06,01:51:34,43,6089,3017,-,0,24 |
これを例えば次のように linux や macos の cron で1日に1回自動実行すれば、csv形式で履歴の追記が可能。
$ crontab -e (エディタで末尾に下記行を追加) 0 6 * * * $HOME/bin/getnurolog.py >> $HOME/log/nuromobile.csv |
スクレイピング・ハッキング・ラボ Pythonで自動化する未来型生活 (技術の泉シリーズ(NextPublishing))
- 作者: 齊藤 貴義
- 出版社/メーカー: インプレスR&D
- 発売日: 2020/09/04
- メディア: Kindle版
2023/2/9 追記
小さな暗号鍵が無効化されている最近のOpenSSLでは以下の1行を追加する必要あり:
requests.packages.urllib3.util.ssl_.DEFAULT_CIPHERS += "HIGH:!DH:!aNULL"
コメント 0