TypeScript:
Baixando uma página da web
Como Fazer:
Com TypeScript, você pode usar a biblioteca axios
para fazer o download de páginas web. É simples: instale o axios
, faça uma requisição e trate a resposta. Veja como:
import axios from 'axios';
async function baixarPaginaWeb(url: string): Promise<void> {
try {
const resposta = await axios.get(url);
console.log(resposta.data);
} catch (erro) {
console.error(`Erro ao baixar a página: ${erro}`);
}
}
// Uso
baixarPaginaWeb('https://www.example.com');
No console, você verá o HTML da página baixada.
Deep Dive
Historicamente, o download de páginas da web começou com simples requisições HTTP usando bibliotecas como XMLHttpRequest
. Mas a coisa complicou: páginas modernas carregam conteúdo dinamicamente, adicionando JavaScript e CSRF tokens, exigindo um olhar mais apurado.
Alternativas ao axios
incluem fetch
, que é nativo em muitos ambientes JavaScript, ou bibliotecas como puppeteer
, que simulam um navegador para lidar com conteúdo dinâmico.
Na implementação, ao usar axios
, lidamos com Promises e o conceito de assincronismo. Isso é essencial, pois o download de dados pode demorar e não queremos bloquear a execução do nosso programa enquanto esperamos.
Veja Também
- Documentação do Axios: https://axios-http.com/docs/intro
- Comparativo entre Axios e Fetch: https://www.smashingmagazine.com/2020/06/rest-api-axios-fetch-javascript/
- Puppeteer para cenários avançados: https://pptr.dev/
- Guia de Promises e Async/Await: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Guide/Using_promises