FireCrawlLoader#

class langchain_community.document_loaders.firecrawl.FireCrawlLoader(url: str, *, api_key: str | None = None, api_url: str | None = None, mode: Literal['crawl', 'scrape', 'map'] = 'crawl', params: dict | None = None)[来源]#

FireCrawlLoader 文档加载器集成

Setup:

安装 firecrawl-py,``langchain_community`` 并设置环境变量 FIRECRAWL_API_KEY

pip install -U firecrawl-py langchain_community
export FIRECRAWL_API_KEY="your-api-key"
Instantiate:
from langchain_community.document_loaders import FireCrawlLoader

loader = FireCrawlLoader(
    url = "https://firecrawl.dev",
    mode = "crawl"
    # other params = ...
)
Lazy load:
docs = []
docs_lazy = loader.lazy_load()

# async variant:
# docs_lazy = await loader.alazy_load()

for doc in docs_lazy:
    docs.append(doc)
print(docs[0].page_content[:100])
print(docs[0].metadata)
Introducing [Smart Crawl!](https://www.firecrawl.dev/smart-crawl)
 Join the waitlist to turn any web
{'ogUrl': 'https://www.firecrawl.dev/', 'title': 'Home - Firecrawl', 'robots': 'follow, index', 'ogImage': 'https://www.firecrawl.dev/og.png?123', 'ogTitle': 'Firecrawl', 'sitemap': {'lastmod': '2024-08-12T00:28:16.681Z', 'changefreq': 'weekly'}, 'keywords': 'Firecrawl,Markdown,Data,Mendable,Langchain', 'sourceURL': 'https://www.firecrawl.dev/', 'ogSiteName': 'Firecrawl', 'description': 'Firecrawl crawls and converts any website into clean markdown.', 'ogDescription': 'Turn any website into LLM-ready data.', 'pageStatusCode': 200, 'ogLocaleAlternate': []}
Async load:
docs = await loader.aload()
print(docs[0].page_content[:100])
print(docs[0].metadata)
Introducing [Smart Crawl!](https://www.firecrawl.dev/smart-crawl)
 Join the waitlist to turn any web
{'ogUrl': 'https://www.firecrawl.dev/', 'title': 'Home - Firecrawl', 'robots': 'follow, index', 'ogImage': 'https://www.firecrawl.dev/og.png?123', 'ogTitle': 'Firecrawl', 'sitemap': {'lastmod': '2024-08-12T00:28:16.681Z', 'changefreq': 'weekly'}, 'keywords': 'Firecrawl,Markdown,Data,Mendable,Langchain', 'sourceURL': 'https://www.firecrawl.dev/', 'ogSiteName': 'Firecrawl', 'description': 'Firecrawl crawls and converts any website into clean markdown.', 'ogDescription': 'Turn any website into LLM-ready data.', 'pageStatusCode': 200, 'ogLocaleAlternate': []}

使用API密钥和URL进行初始化。

Parameters:
  • url (str) – 要爬取的URL。

  • api_key (str | None) – Firecrawl API 密钥。如果未指定,将从环境变量 FIRECRAWL_API_KEY 中读取。获取 API 密钥

  • api_url (str | None) – Firecrawl API的URL。如果未指定,将从环境变量FIRECRAWL_API_URL中读取,或默认为https://api.firecrawl.dev

  • mode (Literal['crawl', 'scrape', 'map']) – 运行加载器的模式。默认为“crawl”。 选项包括“scrape”(单个URL), “crawl”(所有可访问的子页面), “map”(返回语义相关的链接列表)。

  • params (dict | None) – 传递给Firecrawl API的参数。 示例包括crawlerOptions。 更多详情,请访问:mendableai/firecrawl-py

方法

__init__(url, *[, api_key, api_url, mode, ...])

使用API密钥和URL进行初始化。

alazy_load()

一个用于文档的懒加载器。

aload()

将数据加载到Document对象中。

lazy_load()

一个用于文档的懒加载器。

legacy_crawler_options_adapter(params)

legacy_scrape_options_adapter(params)

load()

将数据加载到Document对象中。

load_and_split([text_splitter])

加载文档并将其分割成块。

__init__(url: str, *, api_key: str | None = None, api_url: str | None = None, mode: Literal['crawl', 'scrape', 'map'] = 'crawl', params: dict | None = None)[source]#

使用API密钥和URL进行初始化。

Parameters:
  • url (str) – 要爬取的URL。

  • api_key (str | None) – Firecrawl API 密钥。如果未指定,将从环境变量 FIRECRAWL_API_KEY 中读取。获取 API 密钥

  • api_url (str | None) – Firecrawl API的URL。如果未指定,将从环境变量FIRECRAWL_API_URL中读取,或默认为https://api.firecrawl.dev

  • mode (Literal['crawl', 'scrape', 'map']) – 运行加载器的模式。默认为“crawl”。 选项包括“scrape”(单个URL), “crawl”(所有可访问的子页面), “map”(返回语义相关的链接列表)。

  • params (dict | None) – 传递给Firecrawl API的参数。 示例包括crawlerOptions。 更多详情,请访问:mendableai/firecrawl-py

async alazy_load() AsyncIterator[Document]#

文档的懒加载器。

Return type:

AsyncIterator[Document]

async aload() list[Document]#

将数据加载到Document对象中。

Return type:

列表[Document]

lazy_load() Iterator[Document][source]#

文档的懒加载器。

Return type:

迭代器[文档]

legacy_crawler_options_adapter(params: dict) dict[source]#
Parameters:

params (dict)

Return type:

字典

legacy_scrape_options_adapter(params: dict) dict[source]#
Parameters:

params (dict)

Return type:

字典

load() list[Document]#

将数据加载到Document对象中。

Return type:

列表[Document]

load_and_split(text_splitter: TextSplitter | None = None) list[Document]#

加载文档并将其分割成块。块以文档形式返回。

不要重写此方法。它应该被视为已弃用!

Parameters:

text_splitter (可选[TextSplitter]) – 用于分割文档的TextSplitter实例。 默认为RecursiveCharacterTextSplitter。

Returns:

文档列表。

Return type:

列表[Document]

使用 FireCrawlLoader 的示例