前提条件#
- Java 11+
- 一个 Firecrawl API 密钥 — 免费获取
安装 SDK#
dependencies { implementation("com.firecrawl:firecrawl-java:1.2.0")}<dependency> <groupId>com.firecrawl</groupId> <artifactId>firecrawl-java</artifactId> <version>1.2.0</version></dependency>进行网页搜索#
import com.firecrawl.client.FirecrawlClient;import com.firecrawl.models.SearchData;import com.firecrawl.models.SearchOptions;public class Main { public static void main(String[] args) { FirecrawlClient client = FirecrawlClient.builder() .apiKey("fc-YOUR-API-KEY") .build(); SearchData results = client.search( "firecrawl web scraping", SearchOptions.builder().limit(5).build() ); if (results.getWeb() != null) { for (var result : results.getWeb()) { System.out.println(result.get("title") + " - " + result.get("url")); } } }}抓取网页#
import com.firecrawl.models.Document;Document doc = client.scrape("https://example.com");System.out.println(doc.getMarkdown());示例响应
{ "markdown": "# Example Domain\n\nThis domain is for use in illustrative examples...", "metadata": { "title": "Example Domain", "sourceURL": "https://example.com" }}与页面交互#
打开一个浏览器会话,在其中运行 Playwright 代码,并在完成后将其关闭:
import com.firecrawl.models.ScrapeOptions;import com.firecrawl.models.BrowserExecuteResponse;import java.util.List;Document doc = client.scrape("https://www.amazon.com", ScrapeOptions.builder().formats(List.of((Object) "markdown")).build());String scrapeId = (String) doc.getMetadata().get("scrapeId");BrowserExecuteResponse run = client.interact(scrapeId, "const title = await page.title(); console.log(title);");System.out.println(run.getStdout());client.stopInteractiveBrowser(scrapeId);环境变量#
不要直接传入 apiKey,请改为设置 FIRECRAWL_API_KEY 环境变量:
export FIRECRAWL_API_KEY=fc-YOUR-API-KEYFirecrawlClient client = FirecrawlClient.fromEnv();
