fazendo sentido de saída wget -r

0

Esta é a saída do comando tree em um diretório:

.
|-- asdf.txt
|-- asd.txt
|-- fabc
|   |-- fbca
|   '-- file1.txt
|-- fldr1
|-- fldr2
|   '-- index.html
|-- fldr3
|   |-- cap.txt
|   '-- f01
'-- out.txt

6 directories, 6 files

Eu inicio um servidor http local neste diretório. Em seguida eu corro o seguinte comando:

wget -r -nv --spider --no-parent http://localhost:3000 -o -

... e obtenha a seguinte saída:

2017-01-02 20:07:24 URL:http://localhost:3000/ [1580] -> "localhost:3000/index.html" [1]
http://localhost:3000/robots.txt:
2017-01-02 20:07:24 ERROR 404: Not Found.
2017-01-02 20:07:24 URL:http://localhost:3000/fabc/ [897] -> "localhost:3000/fabc/index.html" [1]
2017-01-02 20:07:24 URL:http://localhost:3000/fldr1/ [536] -> "localhost:3000/fldr1/index.html" [1]
2017-01-02 20:07:24 URL:http://localhost:3000/fldr2/ [0/0] -> "localhost:3000/fldr2/index.html" [1]
2017-01-02 20:07:24 URL:http://localhost:3000/fldr3/ [896] -> "localhost:3000/fldr3/index.html" [1]
2017-01-02 20:07:24 URL: http://localhost:3000/asd.txt 200 OK
unlink: No such file or directory
2017-01-02 20:07:24 URL: http://localhost:3000/asdf.txt 200 OK
unlink: No such file or directory
2017-01-02 20:07:24 URL: http://localhost:3000/out.txt 200 OK
unlink: No such file or directory
2017-01-02 20:07:24 URL:http://localhost:3000/fabc/fbca/ [548] -> "localhost:3000/fabc/fbca/index.html" [1]
2017-01-02 20:07:24 URL: http://localhost:3000/fabc/file1.txt 200 OK
unlink: No such file or directory
2017-01-02 20:07:24 URL:http://localhost:3000/fldr3/f01/ [548] -> "localhost:3000/fldr3/f01/index.html" [1]
2017-01-02 20:07:24 URL: http://localhost:3000/fldr3/cap.txt 200 OK
unlink: No such file or directory
Found no broken links.

FINISHED --2017-01-02 20:07:24--
Total wall clock time: 0.3s
Downloaded: 7 files, 4.9K in 0s (43.4 MB/s)
  1. O wget escrito sempre procura index.html ? Podemos desabilitar isso?
  2. Quais são esses números, como 1580, 536, 0/0, etc?
  3. Por que isso diz unlink: No such file or directory ?
por deostroll 02.01.2017 / 15:42

1 resposta

2
  1. Você pode tentar pular arquivos com a opção --reject (também aceita curingas):

    wget --reject index.html

No entanto, você não quer fazer isso. Ao usar o wget com -r , de alguma forma ele precisa obter uma lista de arquivos dentro do diretório. Assim, o wget solicita o arquivo index.html e analisa o conteúdo na esperança de obter caminhos para outros arquivos nesse diretório. Quando não houver nenhum arquivo index.html na pasta, o servidor da Web geralmente o gerará para wget - esse arquivo conterá a listagem do diretório. A criação deste arquivo de lista deve ser ativada no servidor da Web - caso contrário, o wget receberá uma resposta HTTP 404 e falhará com o download recursivo.

  1. Esse é o tamanho do arquivo em bytes.
  2. Isso significa que um arquivo não pode ser removido (provavelmente porque não foi criado em primeiro lugar). Você tem permissão de gravação no diretório em que você faz o download com o wget?

Editar: Depois de testar os downloads do wget com --spider e --recursive , reproduzi o erro de desconexão. Parece que o wget usa o tipo de conteúdo de resposta para determinar se o arquivo pode conter links para outros recursos. Se o teste de tipo de conteúdo falhar e o arquivo não for baixado, o wget ainda tentará remover o arquivo temporário, como se ele tivesse sido baixado (Isso ficará claro ao executar wget com --debug . Ele indicará claramente Removing file due to --spider in recursive_retrieve(): ). Eu acho que você encontrou um bug no wget.

    
por 02.01.2017 / 16:52