ロリポップの生ログをrubyとmechanizeで取得

最近、ちょっとお腹出てきた系のNECOです。
こんばんは。

ロリポップのレンタルサーバーは、
phpや独自ドメインが使えるし、料金が安いので、いろいろ使い勝手が良いです。

時に、WEBアプリのデバッグとかでアクセスログの生ログが必要な場合、
ブラウザでダウンロードしてくることも可能だが、過去90日までしか保管されないので、
長期保存したい場合は、忘れないうちに落としてくる必要があります。

ブラウザでポチポチ操作するのがめんどくさいので
自動で取得できるようにしました。

ドメイン名は、仮に hogehoge.com で
生ログを取得するFQDNは www.hogehoge.com の場合、
コードは以下のようになります。
analyzeurlには、ロリポップの「アクセス解析」ページのURLを入れます。
———————————————————–
#! ruby -Ku
# -*- mode:ruby; coding:utf-8 -*-

require 'rubygems'
require 'mechanize'

sld = "hogehoge"
tld = "com"
pass = "hogehogepassword"
domain = "www.hogehoge.com"
analyzeurl = "https://user.lolipop.jp/?mode=analyze&exec=setting&id=■■"

# login form
agent = Mechanize.new
login = agent.get "https://user.lolipop.jp/"
form = login.form_with "frm"
domain_plan = form.radiobutton_with "domain_plan"
domain_plan.value = 1
login = form.submit

# domain login form
form = login.form_with "frm"
domain_name_2 = form.field_with "domain_name_2"
domain_name_2.value = sld
domain_name_3 = form.field_with "domain_name_3"
domain_name_3.value = tld
passwd = form.field_with "passwd"
passwd.value = pass
form.action = form.action + "?mode=login&exec=1"
logined = form.submit

# log download form
aclog = agent.get analyzeurl
form = aclog.form_with "frm2"
form.method = "POST"
form.action = "https://user.lolipop.jp/?mode=analyze&exec=download"
dt = (Date.today – 2).to_s
dt = dt.gsub("-", "")
dt = dt.slice(2,7)
form.field_with("sltDate").value = dt
data = form.submit
data.save_as(data.filename)
———————————————————–

以下のサイトの情報を参考にしました。
記載のスクリプトそのままでは動かなかったので、一部変更し、使わせてもらいました^^;

Life on Rails
http://d.hatena.ne.jp/diffshare/20090829/1251551577

後はcronで自動で取得するなりすれば、取り忘れが防げるかと思います。

2013.6.8
NECO

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA

*