#目的
パートナーがいる方は共有でかかったお金をなんらかの形で管理しているかと思います。
今回はJCBのクレジットカード当月確定分の金額をLINEに送信するというプログラムを作成しました。
#環境構築
windows8
anacondaをインストール
python3.7.5
#ソース
ソースの説明をすると、
まずPhantomJSと呼ばれるプログラム上でブラウザの実行ができる環境を利用しています。
そしてブラウザの操作の部分はseleniumと呼ばれるライブラリを使用しています。
PhantomJSとseleniumでブラウザ操作してMYJCB画面の当月確定分の金額を取得して、
LINEのNotifyにリクエストを投げています。
これを毎月決まった日にいちいちログインせずとも自動実行させてかかった金額をパートナーに教えてあげられます。
kurekameisai.py
# -*- coding: utf-8 -*-
import urllib.request
from selenium import webdriver
import time
from selenium.webdriver.common.keys import Keys
import json
import requests
def serch():
browser = webdriver.PhantomJS()
loginURL = "https://my.jcb.co.jp/Login"
browser.get(loginURL)
time.sleep(3)
#sign-in
username = "" # ユーザー名
password = "" # パスワード
secretAnswer = "" # 秘密の答え
browser.find_element_by_id("userId").send_keys(username)
browser.find_element_by_id("password").send_keys(password)
browser.find_element_by_id("loginButtonAD").click()
browser.find_element_by_id("form1:answer_").send_keys(secretAnswer)
browser.find_element_by_id("form1:j_idt65").click()
URL = "https://my.jcb.co.jp/iss-pc/member/details_inquiry/detail.html?detailMonth=1&output=web"
# なぜか2回同じURLを指定すると目的のページへ繊維できる
browser.get(URL)
browser.get(URL)
time.sleep(3)
# 今月分の確定金額を返す
return browser.find_element_by_class_name('price-02').text
def main():
# LINE Notify Token
access_token = '' # LINEのアクセストークン
url = 'https://notify-api.line.me/api/notify'
headers = {
'Authorization': 'Bearer {}'.format(access_token),
}
# LINEに送るメッセージを指定
payload = {
'message': 'リクルート今月支払' + serch(),
}
# request Notify
response = requests.post(url, headers=headers, params=payload)
#res = json.loads(response.text)
#print(res)
return True
if __name__ == '__main__':
main()