我们要训练大模型离不开为其提供语料,在实际的工作中,对于自然语言类知识,最好的方式是提供Markdown格式的内容。
现在的互联网上有大量的内容可以供我们拿来使用,但是还需要将其格式转换为Markdown格式。Firecrawl 是一个方便的工具,可以快速的根据提供的网页地址甚至是一个网站链接将内容抓取出来,并且可以输出为Markdown、HTML、Json等多种格式。
Firecrawl是开源的,我们可以本地化部署这个服务来使用。不过它也提供了在线的SaaS服务。下面这个例子展示了如何通过调用它的SaaS服务来抓取知乎上的一篇文章。

首先,我们需要注册一个Firecrawl的账号。 进入下面这个网址:

1
https://www.firecrawl.dev/

注册一个账号,就可以使用了。Firecrawl提供500个积分的免费额度。这500个积分可以用于抓取500个页面,对于我们的例子讲解足够了,它也提供了收费服务,可以通过这里查看价格 Firecrawl - The Web Data API for AI

注册账号之后,Firecrawl会提供给我们一个API Key,我们在执行代码时需要用到它。

我们用Python来写这个例子(Firecrawl也提供了NodeJs的SDK,以及Http API)。

首先安装Python依赖:

1
pip install firecrawl-py

下面是例子代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from firecrawl import Firecrawl 

api_key="写入你的Firecrawl API Key"
firecrawl=Firecrawl(api_key=api_key)


# 抓取一个网页
scrap_result=firecrawl.scrape("https://zhuanlan.zhihu.com/p/1954937234307388150"
,formats=["markdown"])
# 获取页面的标题
title=scrap_result.metadata.title
# 用标题来命名markdown文件并写入本地磁盘
with open(f"{title}.md", 'w', encoding='utf-8') as f:
f.write(scrap_result.markdown)

运行上面代码后,会在当前目录生成一个.md的Markdown文件,包含了从提供的网址抓取到的网页内容并转换成了markdown格式。