Hatena::Grouprubyist

たばさの RSSフィード

10/04(土) 2008

mechanize練習  yahoo!掲示板

| mechanize練習  yahoo!掲示板 - たばさの を含むブックマーク はてなブックマーク - mechanize練習  yahoo!掲示板 - たばさの



#!ruby -Ks

require'mechanize'
require'nkf'

if ARGV==[]
  puts "usage: #{$0} from count"
  puts "    print messages by post-No."
  exit
end

sep= $stdout.tty? ? "-"*50 : "-"
urlx="http://messages.yahoo.co.jp/bbs?.mm=FN&action=m&board=1998407&tid=ffc7pjbf6q3t2a&sid=1998407&mid="

num=ARGV[0].to_i
max= ARGV[1]==nil ? num : ARGV[1].to_i 
max.times{|i|
  url="#{urlx}#{num-i}"
  begin
    root=WWW::Mechanize.new.get(url).root

    m= root.search('tr/td.s130').map{|e|e.parent.parent.parent.parent.parent.inner_text.gsub(/[ \t\n]+/," ")}
    mes= NKF::nkf('-s -m0', m*"/")
    puts mes if mes.size>0
  rescue Exception => e
    err="[error]#{e} #{urlx}#{num-i}"
    puts err
    $stderr.puts err
  end
  puts sep
  $stderr.print "#{num-i}        \r"
  sleep 1
}

 >messageyahoo-get.rb
usage: messageyahoo-get.rb from count
    print messages by post-No.

 >messageyahoo-get.rb 2338669 1
 ぜひとも資金(略) 2008/10/ 4 14:39 [ No.2338669 / 2338705] 投稿者?: kisei..
 (略)
 返信
--------------------------------------------------
2338669
 >

irb

|  irb - たばさの を含むブックマーク はてなブックマーク -  irb - たばさの

irb(main):008:0> [11,22,33,44].each_with_index{|i,ind| print i,".",ind,":"}
11.0:22.1:33.2:44.3:=> [11, 22, 33, 44]
irb(main):009:0> [11,22,33,44].each_with_index{|i,| print i,":"}   # 省略するのか
11:22:33:44:=> [11, 22, 33, 44]
irb(main):010:0> [11,22,33,44].each_with_index{|i| print i,":"}
(irb):10: warning: multiple values for a block parameter (2 for 1)
        from (irb):10
110:(irb):10: warning: multiple values for a block parameter (2 for 1)
        from (irb):10
221:(irb):10: warning: multiple values for a block parameter (2 for 1)
        from (irb):10
332:(irb):10: warning: multiple values for a block parameter (2 for 1)
        from (irb):10
443:=> [11, 22, 33, 44]
irb(main):021:0> /[a-z]/  .  class  .  to_s    # 離して書ける
=> "Regexp"
irb(main):022:0>

L2Lisp というのを見て動かそうとしたらもう手元に一年前の日付であった。インタプリタ書くだけあってこなれてるというかつわものというか。ソースを見るとこんなのがあったので目が点に。

  @line.chomp.scan(TOKEN_PAT) do |s,| @buf.push(s) unless s.nil? end

目が点になるってけっこう新しいのか。 >>google:目が点になる

トラックバック - http://rubyist.g.hatena.ne.jp/hatecha/20081004
カレンダー
<< 2008/10 >>
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
archive Error : RSSが取得できませんでした。