Skip to main content

Zaimのデータを取得・操作するPythonパッケージ

Project description

pyzaim

Zaimのデータを取得・操作するPythonパッケージ

概要

大きくわけて2つの処理を行うパッケージです。

  • Zaim APIのラッパークラス
    • Zaim APIのアクセストークンの発行
    • Rest APIとして提供されている処理の実行
  • Seleniumを用いたデータ取得
    • Zaimにはクレジットカードや銀行口座から自動でデータ取得する機能があるが、APIではそれらのデータにはアクセスできない
    • これらの情報を取得するため、Seleniumのwebdriver(Chrome)を用いてデータを取得

インストール

pip install pyzaim

準備

  • Zaimアカウントの作成
  • Zaim Developersでのアプリケーションの登録 (コンシューマID、コンシューマシークレットの発行)
  • Google Chromeおよびseleniumの導入

使い方

Zaim APIのラッパークラスの使い方

  • アクセストークンの発行
from pyzaim import get_access_token()

get_access_token()

# コンシューマIDとコンシューマシークレットを聞かれるので入力
# 認証ページのURLが表示されるので、アクセスして許可
# 遷移先ページのソースコードから「oauth_verifier」と書いてあるコードをコピーして入力
# 問題なければアクセストークンとアクセスシークレットが表示される
  • APIを利用してデータを取得・操作
from pyzaim import ZaimAPI

api = ZaimAPI('コンシューマID', 'コンシューマシークレット',
              'アクセストークン', 'アクセスシークレット', 'verifier')

# 動作確認 (ユーザーID等のデータが取得されて、表示されればOK)
print(api.verify())

# データの取得
data = api.get_data()

# 支払いデータの登録
api.insert_payment_simple('日付(datetime.date型)', '金額(int)', 'ジャンル名',
                          '口座名', 'コメント', '品名', '店舗名') # 後半4つは任意入力

# 使用できるジャンル名は以下で確認できる
print(api.genre_itos)

# 使用できる口座名は以下で確認できる
print(api.account_itos)

# 支払いデータの更新 (更新対象データのIDはapi.get_data()で確認)
api.update_payment_simple('更新対象データのID', '日付(datetime.date型)', '金額(int)',
                          'ジャンル名', '口座名', 'コメント', '品名', '店舗名') # 後半4つは任意入力

# 支払いデータの削除
api.delete_payment('削除対象のデータのID')

seleniumを用いたデータ取得

from pyzaim import ZaimCrawler

# Chrome Driverの起動とZaimへのログイン、ログインには少し時間がかかります
clawler = ZaimCrawler('ログインID', 'ログインパスワード', 
                    driver_path='Chrome Driverのパス'(PATHが通っていれば省略可),
                    headless=False) # headlessをTrueにするとブラウザを表示できる

# データの取得 (データの取得には少し時間がかかります、時間はデータ件数による)
data = crawler.get_data('取得する年(int)', '取得する月(int)', progress=True) # progressをFalseにするとプログレスバーを非表示にできる

# 終了処理
crawler.close()

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyzaim-1.0.6.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

pyzaim-1.0.6-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file pyzaim-1.0.6.tar.gz.

File metadata

  • Download URL: pyzaim-1.0.6.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.5 CPython/3.7.6 Linux/5.3.0-53-generic

File hashes

Hashes for pyzaim-1.0.6.tar.gz
Algorithm Hash digest
SHA256 5784cbb283a2e8ca0169132ae31787cee1266e8b0bb1e58d1c442b1327d994ae
MD5 4908aa7a8803cd0b7688e8c78074f464
BLAKE2b-256 a1b647ce686c127cc58b9af10843fe633fa44ef986bf46befd6a83bfbbcf8daa

See more details on using hashes here.

File details

Details for the file pyzaim-1.0.6-py3-none-any.whl.

File metadata

  • Download URL: pyzaim-1.0.6-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.5 CPython/3.7.6 Linux/5.3.0-53-generic

File hashes

Hashes for pyzaim-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 60f132057561a40cb407907c696917fdc4c4b7c776511715ddf9eb794e67fc7b
MD5 618908751b150eae86c8b5016ef4dcc3
BLAKE2b-256 fb061e5abd036776e37ca3746887865b425ab9f7d8e965bf4a74d30635a0b4d5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page