*OSASK-ML のURLとナンバーへのリンクCGI MLへのリンクができないとつまんないので、つくってみた。Rubyですにょ。 *スクリプト #!/usr/local/bin/ruby require 'net/http' require 'cgi' cgi = CGI.new par = [] todaystr = Time.now.strftime("%Y%m%d") a = true Dir.glob("\.\/????????.txt").each do |f| if "./#{todaystr}.txt" == f then a = false else File.delete(f) end end sv = 'www2.hideyosi.com' tp = '/~hideyosi_m/osask_ml/' # sv = 'www.afis.to' # tp = '/~mone/osask/osask_ml/' if a then Net::HTTP.start( sv , 80 ) {|http| response , = http.get(tp) response.body.split("\n").each{|pul| if /HREF=\"(\d{6})\/\"\>/ =~ pul then par << $1 end } } open("./#{todaystr}.txt", "w") do |f| par.each { |pname| Net::HTTP.start( sv, 80 ) {|http| response , = http.get("#{tp}#{pname}/index.html") response.body.split("\n").each{|pul| if /HREF=\"msg(\d{5})\.html\"\>\[(?:OSASK|osask) (\d+)\] (.+)\<\/A\>/ =~ pul then surl = "#{pname}/msg#{$1}.html" smid = "[OSASK #{$2}]" smti = "#{$3}" f << $2 + "\t" + surl + "\n" end } } } end end returl = "" inn = cgi['n'].to_s if inn then open("./#{todaystr}.txt") do |f| while f.gets if /(\d+)\t(.+)$/ =~ $_ then returl = $2 if $1 == inn end end end end if returl != "" then print cgi.header({"Location" => "http://#{sv}#{tp}#{returl}" }) print "転送 >> #{returl}" else cgi.out{"みつからない~ぐへぇ・・・"} end *何に使うんだ? WikiからML発言ナンバーでリンクしたくて・・・それだけです。・・・最近Rubyネタばっかりだな 笑 -こんなおもしろそうなのがあったとは!見落としていたニョ! ・・・これ、つかっちゃっていいんだよねぇ? だれが作ったページだろ? nisiさん? -- ''hideyosi'' &new{2006-03-25 (土) 22:46:00}; #comment