我正在做一个刮板来下载所有的流亡者的问题,可在http://exile.ru/archive/list.php?IBLOCK_ID=35&PARAMS=ISSUE。只有在存在ruby的情况下才能下载文件
到目前为止,我的代码是这样的:
require 'rubygems'
require 'open-uri'
DATA_DIR = "exile"
Dir.mkdir(DATA_DIR) unless File.exists?(DATA_DIR)
BASE_exile_URL = "http://exile.ru/docs/pdf/issues/exile"
for number in 120..290
numero = BASE_exile_URL + number.to_s + ".pdf"
puts "Downloading issue #{number}"
open(numero) { |f|
File.open("#{DATA_DIR}/#{number}.pdf",'w') do |file|
file.puts f.read
end
}
end
puts "done"
的事情是,很多问题环节的下降,并且代码为每一个问题创建一个PDF,如果它是空的,它会留下一个空的PDF。如何更改代码以便它只能在链接存在时创建和复制文件?
这个工作!非常感谢,traybold! – LuisLago