专栏名称: GitHubStore
分享有意思的开源项目
目录
相关文章推荐
地刊速览  ·  EPSL:古太平洋的缺氧事件 ·  11 小时前  
地刊速览  ·  EPSL:古太平洋的缺氧事件 ·  11 小时前  
绝对现场  ·  名医到院区 | ... ·  2 天前  
共同体Community  ·  深圳市第三儿童医院,开业时间定了! ·  2 天前  
共同体Community  ·  深圳市第三儿童医院,开业时间定了! ·  2 天前  
闽南日报  ·  延时门诊!漳州市医院最新通知 ·  3 天前  
51好读  ›  专栏  ›  GitHubStore

FireCrawl:一个开源的爬虫工具

GitHubStore  · 公众号  ·  · 2024-04-19 07:28

正文

项目简介

它能够抓取任何网站的所有可访问子页面,而且无需站点地图,并将这些内容转换为干净的Markdown格式。FireCrawl 与传统的网页爬虫工具不同,即使网站使用JavaScript动态生成其内容,FireCrawl 也能有效地抓取这些内容。FireCrawl 还提供了一个易于使用的API,使开发者能够通过简单的API调用实现内容的爬取和转换。



抓取任何网站并将其转换为 LLM-ready markdown。按 Mendable.ai 构建

该存储库目前处于开发的早期阶段。我们正在将自定义模块合并到这个单声道存储库中。主要目标是通过利用干净的数据来提高响应的LLM准确性。它还没有准备好完全自托管 - 我们正在努力

什么是 Firecrawl?

Firecrawl 是一种 API 服务,它获取 URL、抓取它并将其转换为干净的 Markdown。我们抓取所有可访问的子页面,并为每个子页面提供干净的降价。无需站点地图。

如何使用它?

我们在托管版本中提供了一个易于使用的 API。您可以在此处找到 Playground 和文档。如果您愿意,您也可以自行托管后端。

  • API 应用程序接口

  • Python 开发工具包

  • Node SDK 节点 SDK

  • Langchain集成 🦜🔗

  • Llama Index 集成 🦙

  • LangchainJS - 即将推出

自托管。要自托管,请参阅此处的指南。

API 密钥

要使用 API,您需要在 Firecrawl 上注册并获取 API 密钥。

抓取

用于抓取 URL 和所有可访问的子页面。这将提交爬网作业并返回作业 ID 以检查爬网的状态。

curl -X POST https://api.firecrawl.dev/v0/crawl \    -H 'Content-Type: application/json' \    -H 'Authorization: Bearer YOUR_API_KEY' \    -d '{      "url": "https://mendable.ai"    }'

返回 jobId

{ "jobId": "1234-5678-9101" }


检查爬网作业

用于检查爬网作业的状态并获取其结果。

curl -X GET https://api.firecrawl.dev/v0/crawl/status/1234-5678-9101 \  -H 'Content-Type: application/json' \  -H 'Authorization: Bearer YOUR_API_KEY'
{    "status": "completed",    "current": 22,    "total": 22,    "data": [        {         "content": "Raw Content ",         "markdown": "# Markdown Content",         "provider": "web-scraper",         "metadata": {             "title": "Mendable | AI for CX and Sales",             "description": "AI for CX and Sales",             "language": null,             "sourceURL": "https://www.mendable.ai/",         }       }    ]}


使用 Python SDK

安装 Python SDK

pip install firecrawl-py

抓取网站

from firecrawl import FirecrawlApp
app = FirecrawlApp(api_key="YOUR_API_KEY")
crawl_result = app.crawl_url('mendable.ai', {'crawlerOptions': {'excludes': ['blog/*']}})
# Get the markdownfor result in crawl_result: print(result['markdown'])


抓取网址

要抓取单个 URL,请使用该 scrape_url 方法。它将 URL 作为参数,并以字典的形式返回抓取的数据。







请到「今天看啥」查看全文