from firecrawl import Firecrawlfirecrawl = Firecrawl(api_key="fc-YOUR-API-KEY")# Raspar um site:doc = firecrawl.scrape("https://firecrawl.dev", formats=["markdown", "html"])print(doc)
Para mais detalhes sobre os parâmetros, consulte a Referência da API.
Cada scrape consome 1 crédito. Créditos adicionais são cobrados para certas opções: modo JSON custa 4 créditos adicionais por página, proxy avançado custa 4 créditos adicionais por página e o processamento de PDFs custa 1 crédito por página de PDF.
{ "success": true, "data": { "json": { "company_mission": "Rastreamento e extração de dados na web com IA", "supports_sso": true, "is_open_source": true, "is_in_yc": true }, "metadata": { "title": "Firecrawl", "description": "Rastreamento e extração de dados na web com IA", "robots": "follow, index", "ogTitle": "Firecrawl", "ogDescription": "Rastreamento e extração de dados na web com IA", "ogUrl": "https://firecrawl.dev/", "ogImage": "https://firecrawl.dev/og.png", "ogLocaleAlternate": [], "ogSiteName": "Firecrawl" "sourceURL": "https://firecrawl.dev/" }, }}
Agora é possível extrair sem um esquema, bastando enviar um prompt para o endpoint. O LLM escolhe a estrutura dos dados.
Copiar
from firecrawl import Firecrawlapp = Firecrawl(api_key="fc-YOUR-API-KEY")result = app.scrape( 'https://firecrawl.dev', formats=[{ "type": "json", "prompt": "Extraia a missão da empresa presente na página." }], only_main_content=False, timeout=120000)print(result)
Resultado:
JSON
Copiar
{ "success": true, "data": { "json": { "company_mission": "Raspagem e extração de dados na web com IA", }, "metadata": { "title": "Firecrawl", "description": "Raspagem e extração de dados na web com IA", "robots": "seguir, indexar", "ogTitle": "Firecrawl", "ogDescription": "Raspagem e extração de dados na web com IA", "ogUrl": "https://firecrawl.dev/", "ogImage": "https://firecrawl.dev/og.png", "ogLocaleAlternate": [], "ogSiteName": "Firecrawl", "sourceURL": "https://firecrawl.dev/" }, }}
O formato de branding extrai informações completas sobre a identidade de marca de uma página da web, incluindo cores, fontes, tipografia, espaçamento, componentes de UI e mais. Isso é útil para análise de design systems, monitoramento de marca ou para criar ferramentas que precisam compreender a identidade visual de um site.
Copiar
from firecrawl import Firecrawlfirecrawl = Firecrawl(api_key='fc-YOUR_API_KEY')result = firecrawl.scrape( url='https://firecrawl.dev', formats=['branding'])print(result['branding'])
O Firecrawl permite executar várias ações em uma página da web antes de fazer o scraping do conteúdo. Isso é especialmente útil para interagir com conteúdo dinâmico, navegar entre páginas ou acessar conteúdo que exige interação do usuário.Veja um exemplo de como usar ações para acessar google.com, pesquisar por Firecrawl, clicar no primeiro resultado e fazer uma captura de tela.É importante, quase sempre, usar a ação wait antes/depois de executar outras ações para dar tempo suficiente para a página carregar.
Quando você define as configurações de localização, o Firecrawl usará um proxy apropriado, se disponível, e emulará as configurações correspondentes de idioma e fuso horário. Por padrão, a localização é definida como “US” se não for especificada.
Para usar as configurações de localização e idioma, inclua o objeto location no corpo da sua requisição com as seguintes propriedades:
country: Código de país ISO 3166-1 alpha-2 (por exemplo, ‘US’, ‘AU’, ‘DE’, ‘JP’). O padrão é ‘US’.
languages: Uma lista (array) de idiomas e localidades preferidos para a requisição, em ordem de prioridade. O padrão é o idioma da localização especificada.
Para acelerar as requisições, o Firecrawl retorna resultados do cache por padrão quando há uma cópia recente disponível.
Janela de frescor padrão: maxAge = 172800000 ms (2 dias). Se a página em cache for mais recente do que isso, ela é retornada instantaneamente; caso contrário, a página é coletada novamente e então armazenada em cache.
Desempenho: Pode acelerar as coletas em até 5x quando os dados não precisam estar ultra recentes.
Sempre buscar conteúdo novo: Defina maxAge como 0.
Evitar armazenamento: Defina storeInCache como false se você não quiser que o Firecrawl armazene em cache os resultados desta requisição.
Rastreio de mudanças: Requisições que incluem changeTracking ignoram o cache, então maxAge é desconsiderado.
Exemplo (forçar conteúdo novo):
Copiar
from firecrawl import Firecrawlfirecrawl = Firecrawl(api_key='fc-YOUR_API_KEY')doc = firecrawl.scrape(url='https://example.com', maxAge=0, formats=['markdown'])print(doc)
Agora é possível fazer scraping em lote de várias URLs ao mesmo tempo. A função recebe as URLs iniciais e parâmetros opcionais como argumentos. O parâmetro params permite definir opções adicionais para a tarefa de scraping em lote, como os formatos de saída.
Funciona de forma muito semelhante ao endpoint /crawl. Ele cria um job de raspagem em lote e retorna um ID do job para você acompanhar o status da raspagem em lote.O SDK oferece 2 métodos: síncrono e assíncrono. O método síncrono retorna os resultados do job de raspagem em lote, enquanto o método assíncrono retorna um ID do job que você pode usar para verificar o status da raspagem em lote.
Se você estiver usando os métodos síncronos dos SDKs, eles retornarão os resultados do job de scraping em lote. Caso contrário, será retornado um ID de job que você pode usar para verificar o status do scraping em lote.
Você pode usar o ID da tarefa para verificar o status do batch scrape chamando o endpoint /batch/scrape/{id}. Este endpoint deve ser usado enquanto a tarefa ainda estiver em execução ou logo após sua conclusão, pois as tarefas de batch scrape expiram após 24 horas.
Para sites complexos, o Firecrawl oferece um modo enhanced que aumenta as taxas de sucesso ao mesmo tempo em que preserva a privacidade.Saiba mais sobre o Modo Enhanced.