ネットに繋がらないところでゼミの準備とかをしていて、「あ、PRMLのこの図を今の資料に入れたい!でも、ネットつながらねー」ということが時々あるので、じわじわと落としてくるスクリプトを書いた。寝る前にでも走らせておいてください。くれぐれもゆーっくり。
require 'rubygems' require 'mechanize' require 'hpricot' url = "http://research.microsoft.com/en-us/um/people/cmbishop/PRML/webfigs.htm" agent = WWW::Mechanize.new source = Hpricot(agent.get_file(url)) (source/"tr/td/a").each{ |item| if item["href"] =~ /^\.\/(prmlfigs-png\/Figure.*?\.png)$/ png_url = "http://research.microsoft.com/en-us/um/people/cmbishop/PRML/#{$1}" begin png_file = agent.get(png_url) png_file.save puts "saved #{png_url}" rescue => ex puts "caught exception!" retry end end sleep 10 }