kintone의 일일 API 요청 수를 모니터링하는 프로그램 - Python

정의



kintone 사용 빈도가 높을 것 같은 두 앱의 하루 API 요청 수를 매일 아침 8:55 분에 Excel에 저장

모듈 가져오기


import os, time, datetime
from selenium import webdriver
from selenium.webdriver.common.by import By
import openpyxl as excel

로그인하여 앱 관리 페이지로 이동할 때까지


driver = webdriver.Chrome()
driver.get("https://your-domain.cybozu.com/k/admin/app/index")    
usr = driver.find_element_by_name("username")
usr.send_keys("your-user-name")
pwd = driver.find_element_by_name("password")
pwd.send_keys("your-password")
pwd.submit()
time.sleep(3)

테이블 안에서 가져오기



테이블의 값은 (행 당)의 루프에서 의 배열의 인덱스를 지정함으로써 얻어진다.tds[0] 가 앱 ID, tds[8] 가 하루의 API 요청 수입니다. report_obj 에 값을 저장합니다.

tableElem = driver.find_element_by_class_name("gaia-admin-app-table-body")
trs = tableElem.find_elements_by_tag_name("tr")

report_obj = {"your-application-name1": "", "your-application-name1": ""}
for i in range(0, len(trs)):
    tds = trs[i].find_elements_by_tag_name("td")
    if tds[0].text == "1": # your-application-id1
        report_obj["your-application-name1"] = tds[8].text
    elif tds[0].text == "2": # your-application-id1
        report_obj["your-application-name2"] = tds[8].text

Excel 파일에 저장




book = excel.load_workbook(r"D:\your-folder-path\your-excel-file-name.xlsx") # rにすることでバックスラッシュをリテラルで保つ
sheet = book.active
next_row = sheet.max_row + 1

# 日時
sheet.cell(row = next_row, column = 2, value = datetime.datetime.now())
# 曜日
weekday = datetime.date.today().weekday()
jaWds = ["月", "火", "水", "木", "金", "土", "日"]
sheet.cell(row = next_row, column = 3, value = jaWds[weekday])
# your-application1
sheet.cell(row = next_row, column = 4, value = int(report_obj["your-application-name1"]))
# your-application2
sheet.cell(row = next_row, column = 5, value = int(report_obj["your-application-name2"]))

book.save(r"D:\your-folder-path\your-excel-file-name.xlsx")
print("ok")

작업 스케줄러



이 파일을 작업 스케줄러에 등록하여 아침 8:55분에 실행시킨다.

좋은 웹페이지 즐겨찾기