Cloudflare Workers
Utilisez Firecrawl avec Cloudflare Workers pour rechercher, extraire et interagir avec des données du Web en périphérie.
- Wrangler CLI (
npm install -g wrangler) - Une clé API Firecrawl — obtenez-en une gratuitement
npm create cloudflare@latest my-scraper
cd my-scraper
npm install firecrawlAjoutez votre clé API en tant que secret :
wrangler secret put FIRECRAWL_API_KEYCréez un gestionnaire qui effectue une recherche sur le web et renvoie les résultats avec le contenu complet des pages.
Modifiez src/index.ts:
import { Firecrawl } from "firecrawl";
export interface Env {
FIRECRAWL_API_KEY: string;
}
export default {
async fetch(request: Request, env: Env): Promise<Response> {
const firecrawl = new Firecrawl({ apiKey: env.FIRECRAWL_API_KEY });
const url = new URL(request.url);
if (request.method === "POST" && url.pathname === "/search") {
const { query } = (await request.json()) as { query: string };
const results = await firecrawl.search(query, { limit: 5 });
return Response.json(results);
}
return new Response("Not found", { status: 404 });
},
};Ajoutez une route /scrape pour extraire du Markdown propre à partir de n’importe quelle URL.
if (request.method === "POST" && url.pathname === "/scrape") {
const { url: targetUrl } = (await request.json()) as { url: string };
const result = await firecrawl.scrape(targetUrl);
return Response.json(result);
}Ajoutez une route /interact pour piloter une session de navigateur en direct, afin de cliquer sur des boutons, remplir des formulaires et extraire du contenu dynamique.
if (request.method === "POST" && url.pathname === "/interact") {
const result = await firecrawl.scrape("https://www.amazon.com", {
formats: ["markdown"],
});
const scrapeId = result.metadata?.scrapeId;
await firecrawl.interact(scrapeId, {
prompt: "Search for iPhone 16 Pro Max",
});
const response = await firecrawl.interact(scrapeId, {
prompt: "Click on the first result and tell me the price",
});
await firecrawl.stopInteraction(scrapeId);
return Response.json({ output: response.output });
}wrangler deploycurl -X POST https://my-scraper.<your-subdomain>.workers.dev/search \
-H "Content-Type: application/json" \
-d '{"query": "firecrawl web scraping"}'Documentation de recherche
Recherchez sur le web et obtenez le contenu intégral des pages
Documentation Scrape
Toutes les options de scrape, y compris les formats, les actions et les proxies
Documentation Interact
Cliquez, remplissez des formulaires et extrayez du contenu dynamique
Référence du SDK Node
Référence complète du SDK avec crawl, cartographie, extraction par lot, etc.