FireCrawl:开源 AI 网络爬虫工具,自动爬取网站及子页面内容,预处理为结构化数据

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  1. 功能:FireCrawl 支持自动爬取网站及其子页面,抓取单个 URL 内容,并提取结构化数据。
  2. 技术:基于网络爬虫技术,处理动态内容,并利用大型语言模型进行数据提取。
  3. 应用:适用于大模型训练、检索增强生成(RAG)、数据驱动开发等多种场景。

正文(附运行示例)

FireCrawl 是什么

公众号: 蚝油菜花 - firecrawl

FireCrawl 是一款开源的 AI 网络爬虫工具,专门用于 Web 数据提取,能够将网页内容转换为 Markdown 或其他结构化数据。它具备强大的抓取能力,支持动态网页内容的处理,并提供智能爬取状态管理和多样的输出格式。

FireCrawl 集成了 LLM Extract 功能,利用大型语言模型快速完成数据提取,适用于大模型训练、检索增强生成(RAG)、数据驱动开发项目等多种场景。

FireCrawl 的主要功能

  1. 爬取:自动爬取网站及其所有可访问的子页面,将内容转换为 LLM 就绪格式。
  2. 抓取:抓取单个 URL 的内容,并以 Markdown、结构化数据等格式提供。
  3. 映射:输入网站 URL,快速获取网站上的所有链接。
  4. LLM 提取:从抓取的页面中提取结构化数据。
  5. 批量抓取:同时抓取多个 URL。
  6. 网页交互:在抓取内容之前,对网页执行点击、滚动、输入等操作。
  7. 搜索:搜索网络,获取最相关的结果,并抓取页面内容。

FireCrawl 的技术原理

  1. 网页爬取:利用网络爬虫技术,根据提供的 URL 递归访问网站页面。
  2. 内容解析:解析网页的 HTML 内容,提取所需数据。
  3. LLM 就绪格式:将提取的内容转换成适合大型语言模型处理的格式,如 Markdown 或结构化数据。
  4. 动态内容处理:处理 JavaScript 渲染的动态内容,确保能抓取由用户交互生成的数据。
  5. 反反爬虫技术:使用代理、自定义头部等技术绕过网站的反爬虫机制。
  6. 数据提取与结构化:基于自然语言处理技术,从非结构化的网页内容中提取结构化数据。

如何运行 FireCrawl

1. 安装 Python SDK
pip install firecrawl-py
2. 爬取网站
from firecrawl.firecrawl import FirecrawlApp

app = FirecrawlApp(api_key="fc-YOUR_API_KEY")

# 爬取网站
crawl_status = app.crawl_url(
  'https://firecrawl.dev', 
  params={
    'limit': 100, 
    'scrapeOptions': {'formats': ['markdown', 'html']}
  },
  poll_interval=30
)
print(crawl_status)
3. 提取结构化数据
from firecrawl.firecrawl import FirecrawlApp
from pydantic import BaseModel, Field

app = FirecrawlApp(api_key="fc-YOUR_API_KEY")

class ArticleSchema(BaseModel):
    title: str
    points: int
    by: str
    commentsURL: str

class TopArticlesSchema(BaseModel):
    top: List[ArticleSchema] = Field(..., max_items=5, description="Top 5 stories")

data = app.scrape_url('https://news.ycombinator.com', {
    'formats': ['extract'],
    'extract': {
        'schema': TopArticlesSchema.model_json_schema()
    }
})
print(data["extract"])

资源


❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

🥦 微信公众号|搜一搜:蚝油菜花 🥦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值