+1 para -e robots=off! Isso finalmente resolveu o meu problema! :) Obrigado
NHDaly
12
A --random-waitopção é genial;)
poitroae
2
@izilotti O proprietário do site pode descobrir se você WGET os arquivos do site com esse método?
precisa saber é o seguinte
1
@whatIsperfect É definitivamente possível.
Jack
1
@JackNicholsonn Como o proprietário do site saberá? O agente usado foi o Mozilla, o que significa que todos os cabeçalhos serão acessados como um navegador Mozilla, não seria possível detectar o wget como usado? Por favor, corrija se eu estiver errado. obrigado
KhoPhi
63
wget -m -p -E -k -K -np http://site/path/
A página de manual mostrará o que essas opções fazem.
wgetsó seguirá os links, se não houver um link para um arquivo da página de índice, wgetnão saberá sobre sua existência e, portanto, não fará o download. ie ajuda se todos os arquivos estiverem vinculados em páginas da web ou em índices de diretório.
Obrigado pela resposta :) Ele copia site inteiro e eu preciso apenas arquivos (ou seja, txt, pdf, imagem etc.) no website
Aniruddhsinh
25
Eu estava tentando baixar arquivos zip vinculados da página de temas do Omeka - tarefa bastante semelhante. Isso funcionou para mim:
wget -A zip -r -l 1 -nd http://omeka.org/add-ons/themes/
-A: aceita apenas arquivos zip
-r: recurso
-l 1: um nível de profundidade (ou seja, apenas arquivos diretamente vinculados a partir desta página)
-nd: não crie uma estrutura de diretórios, basta baixar todos os arquivos nesse diretório.
Todas as respostas com -k, -K, -Eetc opções provavelmente não têm realmente entendido a pergunta, como aqueles que para reescrever páginas HTML para fazer uma estrutura local, renomear .phparquivos e assim por diante. Não é relevante.
Para obter literalmente todos os arquivos, exceto.html etc:
wget --spider
primeiro e sempre adicione-w 1
(ou mais-w 5
) para não inundar o servidor da outra pessoa.Respostas:
Para filtrar extensões de arquivo específicas:
Ou, se você preferir nomes de opções longos:
Isso espelhará o site, mas os arquivos sem
jpg
oupdf
extensão serão removidos automaticamente.fonte
--accept
é case-sensitive, então você teria que fazer--accept pdf,jpg,PDF,JPG
wget
mas você tem que especificar um--progress
tipo, por exemplo--progress=dot
--ignore-case
flag para fazer distinção entre--accept
maiúsculas e minúsculas.Isso baixou o site inteiro para mim:
fonte
-e robots=off
! Isso finalmente resolveu o meu problema! :) Obrigado--random-wait
opção é genial;)A página de manual mostrará o que essas opções fazem.
wget
só seguirá os links, se não houver um link para um arquivo da página de índice,wget
não saberá sobre sua existência e, portanto, não fará o download. ie ajuda se todos os arquivos estiverem vinculados em páginas da web ou em índices de diretório.fonte
Eu estava tentando baixar arquivos zip vinculados da página de temas do Omeka - tarefa bastante semelhante. Isso funcionou para mim:
-A
: aceita apenas arquivos zip-r
: recurso-l 1
: um nível de profundidade (ou seja, apenas arquivos diretamente vinculados a partir desta página)-nd
: não crie uma estrutura de diretórios, basta baixar todos os arquivos nesse diretório.Todas as respostas com
-k
,-K
,-E
etc opções provavelmente não têm realmente entendido a pergunta, como aqueles que para reescrever páginas HTML para fazer uma estrutura local, renomear.php
arquivos e assim por diante. Não é relevante.Para obter literalmente todos os arquivos, exceto
.html
etc:fonte
-A
faz-A zip,ZIP
Você pode tentar:
Além disso, você pode adicionar:
para aceitar extensões específicas ou para rejeitar apenas extensões específicas:
ou excluir as áreas específicas:
Se os arquivos forem ignorados para robôs (por exemplo, mecanismos de pesquisa), você deverá adicionar também:
-e robots=off
fonte
Tente isso. Sempre funciona para mim
fonte
isso fará o download de todos os tipos de arquivos localmente e apontará para eles a partir do arquivo html e ignorará o arquivo de robôs
fonte
Nos sistemas Windows, para obter o wget, você pode
fonte