Eu tento usar wget
para baixar certos arquivos de um site. Mas provavelmente os locais virtuais dos arquivos não representam sua localização real.
Por exemplo, se o link para o arquivo for http://file.site.com/1746534/relativity_theory_explained.txt
, isso não significa que exista uma pasta real http://file.site.com/
ou http://file.site.com/1746534/
e / ou que relativity_theory_explained.txt
esteja nessa pasta.
Na verdade, quando eu acesso http://file.site.com/
do navegador, recebo HTTP 403, então não tenho certeza.
Se eu acessar exatamente http://file.site.com/1746534/relativity_theory_explained.txt
do navegador, posso ver o arquivo.
No entanto, não tenho como adivinhar quais os nomes dos arquivos que desejo baixar, além do fato de que seus caminhos têm o padrão http://file.site.com/some_number/some_name.txt
Existe uma maneira de usar bash ou python para baixar esses arquivos, e tudo o que eu sei é o começo do caminho deles?
Aqui está o que eu tentei:
wget \
--recursive \
--no-clobber \
--convert-links \
--restrict-file-names=windows \
--domains site.com \
-e robots=off \
-U 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0' \
--accept "*.txt" \
--accept "*.html" \
--no-parent \
www.site.com file.site.com
Os arquivos html (www.site.com / ...) que contêm os links são baixados. Os arquivos para os quais o link aponta (file.site.com / ...) não são baixados. Estritamente file.site.com
no navegador me leva para 403. Os parâmetros que eu uso são --domains site.com --accept ".txt" --accept ".html" www.site.com file.site.com
Estou interessado nos arquivos txt, não em html, mas também baixo os htmls para pegar os links.