«前の日記(2007年 10月01日(Mon)) 最新 次の日記(2007年 10月03日(Wed))» 編集

日記のような何か

2002|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|08|09|10|11|12|
2020|01|02|03|04|06|07|08|09|10|11|12|
2021|01|02|03|04|05|07|08|10|11|12|
2022|01|

ようこそいらっしゃいました。
あなたは今日人目、合計人目のお客様です(ちなみに昨日は人のお客様がいらっしゃいました)。
よろしければツッコミに足跡等を残していって下さいな。

My status ← skypeやってます。


2007年 10月02日(Tue) [長年日記]

_ [ツッコミレス]まだ打ってないから

余裕で間に合ってるぜ! つーかマジハロに吸い込まれまくってるから、他の台打ってる余裕無いという罠。昨日5円スロでドリスタ見つけたから、とりあえずそこで打ってみようかなぁ。

おなじ5円スロの島にキュンキュンがあったので打ってみた。30分打って+400円。ほとんどゲーセン感覚。まあキュンキュン堪能できれば幸せだから全然OKでしたが。

_ [その他]鳥取は遠いね

来週から福岡に一週間ほど出張になるんですが、もしかして途中で鳥取に寄れるんじゃね? とかふと思ったけど、よくよく考えてみると寄り道ってレベルじゃないほど遠い事に気がついたw

_ [mixi][ruby][Webサイト]mixiリニューアル

10/1付けでmixiサイトのリニューアルがありました。新しいデザインが各所で不評みたいですが(っていうか2カラム設定無くすなよ)、テーブルレイアウトじゃ無くなった点は評価したいですね。class名やid名をたくさんつけてくれたので、文章取り出したり加工したりしやすくなったのですよ。

だからユーザーの声を聞いてデザインを再度変更する場合でも、元には戻さないで下さいねって事で。テーブルレイアウトは勘弁な。

んで、リニューアルしたら予想通りget_mixi_new_diary_rss.rbが動かなくなったので、書き換えることに。今回は正規表現での力技をやめてHpricotを使ってみたので、中身が分かりやすくなったと思うのですががが。

  • get_mixi_new_diary_rss.rb
def get_mixi_new_diary_rss(config, data)
  require 'rubygems'
  require 'mechanize'
  require 'kconv'
  require 'rss/maker'
  require 'hpricot'
# require 'logger'

  username = config['user_id']
  password = config['password']

  agent = WWW::Mechanize.new {|a|
#   a.log = Logger.new('access.log')
#   a.log.level = Logger::DEBUG
  }

  page = agent.get('http://mixi.jp/')
  form = page.forms[0]
  form.fields.find {|f| f.name == 'email'}.value = username
  form.fields.find {|f| f.name == 'password'}.value = password
  form.fields.find {|f| f.name == 'next_url'}.value = '/home.pl'
  page = agent.submit(form, form.buttons.first)

  if /url=([^"])"/ =~ page.body
    link = 'http://mixi.jp' + $1.to_s
    agent.get(link)
  end

  data = []
  diarylist = agent.get('http://mixi.jp/new_friend_diary.pl')
  diarylist.links.each do |link|
    diaryurl = link.href # => 'view_diary.pl?id=12345&owner_id=2345'
    if /view_diary.pl\?id/ =~ diaryurl
      item = ""
      page = agent.get(diaryurl)
      body = Hpricot(page.body.toutf8)

      mydescription = (body/"div#diary_body").inner_html

      (body/"div.diaryMainArea02//dl.commentList01").each do |comment|
        mydescription += "<br>--<br>[#{(comment/"span.commentTitleName").inner_text}]"
        mydescription += "<br><br>#{(comment/"dd").inner_html}<br>--<br>"
      end

      item.instance_eval do
        @description = mydescription
        def description
          @description
        end
      end

      mytitle = (body/"title").inner_text

      item.instance_eval do
        @title = mytitle
        def title
          @title
        end
      end

      str = (body/"div.listDiaryTitle//dd").inner_text
      str =~ Regexp.new("(\\d{4}).+?(\\d{2}).+?(\\d{2}).+?(\\d{2}).+?(\\d{2})")
      mydate = Time.parse($1 + $2 + $3 + ' ' + $4 + $5 + '00')

      item.instance_eval do
        @date = mydate
        def date
          @date
        end
      end

      mylink = 'http://mixi.jp/' + diaryurl
      item.instance_eval do
        @link = mylink
        def link
          @link
        end
      end

      data << item

    end
  end
  return data
end

そういえばこの間イシュ氏に「何でいつもねくろんさんは22:00に足跡があるの?」と聞かれたんですよね。で、一度もこの日記ではっきりと説明したことが無かった事に気がついたので、これを機会に書いておきます。

私は基本的にWeb巡回をlivedoor ReaderというRSSリーダーで行っています。で、mixiの方もこのRSSリーダーでチェックしてるんですが、mixiはRSSを出力しないので、代わりにPraggerというrubyスクリプトを2時間おきに自動起動させてページ取得→RSSに加工→リーダーで読むという事をやっているのです。

まあ私の代わりに自動的にmixiを読んでおいてくれるロボットがいるとでも思ってくれればOKです。……たまにロボットがキリ番踏むけど勘弁ねw

本日のツッコミ(全4件) [ツッコミを入れる]
_ さとさと (2007年 10月02日(Tue) 22:38)

寄っていただければ売りつけますw<br>(本当に確保しておいてます)

_ ささがぁ (2007年 10月03日(Wed) 11:04)

mixiミュージックとmixi news だけ依然 table レイアウトなんですよね(´Д`;

_ zenpou (2007年 10月26日(Fri) 17:18)

利用させていただきました!<br>ありがとうございます。

_ TrackBack (2007年 10月26日(Fri) 17:19)

http://d.hatena.ne.jp/zenpou/20071026/1193386616<br>zenpouの日記<br>[mixi][pragger][ruby]mixiの日記をはてなに移行してみた。<br> mixiの既存の日記はpraggerで保存しておいた。(公開してないけど) ねくろんさんの以下のエントリからmixiを取得してきてちょい弄ってみた。 http://www.necron-web.com/tdiary/?date=20071002 def get_mixi_new_diary_rss(config, data) require ’rubygems’ require ..


Googleカスタム検索

my recommend books