Hello,大家好,我是 Sunday。
最近看到了一个爬虫类框架:firecrawl 号称 可以抓取任何网站并将其转换为干净的 markdown 或结构化数据。并且可以直接通过 Node 进行部署。
看这样的描述有点厉害了,所以,咱们今天就来看看这个 firecrawl
firecrawl 是一种 API 服务,它获取 URL、对其进行抓取并将其转换为干净的 markdown 或结构化数据。我们会抓取所有可访问的子页面并为您提供每个子页面的干净数据。无需站点地图。
目前 Firecrawl 开源 3周 的时间,已经有了 7.9K 的 star 数,可以说是一个优秀的项目了
图片
获取秘钥在这里注册并获取:https://www.firecrawl.dev/pricing
有了秘钥之后,可以直接基于 Node 包创建项目即可:
try { const url = "https://example.com"; const scrapedData = await app.scrapeUrl(url); console.log(scrapedData);} catch (error) { console.error("Error occurred while scraping:", error.message);}
const crawlUrl = "https://example.com";const params = { crawlerOptions: { excludes: ["blog/"], includes: [], // leave empty for all pages limit: 1000, }, pageOptions: { onlyMainContent: true, },};const waitUntilDone = true;const timeout = 5;const crawlResult = await app.crawlUrl( crawlUrl, params, waitUntilDone, timeout);
const status = await app.checkCrawlStatus(jobId);console.log(status);
import FirecrawlApp from "@mendable/firecrawl-js";import { z } from "zod";const app = new FirecrawlApp({ apiKey: "fc-YOUR_API_KEY",});// Define schema to extract contents intoconst schema = z.object({ top: z .array( z.object({ title: z.string(), points: z.number(), by: z.string(), commentsURL: z.string(), }) ) .length(5) .describe("Top 5 stories on Hacker News"),});const scrapeResult = await app.scrapeUrl("https://news.ycombinator.com", { extractorOptions: { extractionSchema: schema },});console.log(scrapeResult.data["llm_extraction"]);
const query = "what is mendable?";const searchResults = await app.search(query, { pageOptions: { fetchPageContent: true, // 获取每个搜索结果的页面内容 },});
本文链接:http://www.28at.com/showinfo-26-101703-0.html直接把任意网站变为 API 接口?Firecrawl有点牛了!
声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com