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

本地部署 Firecrawl 爬虫让 AI 知识库更丰满

https://www.firecrawl.dev/

firecrawl-logo-with-fire.png
firecrawl-logo-with-fire.png

什么是Firecrawl

Firecrawl 是一款 可以将网站转换为 便于AI处理的Markdown 格式的爬虫工具 ,主要 提供 API 服务 ,无需站点地图,只需要接收一个 URL 地址就可以爬取网站及网站下可访问的所有子页面内容。

本地部署Firecrawl

https://github.com/mendableai/firecrawl/blob/main/CONTRIBUTING.md

For a simpler setup, you can use Docker Compose to run all services:

  1. Prerequisites: Make sure you have Docker and Docker Compose installed
  2. Copy the .env.example file to .env in the /apps/api/ directory and configure as needed

  3. From the root directory, run: docker compose up
    This will start Redis, the API server, and workers automatically in the correct configuration.

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

创建.env文件

cp apps/api/.env.example apps/api/.env

需要使用LLM的话修改一下OPENAI_API_KEY和OPENAI_BASE_URL

OPENAI_API_KEY=xxx 
OPENAI_BASE_URL=xxx

构建并启动

docker compose build
docker compose up -d

国内可能下载playwright很慢,可以修改「apps/playwright-service-ts/Dockerfile」

RUN echo "deb http://mirrors.aliyun.com/debian/ bookworm main non-free contrib\n\  
deb http://mirrors.aliyun.com/debian/ bookworm-updates main non-free contrib\n\  
deb http://mirrors.aliyun.com/debian-security bookworm-security main non-free contrib" > /etc/apt/sources.list  

# Install Playwright dependencies  
ENV PLAYWRIGHT_DOWNLOAD_HOST=https://npmmirror.com/mirrors/playwright/  
RUN npx playwright install --with-deps

测试一下

curl -X GET http://localhost:3002/test

使用python调用

pip install firecrawl-py
import logging  
from firecrawl import FirecrawlApp  

logging.basicConfig(level=logging.INFO)  
logger = logging.getLogger(__name__)  


def main():  
    try:  
        app = FirecrawlApp(api_key=None, api_url="http://localhost:3002")  
        params = {  
            'formats': ['markdown'],  
        }  
        logger.info("开始抓取网页...")  
        scrape_status = app.scrape_url('https://www.kujiale.com/', params=params)  
        logger.info("抓取结果:")  
        print(scrape_status)  
    except Exception as e:  
        logger.error(f"抓取过程中发生错误: {str(e)}")  
        raise  


if __name__ == "__main__":  
    main()
image.png
image.png

image.png
image.png

从结果可以看到它会提取一些内容,方便直接将数据给AI或者插入RAG中进行后续操作
image.png
image.png
http://www.dtcms.com/a/109922.html

相关文章:

  • Java创建对象和spring创建对象的过程和区别
  • AI赋能数据库管理“最后一公里”,融合架构重塑数据库承载成本效能——zCloud 6.7与zData X 3.3正式发布
  • MonkeyDev 如何创建一个root级级别的app,并执行root命令获取iphone设备序列号serialNumber(ios15.8)
  • 航电系统之承重与避障技术
  • “二分查找 + (必要时)前缀和” -- 处理 ’有序数组‘ 的区间问题汇总
  • 信息学奥赛一本通 1524:旅游航道
  • 胶铁一体化产品介绍
  • 什么是 SAML身份验证
  • 【DY】信息化集成化信号采集与处理系统;生物信号采集处理系统一体机
  • Qt实现登录界面(输入密码后过几秒,密码变为小黑点,眼睛改变密码明文,密文)
  • 电子电气架构 --- SOC设计流程及其集成开发环境
  • 企业知识库如何搭建?从零开始构建高效知识管理体系
  • 【Spring】Spring 注解解码:@RequestBody 与 @ResponseBody 的双向桥梁艺术
  • 2024年B会(Coling)——双重对比学习用于多模态对话情感识别
  • 数字人训练数据修正和查看 不需要GPU也能运行的DH_live-加载自己训练-
  • 注意力机制在大语言模型中的原理与实现总结
  • 【算法中的数学】分解质因数
  • 每天学一个 Linux 命令(11):cp
  • 【系统移植】(六)第三方驱动移植
  • MySQL:数据类型
  • 380_C++_[结合379]从连续内存地址中取出来的热力图图片data,转换为可视化的、带颜色的热力图像显示到界面(图像格式为RGBA)
  • Yapi部署指南:在 Linux 上 Yapi 教程
  • Linux Bash 脚本实战:自动监控域名证书过期并发送邮件告警
  • vue和angular实现飞机大战
  • 彩虹表攻击
  • 52.个人健康管理系统小程序(基于springbootvue)
  • Linux 高级命令与常见操作:文本处理、系统管理与网络调试
  • 红米AC2100-刷OpenWrt系统,安装zerotier教程
  • 7-6 混合类型数据格式化输入
  • 大数据(4)Hive数仓三大核心特性解剖:面向主题性、集成性、非易失性如何重塑企业数据价值?