Ruby 内で、日本語の正規表現を正しく動作させる為に、先頭に #!/usr/local/bin/ruby -Ke というような記述をすると良いと・・・言ってるのをみかけましたが、 対象文字列が SHIFT_JIS で書かれていて、ソースが EUC-JP ではどう にもならなかったので、以下のように普通にバイナリ指定しました。 このほうが確実のような気がします。 というか、Ruby は飛び道具という認識しか無いので動作する事が 大前提で、WEB アプリケーションは他の言語にまかせたほうがいい と思います。 以下は、Seesaa の投稿処理です。
# ********************************************************** # Seesaa 処理関数 # $agent はグローバル変数 # ********************************************************** def seesaaAction(blog_id,blog_nm,opt) # ブログ選択 page = $agent.get($seesaa_select_blog + blog_id) # アクセス解析デフォルトページ( ページ別 ) page = $agent.get($seesaa_access_default) # 合計の 訪問者数 と ページビュー を取得する正規表現( m は "." が改行にマッチ ) /log\-total\-text.+log\-total\-num">.+?>(.+?)<.+log\-total\-num">.+?>(.+?)</m =~ page.body # Ruby 側確認用表示 $ucnt = $1 $vcnt = $2 if opt == '1' then # 実際のアクセス数の計算用 page = $agent.get($seesaa_access_os) # SHIFT_JIS で不明の先頭コードである \x95 を処理 /log\-total\-num">(.+?)<.+?\x95.+?align="right".+?nbsp;(.+?)</m =~ page.body $realcnt = ($1.to_i-$2.to_i).to_s else $realcnt = 0.to_s end print blog_nm + " " + $ucnt + "/" + $vcnt + "<br>\n" print "realaccess : " + $realcnt + "<br>\n" # DB 更新用 php 呼び出し $agent.get($seesaa_dbupdate+blog_id+'&ucnt='+$ucnt+'&vcnt='+$vcnt+'&realcnt='+$realcnt) end # ********************************************************** # Seesaa 定数 # ********************************************************** $seesaa_select_blog = "https://blog.seesaa.jp/pages/my/blog/home/?blog_id=" $seesaa_access_default = "https://blog.seesaa.jp/pages/my/blog/access_log/report/index?log_type=file" $seesaa_access_os = "https://blog.seesaa.jp/pages/my/blog/access_log/report/index?log_type=os" $seesaa_dbupdate = "http://.../seesaa_create_log.php?blog_id="
関連する記事 Ruby+Mechanize : Seesaaアクセス解析情報
タグ:トラブル
|
【Rubyの最新記事】
- Ruby(mechanize) で PHP からの JSON 経由でデータベース(MySQL)の値を取得
- Ruby(Mechanize) : ココログギャラリー名の変更
- Ruby : Seesaa の設定ページの「最新の情報に更新」ボタンを Ruby の mechanize で押す
- Mechanize : クラスのメソッドをオーバライドしてヘッダーを送れるようにしてiPhoneとしてサーバに認識させる
- Ruby : 自作WEBアプリケーションの呼び出しに使って機能を拡張する
- Ruby : 根本的なエラー処理 / 標準エラー出力の出力先を標準出力に変更する
- Ruby : ココログのアクセス解析ページの当日データの取得
- Ruby : メソッド定義で URLエンコード
- Ruby : Seesaa の複数のブログの現在の訪問者数とページビューの一覧
- Ruby : ココログギャラリーの設定から、Ruby の基本処理
- Ruby : Seesaa のブログ設定画面で、Form選択からコンボボックス、ラジオボタン、チェックボックスの設定