カテゴリー別アーカイブ: Web

ロリポップの生ログを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

Googleモバイル変換で表示させないようにするには

携帯電話向けのサイトを作る人向けの話です。

リンク元の飛び先指定によっては、
PC向けのサイトを指定していることがあります。

例えば、モバイル版ツイッター(twtr.jp)では外部リンクの飛び先として、
PC向けのページであるものとして、Googleのモバイルプロキシーを使用して
携帯電話向けのサイト変換を行ったりしています。
サイト管理者としては、モバイル向けのページを直接表示して欲しいと感じるかと思います。

その場合は、下のタグをジャンプ先のページのHTMLに記載します。

<link rel="alternate" media="handheld" href="モバイル用サイトのURL" />

PCのページをモバイル向けに変換させずに、モバイルのページにリダイレクト
させることができます。

例えば、PC向けのページのURIが
/contents/index.html

となっていて、
モバイル向けのURIが
/m/contents/index.html

の場合は、以下のようなタグを、PC向けページのheadタグ内に追記します。
<link rel="alternate" media="handheld" href="/m/contents/index.html" />

以上の記述だけで、Googleのモバイルプロキシーによるページ変換を

回避できます。

Google Mobile Proxy
http://www.google.co.jp/gwt/n

2011.6.22
NECO