当前位置: 首页 > ds >正文

firecrawl的docker安装和api调用

记录下FireCrawl Docker部署,以及aip调用以备忘。

一、部署前准备

1. 环境要求
  • 硬件:2核CPU、4GB内存、50GB硬盘
  • 软件
    • Windows:Docker Desktop(需启用WSL2)
    • Linux:Docker + Git(Ubuntu推荐版本24.04)
  • 网络:需外网访问(国内用户建议科学上网或使用镜像源)

二、部署步骤

1. 克隆代码仓库

bash

git clone https://github.com/mendableai/firecrawl.git cd firecrawl

如果github登录不了,可以使用gitee下载

git clone https://gitee.com/JonDO/firecrawl.git

2. 配置环境变量
  • 复制示例文件

    cp apps/api/.env.example .env

3. Docker配置与启动
Ubuntu系统
  • 安装Docker

    # 添加GPG密钥与仓库 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo "deb [arch= $ (dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $ (lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null sudo apt update && sudo apt install docker-ce docker-ce-cli containerd.io

  • 解决镜像下载问题
    修改/etc/docker/daemon.json添加镜像源(如华为云):
     

    { "registry-mirrors": ["https://docker.1ms.run"] }

    重启Docker服务:
    bash

    sudo systemctl restart docker

  • 构建与运行
     

    docker-compose build --no-cache # 强制重新构建 docker-compose up -d


4. 验证部署
  • 检查服务状态
     

    docker-compose ps # 查看容器运行状态

  • API测试
     

    curl -X GET http://localhost:3002/test # 返回"Hello, world!"表示成功

  • 管理界面
    浏览器访问 http://localhost:3002/admin/@/queues 查看任务队列。

三、api调用

有两种调用方式,一种是返回task_id,一种是直接返回结果。

1、返回task_id

String url = "http://192.168.1.1:3002/v1/crawl"

可以在浏览器访问 http://localhost:3002/admin/@/queues 查看任务队列。

2、直接返回结果

String url = "http://192.168.1.1:3002/v0/scrape"

调用的参考代码如下:

// var url = "http://192.168.1.1:3002/v0/scrape"
var url = "http://192.168.1.1:3002/v1/crawl"Map headers = {"Content-Type": "application/json"
}
Map requestBody = {"url": "" //爬取网址// "option": {//     "maxDepth": 3, //下转几层//     "limit": 1,  //最多爬取几页,包括base page//     // "scrapeOptions": {//     //     "formats": ["markdown","html"]//     // }//     // "keepCookies": true,//     // "headers": {//     //     "Cookie": str//     // }// }
}
var ret = http.connect(url).header(headers).body(requestBody).post().getBody()return ret

 

 

http://www.xdnf.cn/news/3450.html

相关文章:

  • Linux安装MySQL详细教程
  • 视觉标记token:解锁AI视觉理解新维度的钥匙
  • 强化学习之基于无模型的算法之基于值函数的深度强化学习算法
  • DeepSeek-V3 解析第二篇:DeepSeekMoE
  • 数据库的死锁相关(一)
  • 动态规划 -- 子数组问题
  • nginx 配置要领
  • 客户服务升级:智能语音外呼系统在多领域的场景应用解析
  • 大模型时代的新燃料:大规模拟真多风格语音合成数据集
  • 面经很简单的
  • 机器学习_KNN算法
  • 【SpringBoot】基于mybatisPlus的博客管理系统(2)
  • 汽车电子 专栏文章汇总
  • python+echart绘制一个听力图
  • 常用电机类型及其特点对比
  • 如何用fiddler进行弱网测试(工作常用篇)
  • sd webui 安装插件sd-webui-EasyPhoto依赖安装失败解决办法
  • 基于深度强化学习训练一个会走迷宫的ai
  • java之Integer、Double自动拆装箱比较,踩坑值int和Integer比较之空指针异常
  • WPF之TextBox控件详解
  • 第八节:目录操作
  • 二叉树的路径总和问题(递归遍历,回溯算法)
  • 如何理解神经网络训练的循环过程
  • 产品月报|睿本云4月产品功能迭代
  • MS31860T——8 通道串行接口低边驱动器
  • 制造业行业ERP软件部署全流程指南:从选型到维护,怎么做?
  • 多线程爬虫中实现线程安全的MySQL连接池
  • Java程序员如何设计一个高并发系统?
  • 基于MCP协议实现一个智能审核流程
  • 虚拟内存笔记(一)