微信扫码
添加专属顾问
我要投稿
FireCrawl:AI网络爬虫的革新者,为LLM时代提供强大数据支持。 核心内容: 1. FireCrawl的介绍及其在AI模型训练中的应用 2. 主要功能:爬取、抓取、映射、LLM提取等 3. 技术原理:网页爬取、内容解析、数据提取与结构化、动态内容处理、反反爬虫技术 4. 实例演示:获取API KEY、安装库、抓取单个页面数据
FireCrawl是由Mendable.ai开发的一款强大的AI网络爬虫工具,能够智能爬取网站及其所有可访问的子页面数据,并将收集的内容转换为Json,Markdown,Html等多种格式数据。它具备强大的抓取能力,无论是静态页面还是复杂的动态页面,甚至JavaScript呈现的内容都能抓取到。
FireCrawl特别适用于AI模型训练、检索增强生成(RAG)和数据驱动的开发等多种应用场景
爬取:自动爬取网站及其所有可访问的子页面,将内容转换为 Json,Markdown等格式数据。 抓取:抓取单个 URL 的内容,并以 Markdown、结构化数据等格式提供。 映射:输入网站 URL,快速获取网站上的所有链接。 LLM 提取:从抓取的页面中提取结构化数据。 批量抓取:同时抓取多个 URL。 网页交互:在抓取内容之前,对网页执行点击、滚动、输入等操作。 搜索:搜索网络,获取最相关的结果,并抓取页面内容。
网页爬取:FireCrawl利用网络爬虫技术,通过递归访问网站页面,根据提供的URL自动爬取网站及其所有可访问的子页面。它能够处理动态网页内容,并利用大型语言模型进行数据提取。 内容解析:FireCrawl解析网页的HTML内容,提取所需数据。它能够处理由JavaScript渲染的动态内容,确保能抓取由用户交互生成的数据。 数据提取与结构化:FireCrawl基于自然语言处理技术,从非结构化的网页内容中提取结构化数据。它将提取的内容转换成适合大型语言模型处理的格式,如Markdown或结构化数据。 动态内容处理:FireCrawl能够处理动态内容,包括那些需要通过用户交互才能生成的内容。这使得它适用于各种复杂的网站抓取任务。 反反爬虫技术:为了绕过网站的反爬虫机制,FireCrawl使用代理、自定义头部等技术,确保能够顺利抓取数据。
1、登录网站:https://firecrawl.dev, 注册账号 2、点击 Dashboard 按钮 3、复制API KEY
pip install firecrawl-py
FIRECRAWL_API_KEY=FireCrawl API KEY
def scrape_page(self, url: str, schema: BaseModel,
formats: List[str] = ['json'],
prompt: Optional[str] = None) -> Dict[str, Any]:
"""抓取单个页面的数据
Args:
url: 要抓取的URL
schema: Pydantic模型,定义返回数据的结构
formats: 返回数据的格式列表,默认为['json']
prompt: 可选的提示信息,帮助抓取特定内容
Returns:
包含抓取结果的字典
"""
try:
params = {
'formats': formats,
'jsonOptions': {
'schema': schema.model_json_schema(),
}
}
if prompt:
params['jsonOptions']['prompt'] = prompt
logger.info(f"开始抓取页面: {url}")
result = self.app.scrape_url(url, params)
logger.info(f"页面抓取完成: {url}")
return result
except Exception as e:
logger.error(f"抓取页面时出错: {url}, 错误: {str(e)}")
raise
def crawl_website(self, url: str, schema: BaseModel,
limit: int = 10, max_depth: int = 2,
formats: List[str] = ['json'],
prompt: Optional[str] = None) -> List[Dict[str, Any]]:
"""爬取整个网站或指定深度的多个页面
Args:
url: 起始URL
schema: Pydantic模型,定义返回数据的结构
limit: 最大抓取页面数量
max_depth: 最大抓取深度
formats: 返回数据的格式列表,默认为['json']
prompt: 可选的提示信息,帮助抓取特定内容
Returns:
包含所有抓取结果的列表
"""
try:
params = {
'limit': limit,
'maxDepth': max_depth,
'scrapeOptions': {
'formats': formats,
'jsonOptions': {
'schema': schema.model_json_schema(),
}
}
}
if prompt:
params['scrapeOptions']['jsonOptions']['prompt'] = prompt
logger.info(f"开始爬取网站: {url}, 限制: {limit}页, 深度: {max_depth}")
results = self.app.crawl_url(url, params)
logger.info(f"网站爬取完成: {url}, 共抓取{len(results)}个结果")
return results
except Exception as e:
logger.error(f"爬取网站时出错: {url}, 错误: {str(e)}")
raise
class Product(BaseModel):
"""产品信息模型"""
name: str = Field(description='产品名称')
price: Optional[str] = Field(description='产品价格')
description: Optional[str] = Field(description='产品描述')
rating: Optional[float] = Field(description='产品评分')
class ProductList(BaseModel):
"""产品列表模型"""
products: List[Product] = Field(description='产品列表')
{
"metadata": {
"viewport": "width=device-width, initial-scale=1",
"title": "Your Store",
"description": "My Store",
"language": "en",
"scrapeId": "aa78ed8b-5a05-4cd9-b679-0a81012abcd1",
"sourceURL": "https://demo.opencart.com/",
"url": "https://demo.opencart.com/",
"statusCode": 200
},
"json": {
"products": [
{
"name": "MacBook",
"price": "$602.00",
"description": "Powered by an Intel Core 2 Duo processor at speeds up to 2.16GHz, t..",
"rating": null
},
{
"name": "iPhone",
"price": "$123.20",
"description": "iPhone is a revolutionary new mobile phone that allows you to make a call by simply tapping a name o..",
"rating": null
},
{
"name": "Apple Cinema 30\"",
"price": "$110.00",
"description": "The 30-inch Apple Cinema HD Display delivers an amazing 2560 x 1600 pixel resolution. Designed speci..",
"rating": null
},
{
"name": "Canon EOS 5D",
"price": "$98.00",
"description": "Canon's press material for the EOS 5D states that it 'defines (a) new D-SLR category', while we're n..",
"rating": null
}
]
}
}
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-04-19
RAG升级-基于知识图谱+deepseek打造强大的个人知识库问答机器人
2025-04-19
RAG vs. CAG vs. Fine-Tuning:如何为你的大语言模型选择最合适的“脑力升级”?
2025-04-19
低代码 RAG 只是信息搬运工,Graph RAG 让 AI 具备垂直深度推理能力!
2025-04-18
微软PIKE-RAG全面解析:解锁工业级应用领域知识理解与推理
2025-04-18
AI 记忆不等于 RAG:对话式 AI 为何需要超越检索增强
2025-04-18
什么是RAG与为什么要RAG?
2025-04-18
Anthropic工程师揭秘高效AI Agent的三大秘诀
2025-04-17
Fireworks AI 分析
2024-10-27
2024-09-04
2024-07-18
2024-05-05
2024-06-20
2024-06-13
2024-07-09
2024-07-09
2024-05-19
2024-07-07
2025-04-19
2025-04-18
2025-04-16
2025-04-14
2025-04-13
2025-04-11
2025-04-09
2025-04-07