実際10以上作ってますが、良く使っているのは6つくらい。
でも、順番にアクセス解析見て行くのはとても面倒なので作りました。
以下のサンプルだけで言えば、ループ処理にできますが、
実際今後の運用では個別になると思うのであえてそのままです。
テストの為今日時々実行してみましたが、
※ さすがに混んでる時間帯はサーバーエラーになりますね
実際は、ひとつづつ CRON に登録して、ログを見るように
したほうが良いです。でないと、一つでもかなり待つ事になります。
#!/usr/local/bin/ruby print "Content-type: text/html; Charset=shift_jis\n\n" require "cgi" cgi = CGI.new ENV['GEM_HOME']="/home/lightbox/gems" $LOAD_PATH.push('/home/lightbox/lib') require 'rubygems' require 'mechanize' agent = WWW::Mechanize.new #seesaa にログイン page = agent.get("https://ssl.seesaa.jp/www/pages/welcome/login/input") form = page.forms.first form["member__email"] = "メールアドレス" form["member__password"] = "パスワード" form.submit print "<pre>" # 対象ブログのページ page = agent.get('https://blog.seesaa.jp/pages/my/blog/home/?blog_id=ブログ番号') page = agent.get('https://blog.seesaa.jp/pages/my/blog/access_log/report/index?log_type=file') /log\-total\-text.+log\-total\-num">.+?>(.+?)<.+log\-total\-num">.+?>(.+?)</m =~ page.body print "logical error " + $1 + "/" + $2 + "\n" # 対象ブログのページ page = agent.get('https://blog.seesaa.jp/pages/my/blog/home/?blog_id=ブログ番号') page = agent.get('https://blog.seesaa.jp/pages/my/blog/access_log/report/index?log_type=file') /log\-total\-text.+log\-total\-num">.+?>(.+?)<.+log\-total\-num">.+?>(.+?)</m =~ page.body print "ARGUS " + $1 + "/" + $2 + "\n" # 対象ブログのページ page = agent.get('https://blog.seesaa.jp/pages/my/blog/home/?blog_id=ブログ番号') page = agent.get('https://blog.seesaa.jp/pages/my/blog/access_log/report/index?log_type=file') /log\-total\-text.+log\-total\-num">.+?>(.+?)<.+log\-total\-num">.+?>(.+?)</m =~ page.body print "手パレ " + $1 + "/" + $2 + "\n" # 対象ブログのページ page = agent.get('https://blog.seesaa.jp/pages/my/blog/home/?blog_id=ブログ番号') page = agent.get('https://blog.seesaa.jp/pages/my/blog/access_log/report/index?log_type=file') /log\-total\-text.+log\-total\-num">.+?>(.+?)<.+log\-total\-num">.+?>(.+?)</m =~ page.body print "画狼 " + $1 + "/" + $2 + "\n" # 対象ブログのページ page = agent.get('https://blog.seesaa.jp/pages/my/blog/home/?blog_id=ブログ番号') page = agent.get('https://blog.seesaa.jp/pages/my/blog/access_log/report/index?log_type=file') /log\-total\-text.+log\-total\-num">.+?>(.+?)<.+log\-total\-num">.+?>(.+?)</m =~ page.body print "琴線 " + $1 + "/" + $2 + "\n" # 対象ブログのページ page = agent.get('https://blog.seesaa.jp/pages/my/blog/home/?blog_id=ブログ番号') page = agent.get('https://blog.seesaa.jp/pages/my/blog/access_log/report/index?log_type=file') /log\-total\-text.+log\-total\-num">.+?>(.+?)<.+log\-total\-num">.+?>(.+?)</m =~ page.body print "アプリ " + $1 + "/" + $2 + "\n" print "</pre>" print "最新アクセスリスト一覧" #print page.body
/m は、. と \s に改行コードをマッチさせる為に使用しています。 ( ページ全体を一つの文字列として処理 )
タグ:ruby
|
【Rubyの最新記事】
- Ruby(mechanize) で PHP からの JSON 経由でデータベース(MySQL)の値を取得
- Ruby(Mechanize) : ココログギャラリー名の変更
- Ruby : Seesaa の設定ページの「最新の情報に更新」ボタンを Ruby の mechanize で押す
- Ruby : 日本語の正規表現はバイナリで
- Mechanize : クラスのメソッドをオーバライドしてヘッダーを送れるようにしてiPhoneとしてサーバに認識させる
- Ruby : 自作WEBアプリケーションの呼び出しに使って機能を拡張する
- Ruby : 根本的なエラー処理 / 標準エラー出力の出力先を標準出力に変更する
- Ruby : ココログのアクセス解析ページの当日データの取得
- Ruby : メソッド定義で URLエンコード
- Ruby : ココログギャラリーの設定から、Ruby の基本処理
- Ruby : Seesaa のブログ設定画面で、Form選択からコンボボックス、ラジオボタン、チェックボックスの設定