Como clonar um site (baixar arquivos HTML, CSS, JS, imagens e HTML) usando Node.js _

Como-clonar-um-site-(baixar-arquivos-HTML,-CSS,-JS,-imagens-e-HTML)-usando-Node
Como-clonar-um-site-(baixar-arquivos-HTML,-CSS,-JS,-imagens-e-HTML)-usando-Node

por João Oliveira

Sou programador freelancer e empresário há mais de 15 anos. Já trabalhei em mais de 1000 projetos diferentes em PHP, Node, Python, HTML, CSS e Javascript. Tenho clientes na Alemanha, no Peru e é claro, no Brasil.

Ao trabalhar desenvolvendo para front-end, é comum que a gente decida implementar algumas funcionalidades inspiradas em sites de terceiros aos nossos. Eu pelo menos faço isso com frequência, afinal é bastante importante tentar não reinventar a roda à cada novo projeto.

Até algum tempo atrás, você poderia usar web scrappers ou ler e adaptar o código fonte do site, assim como os arquivos CSS e JS, gerando assim uma versão idêntica do projeto à ser copiado.

O problema é que isso dá trabalho. Baixar código-fonte público de um site inteiro exige adaptações e “remendos” que poderiam ser feitos de forma automatizada e vão de tomar bastante tempo caso o faça de maneira manual.

Felizmente, foram desenvolvidas através do Node.js e suas bibliotecas de web scraping ferramentas capazes de automatizar o trabalho de copiar (ou clonar) e baixar um site inteiro diretamente da sua versão online (URL).

Nesse artigo, vou te guiar durante o processo – extremamente simples – de copiar e baixar um site inteiro e seus arquivos Javascript e CSS de forma rápida usando Node.js.

Vale ressaltar que você precisa instalar o Node.js e seu gerenciador de pacotes (npm) na sua máquina. Não vou entrar nos detalhes disso pois já existem milhares de vídeos e artigos na internet sobre o tema. Se você usa Windows, é só entrar no site do Node.js, fazer o download e instalar.

Com o node instalado, abra o seu terminal (Linux) ou o seu PowerShell (Windows) e navegue até a pasta onde você quer copiar o site em questão. Execute o comando:

npm install website-scraper website-scraper-puppeteer

Ele vai instalar as bibliotecas website-scraper e website-scraper-puppeteer através do npm na sua máquina.

Agora, crie um arquivo index.js nesta mesma pasta onde o comando acima foi executado, adicione o seguinte código Javascript e substitua a URL do site que você quer baixar/copiar/clonar, assim como a pasta onde você quer que os arquivos sejam salvos.

Código Javascript para baixar os arquivos HTML, CSS, Javascript e HTML de um site na internet de forma automática.

Agora volte para o terminal (ou PowerShell) e rode o script que você acabou de criar usando:

node index.js

O script vai baixar o site completo (em HTML), assim como seus arquivos Javascript e CSS para o seu computador.