LINUX.ORG.RU

[wget] Рекурсивно скачать картинки через http

 


0

0

Нужно рекурсивно скачать все файлы отсюда:

http://rukodelka.ru/images/magazines/

Кастую:

wget -rcp -nH --cut-dirs=2 --tries=0 --timeout=10 http://rukodelka.ru/images/magazines/ -o wget.log

в итоге получаю:

...
--00:46:59-- http://rukodelka.ru/images/magazines/
(попытка: 2) => `index.html'
Устанавливается соединение с rukodelka.ru|208.43.33.192|:80... соединились.
Запрос HTTP послан, ожидание ответа... Ошибка чтения (Connection timed out) в заголовках.
Продолжение попыток.

--00:47:11-- http://rukodelka.ru/images/magazines/
(попытка: 3) => `index.html'
Устанавливается соединение с rukodelka.ru|208.43.33.192|:80... соединились.
Запрос HTTP послан, ожидание ответа... Ошибка чтения (Connection timed out) в заголовках.
Продолжение попыток.
...и т. д.

и ничего не качается.
Курил man wget до посинения, ничего не понимаю.
Подскажите пожалуйста правильное заклинание, нужно срочно эту фигню скачать.

anonymous

Таймауты пробовал разные, очень большие, один хрен. В браузере всё открывается.

anonymous
()
Ответ на: комментарий от anonymous

урл как бы намекает:

Сайт временно недоступен

По всем вопросам обращайтесь в службу поддержки хостинга >>>

dGhost ★★★
()
Ответ на: комментарий от anonymous

Re^2: [wget] Рекурсивно скачать картинки через http

> Пробовал ещё refferer и user-agent -- бесполезно

Сайт временно недоступен

zero
()

LOR-эффект

anonymous
()
Ответ на: комментарий от anonymous

с куками поиграться? или через curl?

anonymous
()

вопрос решился написанием скрипта:

#!/bin/bash
cd /home/user/rukodelka.ru/
I=1
	until [ `tail --lines=2 wget.log | grep end` = 'end' ]
	do
	mkdir $I
	J=-1
		until [ `tail --lines=2 wget.log | grep 404 | cut --delimiter=' ' --fields=3 | tr -d ':'` = '404' ]
		do
		J=`expr $J + 1`
		cd $I
		wget -c --referer=http://rukodelka.ru/images/magazines/ --user-agent='Firefox 3.0' --wait=6m --tries=3 --timeout=10 http://rukodelka.ru/images/magazines/$I/$I'_'$J.jpg -o ../wget.log
		cd ..
		done
	if [ `echo $J` = '0' ]
	then
	echo 'end' >> wget.log
	else
	echo 'continue' >> wget.log
	fi
	I=`expr $I + 1`
	done
rm $I
exit 0

Ключ --wait=6m нужен, т.к. север банит по ip на 5 минут, если интенсивно и долго с него качать.

anonymous
()

Признайтесь, вы просто собираетесь качать порно

SunTechNick
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.