http://exile.ru/archive/list.php?IBLOCK_ID=35&PARAMS=ISSUEで入手可能な The Exile のすべての問題をダウンロードするためにスクレーパーを実行しています。
これまでのところ、私のコードは次のようになっています。
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 を残すことです。リンクが存在する場合にのみファイルを作成およびコピーできるようにコードを変更するにはどうすればよいですか?