
Estou tentando espelhar um site mas o css vinculado tem a url:http://127.0.0.1:2368/assets/css/screen.css?v=c44dc08367
Usar o wget para baixar o site salva o arquivo css com o nome do arquivoscreen.css?v=c44dc08367
Tentei usar --adjust-extension
flag, mas isso salva o arquivo como screen.css?v=c44dc08367.css
É possível salvá-lo da maneira certa como screen.css
usando o wget?
Estou usando o GNU Wget 1.14 desenvolvido em darwin12.5.0.
EDIT: Não consigo especificar o nome do arquivo porque estou espelhando todo o site, então o comando real é assim. O link css está dentro da página (que é obtido automaticamente pelo wget)
wget \
--recursive \ # follow links to download entire site
--page-requisites \ # grab everything: css / inlined images
--no-parent \ # don't go to parent level
--directory-prefix static \# download contents to static/ folder
--no-host-directories \ # don't create domain named folder
--adjust-extension \
http://127.0.0.1:2368/
Responder1
Infelizmente, o wget não fará suposições sobre o que você deseja baixar, a menos que você solicite. Não importa se o seu arquivo é uma imagem, um documento, um arquivo compactado, etc.
O arquivo é salvo com o final do URL - qualquer coisa, desde a última barra até o final do URL. No seu caso, é .css?v=c44dc08367. A parte após a extensão do arquivo real (.css) está contida na URL, mas é um parâmetro de consulta HTTP. Para o wget, entretanto, ele determinará o nome do arquivo de saída.
Se você deseja especificar um nome de arquivo de saída para wget, adicione a opção -O (O maiúsculo):
wget http://127.0.0.1:2368/assets/css/screen.css?v=c44dc08367 -O screen.css
Finalmente, há a opção --content-disposition que pode resultar na definição do nome de arquivo adequado. Mas isso depende inteiramente do servidor que você está baixando para enviar as informações corretas do cabeçalho.
Exceções daqui:Por que obter uma imagem me dá um arquivo, não uma imagem?