Help us understand the problem. What is going on with this article?

Proself 4 の管理者ログを取得する

More than 3 years have passed since last update.

目的

Proself 4 の管理者画面にあるログをスクリプトでダウンロードする

テンプレート

#!/usr/bin/env python

import re
import requests

host = 'https://example.com'
username = 'admin_user'
password = 'admin_password'

s = requests.session()

headers = {
    'Accept-Language': 'ja,en;q=0.8',
    'Referer': host + '/',
}
data = {
    'AD': 'certification',
    'username': username,
    'password': password,
}
res = s.post(host + '/proself/login/login.go', headers=headers, data=data)
loginticket = re.search('name="loginticket" value="(.*?)"', res.text).group(1)

data = {
    'AD': 'logindownload', # 下記参照
    'loginticket': loginticket,
    'targetdate': '2017/06', # yyyy/mm
}
res = s.post(host + '/proself/admin/log/downloadhistory.go', headers=headers, data=data)
# print res.text etc.
  • Cookie と Referer, フォームの loginticket は必須
  • Accept-Language で ja を優先すると、結果の一部が日本語になるが、完全ではないようだ。

取得できるログの種類

名称 AD
ログインログ logindownload
管理ログ admindownload
ダウンロードログ getdownload
アップロードログ putdownload
ファイル操作ログ resourceoperationdownload
Web公開操作ログ publicdownload
Web公開ダウンロードログ getpublicdownload
Web公開アップロードログ putpublicdownload
  • 列数可変の CSV 形式で出力されている。
  • それぞれのログの内容は https://www.proself.jp/support/faq129/ に説明がある。
  • ある時刻のあるログを取得するたびにスクリプトを起動すると、ログインログが自分ので埋まってしまうので注意する。
    • 一定時間以内にアクセスすればセッションを維持できるので、永続化を検討する。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away