Como baixar a lista de arquivos de um servidor de arquivos?


10

Como eu baixaria uma lista de arquivos de um servidor de arquivos como este http://www.apache.org/dist/httpd/binaries/ ?

Suponho que eu poderia usar o wget, mas ele tenta obter todos os links e o arquivo html também. Existe uma ferramenta melhor para fazer isso?


apenas para esclarecer sua pergunta: você só quer a lista de arquivos que podem ser baixados do servidor, e não os arquivos em si (ainda)?
26415 akira

De que maneira um comando como `wget --no-verbose --spider --no-directory --recursive --level = 2 apache.org / dist / httpd / binaries` não está funcionando para você? Se você pudesse ser mais específico que possa ajudar
DaveParillo

Respostas:


12

Você pode especificar quais extensões de arquivo wgetserão baixadas ao rastrear páginas:

wget -r -A zip,rpm,tar.gz www.site.com/startpage.html

Isso irá executar uma recursiva arquivos de busca e download somente com as .zip, .rpme .tar.gzextensões.


8

supondo que você realmente queira apenas uma lista dos arquivos no servidor sem buscá-los (ainda):

%> wget -r -np --spider http://www.apache.org/dist/httpd/binaries/2 > & 1 | awk -f filter.awk | uniq

enquanto 'filter.awk' se parece com isso

/^--.*-- http: \ / \ /.* [^ \ /] $ / {u = $ 3; }
/ ^ Comprimento: [[: dígito:]] + / {print u; }

é possível filtrar algumas entradas como

"http://www.apache.org/dist/httpd/binaries/?C=N;O=D"

0

Ref: http://blog.incognitech.in/download-files-from-apache-server-listing-directory/

Você pode usar o seguinte comando:

wget --execute="robots = off" --mirror --convert-links --no-parent --wait=5 <website-url>

Explicação com cada opção

  • wget: Comando simples para fazer solicitação de CURL e baixar arquivos remotos em nossa máquina local.
  • --execute="robots = off": Isso ignorará o arquivo robots.txt durante o rastreamento pelas páginas. É útil se você não estiver obtendo todos os arquivos.
  • --mirror: Esta opção basicamente reflete a estrutura de diretórios para o URL especificado. É um atalho para o -N -r -l inf --no-remove-listingque significa:
    • -N: não recupere arquivos a menos que seja mais recente que local
    • -r: especificar download recursivo
    • -l inf: profundidade máxima da recursão (inf ou 0 para infinito)
    • --no-remove-listing: não remova os arquivos '.listing'
  • --convert-links: criar links em HTML ou CSS baixados apontam para arquivos locais
  • --no-parent: não ascenda ao diretório pai
  • --wait=5: aguarde 5 segundos entre as recuperações. Para não debater o servidor.
  • <website-url>: Este é o URL do site de onde baixar os arquivos.

Download feliz: smiley:

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.