Considere um site www.music.com com a seguinte estrutura de diretório:
/piano
/covers
/Chopin
apple.html
bannan.js
balloon.html
index.html
/Franz Liszt
index.html
roses.js
Love Dream.html
/Frodo
index.html
linkenso.html
/violin
/covers
/David
Viva.html
/Ross
index.html
Eu só quero obter os arquivos index.html do diretório aninhado em music.com/piano/covers, onde o nome do subdirecório começa com "Fr". No exemplo acima, eu só quero baixar 2 arquivos:
Usando o wget, pensei em usar o seguinte:
$ wget
--mirror
--header="Accept: text/html"
--page-requisites
--html-extension
--convert-links
--restrict-file-names=windows
--domains=www.music.com/piano/covers
--accept-regex=/piano/covers/Fr.*/index.html
http://www.music.com
Eu executei o mesmo no meu próprio site, mas só recebo um arquivo incorreto:
www.music.com/index.html
Por que eu usei as opções acima?
--recursive
ou -r
não é o problema, pois o erro ainda
persiste. Além disso, a opção --page-requisites
é muito melhor
alternativa como eu não estou exigindo cada peça de informação de
o servidor. --domains
: garante que nada fora do
URL especificado é baixado. Este deve ser o caso, pois não preciso
qualquer recurso fora da pasta piano/covers
--header
: Desejo substituir o Accept: * / * para evitar que meu pedido exija tudo --html-extensions
: Baixe apenas arquivos html Parece que a parte --accept-regex
nem sequer é considerada por algum motivo. Mas é recomendado sobre a opção -A
, pois os arquivos de que preciso são distribuídos em diretórios diferentes. Alguma idéia de como posso obter os 2 arquivos conforme especificado pelo argumento --accept-regex
?
EDIT 1:
Acessar o URL usado no exemplo acima gera um erro 404. Então vou dar contexto ao meu site que estou realmente tentando realizar esta operação
De www.ajayhalthor.com, com a estrutura de diretórios:
/piano
/nightwish-sahara
/nightwish-amaranth
/skillet-hero
/skillet-the-last-night
/breaking-benjamin-diary-of-jane
/skillet-comatose
/one-republic-counting-stars
/skillet-falling-inside-the-black
/63/index.html
/a/few/more/links/index.html
/about
/other/links/index.html
/Home
/main/links/index.html
A partir dessa estrutura, quero recuperar os arquivos em www.ajayhalthor.com/piano que começam com "Sk". Espero recuperar os seguintes arquivos:
Executando o seguinte comando:
$ wget
--mirror
--header="Accept: text/html"
--page-requisites
--html-extension
--convert-links
--restrict-file-names=windows
--domains=www.ajayhalthor.com/piano
--accept-regex="piano/sk.*"
http://www.ajayhalthor.com
Eu recebo a seguinte saída:
Resolving www.ajayhalthor.com (www.ajayhalthor.com)... 23.229.213.7
Connecting to www.ajayhalthor.com (www.ajayhalthor.com)|23.229.213.7|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘www.ajayhalthor.com/index.html’
www.ajayhalthor.com/index.html [ <=> ] 24.28K --.-KB/s in 0.1s
Last-modified header missing -- time-stamps turned off.
2017-01-19 01:56:11 (245 KB/s) - ‘www.ajayhalthor.com/index.html’ saved [24862]
FINISHED --2017-01-19 01:56:11--
Total wall clock time: 1.4s
Downloaded: 1 files, 24K in 0.1s (245 KB/s)
Converting links in www.ajayhalthor.com/index.html... 11-1
Converted links in 1 files in 0.003 seconds.
Apenas 1 arquivo www.ajayhalthor.com/index.html é baixado.Estou usando --accept-regex
corretamente?