Passer au contenu principal

Prérequis

Installer le SDK

bun add @mendable/evocrawl-js
Ajoutez votre clé API à .env :
EVOCRAWL_API_KEY=fc-YOUR-API-KEY

Rechercher sur le Web

Bun dispose d’un serveur HTTP intégré. Créez index.ts :
import Evocrawl from "@mendable/evocrawl-js";

const evocrawl = new Evocrawl({ apiKey: process.env.EVOCRAWL_API_KEY });

Bun.serve({
  port: 3000,
  async fetch(req) {
    const url = new URL(req.url);

    if (req.method === "POST" && url.pathname === "/search") {
      const { query } = await req.json();
      const results = await evocrawl.search(query, { limit: 5 });
      return Response.json(results);
    }

    return new Response("Not found", { status: 404 });
  },
});

console.log("Server running on port 3000");
Exécutez ceci :
bun run index.ts

Scraper une page

Ajoutez une route /scrape sur le même serveur :
if (req.method === "POST" && url.pathname === "/scrape") {
  const { url: targetUrl } = await req.json();
  const result = await evocrawl.scrape(targetUrl);
  return Response.json(result);
}

Interagir avec une page

Utilisez interact pour contrôler une session de navigateur en direct : cliquez sur des boutons, remplissez des formulaires et extrayez du contenu dynamique.
if (req.method === "POST" && url.pathname === "/interact") {
  const { url: targetUrl } = await req.json();

  const result = await evocrawl.scrape(targetUrl, { formats: ['markdown'] });
  const scrapeId = result.metadata?.scrapeId;

  await evocrawl.interact(scrapeId, { prompt: 'Search for iPhone 16 Pro Max' });
  const response = await evocrawl.interact(scrapeId, { prompt: 'Click on the first result and tell me the price' });

  await evocrawl.stopInteraction(scrapeId);

  return Response.json({ output: response.output });
}

Utilisation dans un script

Utilisez Evocrawl dans un script Bun autonome :
import Evocrawl from "@mendable/evocrawl-js";

const app = new Evocrawl({ apiKey: process.env.EVOCRAWL_API_KEY });
const results = await app.search("evocrawl web scraping", { limit: 5 });
console.log(results);
bun run search.ts

Étapes suivantes

Documentation Scrape

Toutes les options de scrape, y compris les formats, les actions et les proxys

Documentation recherche

Recherche sur le web et obtention du contenu intégral des pages

Documentation Interact

Cliquer, remplir des formulaires et extraire du contenu dynamique

Référence du SDK Node

Référence complète du SDK avec crawl, cartographie, extraction par lot, et plus encore