当前位置:首页 > 科技  > 软件

直接把任意网站变为 API 接口?Firecrawl有点牛了!

来源: 责编: 时间:2024-07-19 07:56:08 353观看
导读Hello,大家好,我是 Sunday。最近看到了一个爬虫类框架:firecrawl 号称 可以抓取任何网站并将其转换为干净的 markdown 或结构化数据。并且可以直接通过 Node 进行部署。看这样的描述有点厉害了,所以,咱们今天就来看看这个

Hello,大家好,我是 Sunday。rr628资讯网——每日最新资讯28at.com

最近看到了一个爬虫类框架:firecrawl 号称 可以抓取任何网站并将其转换为干净的 markdown 或结构化数据。并且可以直接通过 Node 进行部署。rr628资讯网——每日最新资讯28at.com

看这样的描述有点厉害了,所以,咱们今天就来看看这个 firecrawlrr628资讯网——每日最新资讯28at.com

01:什么是 firecrawl

firecrawl 是一种 API 服务,它获取 URL、对其进行抓取并将其转换为干净的 markdown 或结构化数据。我们会抓取所有可访问的子页面并为您提供每个子页面的干净数据。无需站点地图。rr628资讯网——每日最新资讯28at.com

目前 Firecrawl 开源 3周 的时间,已经有了 7.9K 的 star 数,可以说是一个优秀的项目了rr628资讯网——每日最新资讯28at.com

图片图片rr628资讯网——每日最新资讯28at.com

获取秘钥在这里注册并获取:https://www.firecrawl.dev/pricingrr628资讯网——每日最新资讯28at.com

有了秘钥之后,可以直接基于 Node 包创建项目即可:rr628资讯网——每日最新资讯28at.com

  1. 安装依赖包 npm install @mendable/firecrawl-js
  2. 将 API 密钥设置为命名的环境变量FIRECRAWL_API_KEY或将其作为参数传递给FirecrawlApp类
  3. 如要抓取单个 URL ,可直接通过 scrapeUrl 方法
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);}
  1. 如要爬取网站信息,可以直接通过 crawlUrl 方法。该方法以起始 URL 和可选参数作为参数。该params参数允许您为抓取作业指定其他选项,例如要抓取的最大页面数、允许的域和输出格式。
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);
  1. 可以通过 checkCrawlStatus 方法检查爬取状态
const status = await app.checkCrawlStatus(jobId);console.log(status);
  1. 使用 LLM 可自动格式化所有数据
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"]);
  1. 使用该 search 方法,您可以在搜索引擎中搜索查询并获取排名靠前的结果以及每个结果的页面内容。该方法将查询作为参数并返回搜索结果。
const query = "what is mendable?";const searchResults = await app.search(query, {  pageOptions: {    fetchPageContent: true, // 获取每个搜索结果的页面内容  },});


rr628资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-101703-0.html直接把任意网站变为 API 接口?Firecrawl有点牛了!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 为什么StampedLock会导致CPU100%?

下一篇: 深入理解 JavaScript 中的 With 语句

标签:
  • 热门焦点
  • MIX Fold3包装盒泄露 新机本月登场

    小米的全新折叠屏旗舰MIX Fold3将于本月发布,近日该机的真机包装盒在网上泄露。从图上来看,新的MIX Fold3包装盒在外观设计方面延续了之前的方案,变化不大,这也是目前小米旗舰
  • 一加首款折叠屏!一加Open渲染图出炉:罕见单手可握小尺寸

    8月5日消息,此前就有爆料称,一加首款折叠屏手机将会在第三季度上市,如今随着时间临近,新机的各种消息也开始浮出水面。据悉,这款新机将会被命名为“On
  • JavaScript 混淆及反混淆代码工具

    介绍在我们开始学习反混淆之前,我们首先要了解一下代码混淆。如果不了解代码是如何混淆的,我们可能无法成功对代码进行反混淆,尤其是使用自定义混淆器对其进行混淆时。什么是混
  • 一文看懂为苹果Vision Pro开发应用程序

    译者 | 布加迪审校 | 重楼苹果的Vision Pro是一款混合现实(MR)头戴设备。Vision Pro结合了虚拟现实(VR)和增强现实(AR)的沉浸感。其高分辨率显示屏、先进的传感器和强大的处理能力
  • 微信语音大揭秘:为什么禁止转发?

    大家好,我是你们的小米。今天,我要和大家聊一个有趣的话题:为什么微信语音不可以转发?这是一个我们经常在日常使用中遇到的问题,也是一个让很多人好奇的问题。让我们一起来揭开这
  • .NET 程序的 GDI 句柄泄露的再反思

    一、背景1. 讲故事上个月我写过一篇 如何洞察 C# 程序的 GDI 句柄泄露 文章,当时用的是 GDIView + WinDbg 把问题搞定,前者用来定位泄露资源,后者用来定位泄露代码,后面有朋友反
  • 华为开发者大会2023日程公开:开设鸿蒙HarmonyOS 4体验区

    IT之家 7 月 31 日消息,华为今日公布了 HDC.Together 开发者大会 2023 的详细日程。整场大会将于 8 月 4 日-6 日之间举行,届时将发布最新一代鸿蒙 H
  • 支持aptX Lossless无损传输 iQOO TWS 1赛道版发布限时优惠价369元

    2023年7月4日,“无损音质,声动人心”iQOO TWS 1正式发布,支持aptX Lossless无损传输,限时优惠价369元。iQOO TWS 1耳机率先支持端到端aptX Lossless无
  • “买真退假” 这种“羊毛”不能薅

    □ 法治日报 记者 王春   □ 本报通讯员 胡佳丽  2020年初,还在上大学的小东加入了一个大学生兼职QQ群。群主“七王”在群里介绍一些刷单赚
Top