Classe utilitária para realizar requisições HTTP com:
- Persistência automática de cookies
- Parsing automático de HTML
- Manipulação do DOM usando
linkedom - Cliente HTTP baseado em got
bun add @wargas/crawlerou usando npm:
npm install @wargas/crawlerimport { Crawler } from "@wargas/crawler";
const crawler = Crawler.factory();
await crawler.client.get("https://example.com");
console.log(crawler.html);
console.log(
crawler.document.querySelector("title")?.textContent
);Os cookies são armazenados automaticamente no arquivo:
cookies.jsonIsso permite manter sessão entre execuções.
await crawler.removeAllCookies();Como o HTML é convertido automaticamente usando linkedom, é possível utilizar APIs similares ao navegador:
const links = crawler.document.querySelectorAll("a");
for (const link of links) {
console.log(link.getAttribute("href"));
}A instância do got é criada com:
followRedirect: falseOu seja:
- redirects não são seguidos automaticamente
- cookies são persistidos
- HTML é parseado automaticamente após cada resposta
- Suporte a proxy
- Retry automático
- Timeout configurável
- User-Agent customizado
- Suporte a certificados digitais
- Suporte a HTTP2
- Métodos helper (
get,post,login, etc.) - Cache de páginas
MIT