Introdução geral
O Crawlee é um rastreador da Web de código aberto e uma biblioteca de automação de navegador desenvolvida pela Apify, projetada para o ambiente Node.js. Ele é compatível com JavaScript e TypeScript e trabalha com ferramentas como Puppeteer, Playwright, Cheerio, JSDOM e outras para fornecer recursos avançados de rastreamento e automação de dados. O Crawlee permite que os usuários criem rastreadores confiáveis que extraem os dados necessários para AI, LLM, RAG ou GPTs e baixam HTML, PDF, JPG, PNG e muito mais. Projetado para fazer com que os rastreadores se pareçam mais com operações humanas, ele é capaz de contornar mecanismos modernos de rastreamento, oferece suporte à rotação de agentes e ao gerenciamento de sessões e é adequado para várias tarefas complexas de rastreamento da Web.
O Crawlee para Python está aberto para os primeiros usuários!
Lista de funções
- Interface única para rastreamento de navegador HTTP e sem cabeça
- Filas persistentes de rastreamento de URLs (breadth-first e depth-first)
- Armazenamento de dados e arquivos com capacidade de conexão
- Dimensiona automaticamente de acordo com os recursos do sistema
- Rotação integrada de agentes e gerenciamento de sessões
- O ciclo de vida pode ser personalizado com ganchos
- Ferramenta CLI para inicialização de projetos
- Mecanismos configuráveis de roteamento, tratamento de erros e novas tentativas
- Fornecimento de Dockerfiles para implantação
- Escrito em TypeScript com suporte genérico
- Suporte a HTTP2 e geração automática de cabeçalhos de solicitação no estilo do navegador
- Analisador de HTML rápido integrado (Cheerio e JSDOM)
- Suporte a rastreamento de API JSON
- Suporte a renderização de JavaScript e captura de tela
- Suporte aos modos sem cabeça e com cabeça
- Geração automática de impressões digitais de estilo humano
- Interface unificada usando o Playwright e o Puppeteer
- Compatível com Chrome, Firefox, Webkit, etc.
Usando a Ajuda
montagem
O Crawlee requer o Node.js 16 ou superior. Você pode instalar e criar rapidamente um rastreador de amostra com o seguinte comando:
npx crawlee create my-crawler
cd my-crawler
npm start
Se preferir instalar manualmente, você pode usar o seguinte comando:
npm install crawlee playwright
Em seguida, importe-o e use-o em seu projeto:
importar { PlaywrightCrawler, Dataset } de 'crawlee' ;
const crawler = new PlaywrightCrawler({
async requestHandler({ request, page, enqueueLinks, log }) {
const title = await page.title();
log.info(`Título de ${request.loadedUrl} é '${title}'`);
await Dataset.pushData({ title, url: request.loadedUrl });
await enqueueLinks();
}, // headless: false, // UniqueLinks(); await enqueueLinks()
// headless: false, // Descomente para ver a janela do navegador
}); await crawler.run['run']; }
await crawler.run(['https://crawlee.dev']);
Função Fluxo de operação
- Criação de um projeto de rastreamentoCrie rapidamente um novo projeto de rastreamento usando a CLI do Crawlee, que instala todas as dependências necessárias e adiciona um código de amostra.
- Configuração do rastreadorConfiguração: Configure a lógica de processamento de solicitações do rastreador, o local de armazenamento de dados, as configurações de proxy etc. em seu projeto.
- Executando o rastreadorExecute o rastreador na linha de comando e o Crawlee processará automaticamente a solicitação, obterá os dados e armazenará os resultados.
- armazenamento de dadosO Crawlee armazena dados por padrão no diretório de trabalho atual, no diretório
. /storage
mas esse diretório pode ser substituído por um arquivo de configuração. - Funcionalidade estendidaAdicione ganchos personalizados, mecanismos de tratamento de erros e políticas de repetição conforme necessário para garantir a estabilidade e a confiabilidade do rastreador.
Gerenciamento de proxy e sessão
O Crawlee integra a rotação de proxy e o gerenciamento de sessões para garantir que o rastreador não seja bloqueado pelo site de destino durante o processo de rastreamento. A lista de proxy e os parâmetros de sessão podem ser definidos por meio de um arquivo de configuração para rotação e gerenciamento automáticos.
implementações
O Crawlee fornece Dockerfiles para facilitar a implantação de rastreadores na nuvem ou em outros ambientes. Os contêineres do Docker podem ser criados e executados com os seguintes comandos:
docker build -t my-crawler .
docker run my-crawler