Seu problema é que, diferentemente dos links em HTML, wget -r
não pode seguir links em XML. Você poderia contornar isso recuperando o sitemap primeiro, encontrando todos os URLs nele e, finalmente, recuperando-os com outro wget
, por exemplo:
wget --quiet http://example.com/sitemap.xml --output-document - \
| egrep -o "http://example\.com[^<]+" \
| wget -i - --wait 0
Aqui, a chave é
-i file
--input-file=file
Read URLs from a local or external file. If
-
is specified as file, URLs are read from the standard input. (Use./-
to read from a file literally named-
.) If this function is used, no URLs need be present on the command line. If there are URLs both on the command line and in an input file, those on the command lines will be the first ones to be retrieved. If--force-html
is not specified, then file should consist of a series of URLs, one per line.
Oferecemos este "arquivo" a partir da entrada padrão depois de modificar o XML no formato desejado, ou seja, um URL por linha com egrep
.