Eu preciso copiar um site via HTTP. Preciso fazer o download das imagens, HTML, CSS e JavaScript, além de organizá-lo em um sistema de arquivos.
Alguém sabe como fazer isso?
Eu preciso copiar um site via HTTP. Preciso fazer o download das imagens, HTML, CSS e JavaScript, além de organizá-lo em um sistema de arquivos.
Alguém sabe como fazer isso?
Respostas:
wget -erobots=off --no-parent --wait=3 --limit-rate=20K -r -p -U "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" -A htm,html,css,js,json,gif,jpeg,jpg,bmp http://example.com
Isso é executado no console.
isso agarra um site, aguarda 3 segundos entre as solicitações, limita a velocidade de download para não matar o site e oculta-se de uma maneira que faz parecer apenas um navegador para que o site não o interrompa usando um mecanismo anti-sanguessuga.
Observe o -A
parâmetro que indica uma lista dos tipos de arquivo que você deseja baixar.
Você também pode usar outra tag, -D domain1.com,domain2.com
para indicar uma série de domínios que deseja baixar se eles tiverem outro servidor ou o que for para hospedar diferentes tipos de arquivos. Não há maneira segura de automatizar isso para todos os casos, se você não obtiver os arquivos.
wget
é geralmente pré-instalado no Linux, mas pode ser compilado trivialmente para outros sistemas Unix ou baixado facilmente para Windows: GNUwin32 WGET
Use isso para o bem e não para o mal.
Solução boa e gratuita: HTTrack
O HTTrack é um utilitário de navegador offline gratuito (GPL, libre / free) e fácil de usar.
Ele permite que você baixe um site da Internet para um diretório local, criando recursivamente todos os diretórios, obtendo HTML, imagens e outros arquivos do servidor para o seu computador. O HTTrack organiza a estrutura de links relativa do site original. Basta abrir uma página do site "espelhado" no seu navegador e você pode navegar no site de link para link, como se estivesse visualizando on-line. O HTTrack também pode atualizar um site espelhado existente e retomar downloads interrompidos. O HTTrack é totalmente configurável e possui um sistema de ajuda integrado.
Nos sistemas Linux, o 'wget' faz isso, basicamente.
Também foi portado para várias outras plataformas, como mencionam várias das outras respostas.
Obviamente, o WGet foi mencionado algumas vezes. A melhor interface do usuário que encontrei é
Existem algumas outras interfaces de usuário para o WGet around, algumas das quais são candidatas à pior pergunta da interface do usuário
Você precisa usar o wget - que está disponível para a maioria das plataformas. o curl não solicitará documentos recursivamente, que é um dos principais pontos fortes do wget.
Linux: (geralmente incluído na distribuição) http://www.gnu.org/software/wget/
Windows: http://gnuwin32.sourceforge.net/packages/wget.htm
Mac: http: //www.geekology. co.za/blog/2009/02/macports-compile-and-install-open-source-software-on-mac-os-x/
POR FAVOR, verifique se você não está atacando o site - configure atrasos adequados entre solicitações e verifique se ele está dentro dos termos de serviço do site.
-Adão
Na verdade, acompanhando meu comentário no post do GWLlosa, lembrei-me de ter o GnuWin32 instalado e, com certeza, ele contém uma porta Windows do wget.
http://sourceforge.net/projects/gnuwin32/
GnuWin32 provides Win32-versions of GNU tools,
or tools with a similar open source licence.
The ports are native ports, that is they rely
only on libraries provided with any 32-bits
MS-Windows operating system, such as
MS-Windows 95 / 98 / 2000 / NT / XP
Eu usei isso há alguns anos e funcionou bem. Apenas Windows. Costumava ser adware, mas não mais, aparentemente:
wget --random-wait -r -p -e robots=off -U "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" --limit-rate=20k -b http://www.example.com
-p
: parâmetro diz ao wget para incluir todos os arquivos, incluindo imagens.-e robots=off
: ignorar regras de robots.txt dos sites-U "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)"
: sequência do agente do usuário--random-wait
: evite ficar na lista negra--limit-rate=20k
: limita a taxa na qual ele baixa arquivos.-b
: continua o wget após o logout.
-c
(ou --continue
) a opção quando as coisas dão errado e tenho que reiniciar o processo.
Eu acho que o grabber de sites IDM é a melhor solução, também há o Teleport pro
O Free Download Manager também pode baixar sites completos.
Apenas Windows, eu acho.