Ваша проблема в том, что в отличие от ссылок в HTML, wget -r
не может переходить по ссылкам в XML. Вы можете обойти это, сначала извлекая карту сайта, находя все URL-адреса в ней и, наконец, извлекая их с помощью другого wget
, например:
wget --quiet http://example.com/sitemap.xml --output-document - \ | egrep -o "http://example\.com[^<]+" \ | wget -i - --wait 0
Здесь ключ
-i file
--input-file=file
Чтение URL-адресов из локального или внешнего файла. Если
-
указано как файл, URL считываются из стандартного ввода. (Используйте./-
для чтения из файла с буквальным именем-
.) Если используется эта функция, в командной строке не нужно указывать URL-адреса. Если в командной строке и во входном файле есть URL-адреса, они будут получены первыми. Если--force-html
не указано иное, файл должен состоять из серии URL-адресов, по одному на строку.
Мы предлагаем этот «файл» из стандартного ввода после изменения XML в желаемую форму, т.е. по одному URL на строку с egrep
.