Pular para o conteúdo principal

SeleniumScrapingTool

Esta ferramenta está atualmente em desenvolvimento. Conforme aprimoramos suas capacidades, os usuários podem encontrar comportamentos inesperados. Seu feedback é inestimável para que possamos melhorar.

Descrição

O SeleniumScrapingTool foi criado para tarefas de raspagem web de alta eficiência. Permite a extração precisa de conteúdo de páginas web utilizando seletores CSS para direcionar elementos específicos. Seu design atende a uma ampla gama de necessidades de scraping, oferecendo flexibilidade para trabalhar com qualquer URL de site fornecida.

Instalação

Para utilizar esta ferramenta, é necessário instalar o pacote CrewAI tools e o Selenium:
Você também precisará ter o Chrome instalado em seu sistema, pois a ferramenta utiliza o Chrome WebDriver para automação do navegador.

Exemplo

O exemplo a seguir demonstra como usar o SeleniumScrapingTool com um agente CrewAI:
Code
Você também pode inicializar a ferramenta com parâmetros predefinidos:
Code

Parâmetros

O SeleniumScrapingTool aceita os seguintes parâmetros durante a inicialização:
  • website_url: Opcional. A URL do site a ser raspado. Se fornecido durante a inicialização, o agente não precisará especificá-lo ao utilizar a ferramenta.
  • css_element: Opcional. O seletor CSS dos elementos a serem extraídos. Se fornecido durante a inicialização, o agente não precisará especificá-lo ao utilizar a ferramenta.
  • cookie: Opcional. Um dicionário contendo informações de cookies, útil para simular uma sessão logada e acessar conteúdo restrito.
  • wait_time: Opcional. Especifica o atraso (em segundos) antes da raspagem, permitindo que o site e qualquer conteúdo dinâmico carreguem totalmente. O padrão é 3 segundos.
  • return_html: Opcional. Indica se o conteúdo HTML deve ser retornado em vez do texto simples. O padrão é False.
Ao usar a ferramenta com um agente, o agente precisará fornecer os seguintes parâmetros (a menos que tenham sido especificados durante a inicialização):
  • website_url: Obrigatório. A URL do site a ser raspado.
  • css_element: Obrigatório. O seletor CSS dos elementos a serem extraídos.

Exemplo de Integração com Agente

Aqui está um exemplo mais detalhado de como integrar o SeleniumScrapingTool com um agente CrewAI:
Code

Detalhes de Implementação

O SeleniumScrapingTool utiliza o Selenium WebDriver para automatizar interações com o navegador:
Code
A ferramenta executa as seguintes etapas:
  1. Cria uma instância do Chrome em modo headless
  2. Navega até a URL especificada
  3. Aguarda o tempo especificado para permitir o carregamento da página
  4. Adiciona cookies se fornecidos
  5. Extrai conteúdo baseado no seletor CSS
  6. Retorna o conteúdo extraído como texto ou HTML
  7. Encerra a instância do navegador

Tratamento de Conteúdo Dinâmico

O SeleniumScrapingTool é especialmente útil para extrair sites com conteúdo dinâmico carregado via JavaScript. Usando uma instância real de navegador, ele pode:
  1. Executar JavaScript na página
  2. Aguardar o carregamento do conteúdo dinâmico
  3. Interagir com elementos se necessário
  4. Extrair conteúdo que não estaria disponível usando apenas requisições HTTP simples
Você pode ajustar o parâmetro wait_time para garantir que todo o conteúdo dinâmico tenha sido carregado antes da extração.

Conclusão

O SeleniumScrapingTool fornece uma maneira poderosa de extrair conteúdo de sites utilizando automação de navegador. Ao permitir que agentes interajam com sites como um usuário real, ele facilita a raspagem de conteúdo dinâmico que seria difícil ou impossível de extrair utilizando métodos mais simples. Esta ferramenta é especialmente útil para pesquisas, coleta de dados e tarefas de monitoramento que envolvem aplicações web modernas com conteúdo renderizado por JavaScript.