Мой доступ к каталогу mysite.com/img/ заблокирован.
Однако все изображения в этом каталоге находятся в форме, n.jpg
где n — n-ное изображение.
Мой доступ mysite.com/img/n.jpg
не заблокирован
Можно ли как-то сохранить изображения 1-500 ( mysite.com/img/1.jpg
по mysite.com/img/500.jpg
)?
Я использую Ubuntu 11.10.
решение1
Самым простым решением, вероятно, будет использование расширений фигурных скобок bash.
wget http://mysite.com/img/{1..500}.jpg
Также есть возможность создания цикла, что позволяет делать небольшую паузу между запросами.
for n in $(seq 1 500); do
wget http://mysite.com/img/${n}.jpg
sleep 0.1
done
(Вышеуказанное можно выполнить непосредственно в оболочке.)
решение2
Есть также другой способ сделать это, wget
который я успешно использовал для одного сайта, и вы должны быть в состоянии изменить инструкции ниже для других сайтов. Он включает в себя генерацию списка URL-адресов и затем передачу этого списка в wget
.
1) В качестве примера предположим, что вы хотите скачать все 63 журнала в формате PDFЖурнал Полный Круг(журнал Ubuntu), но ваш менеджер загрузок не может загрузить их все сразу. Поэтому найдитесвязьпервого файла PDF и быстро проверьте, что ссылки на другие журналы имеют тот же формат URL.
2) С учетом знаний, полученных в части 1, мы теперь можем обратиться к нашему скрипту для генерации URL-адресов. Скрипт ниже запускает цикл until, который я модифицировал (спасибо его создателю). Вы модифицируете этот скрипт, помещая количество журналов в часть until [ $i = 63 ]
и помещая правильный URL-адрес после echo
и убеждаясь, что "$i"
находится в правильной части URL-адреса для отображения, чтобы он менялся при каждом запуске цикла. URL-адреса генерируются, а затем добавляются в текстовый файл — это происходит за доли секунды при запуске скрипта и не так сложно настроить, как кажется!
Сохраните скрипт в текстовом редакторе, сделайте его исполняемым и запустите; измените его, как описано выше, если вы хотите загрузить сдругойсайт, чем мой пример.
#!/bin/bash
i=0
until [ $i = 63 ] ; do
i=$(($i+1))
echo "http://dl.fullcirclemagazine.org/issue"$i"_en.pdf" >> url.txt
done
3) Наконец, предполагая, что вы url.txt
находитесь в текущем рабочем каталоге, выполните:
wget -i url.txt
Если вы хотите сохранить загрузки в другом месте, добавьте -P ~/MyDirectory
послеurl.txt
Это работает. Если вы попробуете, нажмите Enter, ctrl c
чтобы отменить загрузку, если вы не хотите загружать их все!