wget --mirror --no-parent http://www.example.com/large/
--no-parent
препятствует тому, чтобы это затошнило весь веб-сайт.
Ааа, я вижу, они разместили robots.txt
с просьбой роботов не загружать фотографиииз этого каталога:
$ curl http://www.cycustom.com/robots.txt
User-agent: *
Disallow: /admin/
Disallow: /css/
Disallow: /flash/
Disallow: /large/
Disallow: /pdfs/
Disallow: /scripts/
Disallow: /small/
Disallow: /stats/
Disallow: /temp/
$
wget(1)
не документирует какой-либо метод игнорирования robots.txt
, и я никогда не находил простой способ выполнить эквивалент --mirror
в curl(1)
.Если вы хотите продолжить использовать wget(1)
, то вам нужно будет вставить посредник HTTP, который возвращает 404
для GET /robots.txt
запросов.
Я думаю, что легче изменить подход.Поскольку я хотел больше опыта использования Nokogiri , вот что я придумал:
#!/usr/bin/ruby
require 'open-uri'
require 'nokogiri'
doc = Nokogiri::HTML(open("http://www.cycustom.com/large/"))
doc.css('tr > td > a').each do |link|
name = link['href']
next unless name.match(/jpg/)
File.open(name, "wb") do |out|
out.write(open("http://www.cycustom.com/large/" + name))
end
end
Это просто быстрый и грязный скрипт - встраивание URL-адреса дважды немного уродливо.Так что, если это предназначено для длительного производственного использования, сначала очистите его - или выясните, как использовать rsync(1)
.