Rust
Empieza a usar Firecrawl en Rust. Busca, haz scraping e interactúa con datos web con el SDK oficial.
- Rust 1.70+ con Cargo
- Una clave de API de Firecrawl: consigue una gratis
Añade firecrawl a tu Cargo.toml:
[dependencies]
firecrawl = "2"
tokio = { version = "1", features = ["full"] }
serde_json = "1"use firecrawl::{Client, SearchOptions};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = Client::new("fc-YOUR-API-KEY")?;
let results = client.search(
"firecrawl web scraping",
SearchOptions { limit: Some(5), ..Default::default() },
).await?;
if let Some(web) = results.data.web {
for item in web {
if let firecrawl::SearchResultOrDocument::WebResult(r) = item {
println!("{} - {}", r.url, r.title.unwrap_or_default());
}
}
}
Ok(())
}let doc = client.scrape("https://example.com", None).await?;
println!("{}", doc.markdown.unwrap_or_default());Haz scraping de una página para obtener un scrapeId y luego usa la API de interacción para controlar la sesión del navegador:
use firecrawl::{Client, ScrapeOptions, Format, ScrapeExecuteOptions};
let doc = client.scrape(
"https://www.amazon.com",
ScrapeOptions {
formats: Some(vec![Format::Markdown]),
..Default::default()
},
).await?;
let scrape_id = doc.metadata
.as_ref()
.and_then(|m| m.scrape_id.as_deref())
.expect("scrapeId not found");
// Enviar un prompt para interactuar con la página
let run = client.interact(
scrape_id,
ScrapeExecuteOptions {
prompt: Some("Search for iPhone 16 Pro Max".to_string()),
..Default::default()
},
).await?;
let run = client.interact(
scrape_id,
ScrapeExecuteOptions {
prompt: Some("Click on the first result and tell me the price".to_string()),
..Default::default()
},
).await?;
println!("{:?}", run.output);
// Cerrar la sesión
client.stop_interaction(scrape_id).await?;Configura FIRECRAWL_API_KEY en vez de pasar la clave directamente:
export FIRECRAWL_API_KEY=fc-YOUR-API-KEYlet api_key = std::env::var("FIRECRAWL_API_KEY")?;
let client = Client::new(api_key)?;Documentación de búsqueda
Busca en la web y obtén el contenido completo de la página
Documentación de scraping
Todas las opciones de scraping, incluidos formatos, acciones y proxies
Documentación de Interact
Haz clic, completa formularios y extrae contenido dinámico
Referencia del SDK de Rust
Referencia completa del SDK con rastreo, mapeo, extracción por lotes y más
Was this page helpful?Suggest editsRaise issue