Apprenez à scraper GitHub avec les fonctionnalités clés de Firecrawl
npm install @mendable/firecrawl-js zod
import FirecrawlApp from '@mendable/firecrawl-js'; import { z } from 'zod'; const firecrawl = new FirecrawlApp({ apiKey: process.env.FIRECRAWL_API_KEY }); const result = await firecrawl.scrape('https://github.com/firecrawl/firecrawl', { formats: [{ type: 'json', schema: z.object({ name: z.string(), description: z.string(), stars: z.number(), forks: z.number(), language: z.string(), topics: z.array(z.string()) }) }] }); console.log(result.json);
import FirecrawlApp from '@mendable/firecrawl-js'; const firecrawl = new FirecrawlApp({ apiKey: process.env.FIRECRAWL_API_KEY }); const searchResult = await firecrawl.search('machine learning site:github.com', { limit: 10, sources: [{ type: 'web' }], // { type: 'news' }, { type: 'images' } scrapeOptions: { formats: ['markdown'] } }); console.log(searchResult);
import FirecrawlApp from '@mendable/firecrawl-js'; const firecrawl = new FirecrawlApp({ apiKey: process.env.FIRECRAWL_API_KEY }); const result = await firecrawl.scrape('https://github.com/mendableai/firecrawl', { formats: ['markdown'] // par ex. html, links, etc. }); console.log(result);
import FirecrawlApp from '@mendable/firecrawl-js'; const firecrawl = new FirecrawlApp({ apiKey: process.env.FIRECRAWL_API_KEY }); const mapResult = await firecrawl.map('https://github.com/vercel/next.js/tree/canary/docs'); console.log(mapResult.links); // Retourne un tableau d'URL sans contenu
import FirecrawlApp from '@mendable/firecrawl-js'; const firecrawl = new FirecrawlApp({ apiKey: process.env.FIRECRAWL_API_KEY }); const crawlResult = await firecrawl.crawl('https://github.com/facebook/react/wiki', { limit: 10, scrapeOptions: { formats: ['markdown'] } }); console.log(crawlResult.data);
import FirecrawlApp from '@mendable/firecrawl-js'; const firecrawl = new FirecrawlApp({ apiKey: process.env.FIRECRAWL_API_KEY }); // Attendre la fin const job = await firecrawl.batchScrape([ 'https://github.com/vercel/next.js', 'https://github.com/facebook/react', 'https://github.com/microsoft/typescript'], { options: { formats: ['markdown'] }, pollInterval: 2, timeout: 120 } ); console.log(job.status, job.completed, job.total); console.log(job);
import FirecrawlApp from '@mendable/firecrawl-js'; import { z } from 'zod'; const firecrawl = new FirecrawlApp({ apiKey: process.env.FIRECRAWL_API_KEY }); // Attendre la fin de l'exécution const job = await firecrawl.batchScrape([ 'https://github.com/vercel/next.js', 'https://github.com/facebook/react'], { options: { formats: [{ type: 'json', schema: z.object({ name: z.string(), description: z.string(), stars: z.number(), language: z.string() }) }] }, pollInterval: 2, timeout: 120 } ); console.log(job.status, job.completed, job.total); console.log(job);