跳到正文

CrawlForge Team工程团队

阅读时长 10 分钟

从命令行进行 web scraping:CrawlForge CLI 指南

大多数 AI 工具都热衷于做 agent。CrawlForge CLI 则恰恰相反:可脚本化、终端优先、行为可预测。你只需安装它、设置一个环境变量,CrawlForge 31 个工具中的 17 个会变成 shell 命令。JSON 输入,JSON 输出。管道传给 jq、用 cron 定时、在 CI 中运行 —— 它在任何地方的工作方式都一样。

目录

什么是 CrawlForge CLI?

CrawlForge CLI 随 crawlforge-mcp-server 包一起发布,对应 crawlforge 命令,将 CrawlForge 31 个工具中的 17 个暴露为终端命令。一次全局安装即可同时获得 MCP server 和 CLI。它不需要长期运行的进程,也不需要 MCP 客户端:你输入 crawlforge scrape <url>,它便向 CrawlForge 的 API 发起一次 HTTPS 调用,并将 JSON 打印到 stdout。整个流程就是这样。

它之所以存在,是因为人们所做的抓取工作中有一半并不是 agent 形态的。cron 定时任务、CI 步骤、一次性研究、从 shell 临时拉取数据 —— 这些都需要朴素的命令,而不是一次 JSON-RPC 握手。

30 秒完成安装

Bash
npm install -g crawlforge-mcp-server
export CRAWLFORGE_API_KEY="cf_live_your_key_here"
crawlforge --help

就这么简单。没有配置文件,没有认证流程,没有需要启动的服务。如果你还没有 API key,可前往 crawlforge.dev/signup 获取 —— 注册即享 1,000 个免费 credits。

要在 macOS 或 Linux 上让环境变量永久生效:

Bash
echo 'export CRAWLFORGE_API_KEY="cf_live_..."' >> ~/.zshrc
source ~/.zshrc

在 Windows 上(PowerShell):

Powershell
[Environment]::SetEnvironmentVariable("CRAWLFORGE_API_KEY", "cf_live_...", "User")

16 个命令速览

每个命令都映射到一个或多个 CrawlForge 工具:

命令主要工具Credits示例
scrapefetch_url、extract_content1-2crawlforge scrape https://example.com
searchsearch_web5crawlforge search "MCP servers 2026"
crawlcrawl_deep4crawlforge crawl https://docs.example.com --depth 3
mapmap_site2crawlforge map https://example.com
extractextract_with_llm3crawlforge extract <url> --schema schema.json
tracktrack_changes3crawlforge track <url> --threshold 10
analyzeanalyze_content3crawlforge analyze <url>
researchdeep_research10crawlforge research "AI agents in 2026"
stealthstealth_mode5crawlforge stealth <url>
batchbatch_scrape5crawlforge batch urls.txt
actionsscrape_with_actions5crawlforge actions <url> --script steps.json
browserbrowser_session5+crawlforge browser <url> --steps steps.json
localizelocalization2crawlforge localize <url> --country DE
llmstxtgenerate_llms_txt5crawlforge llmstxt https://example.com
templatescrape_template1crawlforge template amazon-product <url>
monitortrack_changes3crawlforge monitor <url> --interval 3600

你的第一次抓取

最简单的一次调用:

Bash
crawlforge scrape https://news.ycombinator.com

返回的是该页面的主要内容,以 JSON 形式呈现:

Json
{
  "url": "https://news.ycombinator.com",
  "title": "Hacker News",
  "content": "Hacker News new | past | comments | ask...",
  "links": ["https://news.ycombinator.com/from?site=...", "..."],
  "fetched_at": "2026-05-21T10:14:33Z",
  "credits_used": 1
}

只想要 URL?管道传给 jq:

Bash
crawlforge scrape https://news.ycombinator.com --json | jq '.links[]'

想把它存到文件里?重定向 stdout:

Bash
crawlforge scrape https://news.ycombinator.com --pretty > hn.json

将 JSON 输出管道传给 jq

正是这个工作流让 CLI 值得安装。一切都输出 JSON,而 JSON 可以管道传给任何工具。

获取 HN 首页的报道标题:

Bash
crawlforge template hacker-news-front-page https://news.ycombinator.com --json \
  | jq -r '.stories[] | .title'

搜索网页并提取 URL:

Bash
crawlforge search "best web scraping libraries 2026" --json \
  | jq '.results[] | .url'

抓取一个页面并统计词数:

Bash
crawlforge scrape https://example.com --json \
  | jq -r '.content' \
  | wc -w

批量抓取,再筛选出错误响应:

Bash
crawlforge batch urls.txt --json \
  | jq '.results[] | select(.status_code >= 400)'

模式很清晰:--json 给你机器可读的输出,再用 jq 进行切分处理。

用 cron 定时调度

每天检查一次竞品的定价页面:

Bash
# crontab -e
0 9 * * * /usr/local/bin/crawlforge track https://competitor.com/pricing --json > /var/log/pricing.json

每晚运行一次研究任务:

Bash
0 2 * * * /usr/local/bin/crawlforge research "AI tooling news" --depth standard --pretty > /var/log/research.json

每周为你自己的站点重新生成一次 llms.txt:

Bash
0 3 * * 0 /usr/local/bin/crawlforge llmstxt https://yoursite.com --include-full > /var/www/yoursite.com/llms.txt

在 CI 中?在你的 GitHub Actions YAML 里使用相同的命令即可。CLI 会优先检查 CRAWLFORGE_API_KEY,所以只需把它设为仓库密钥。

Yaml
# .github/workflows/daily-research.yml
- name: Run weekly research
  env:
    CRAWLFORGE_API_KEY: ${{ secrets.CRAWLFORGE_API_KEY }}
  run: |
    npm install -g crawlforge-mcp-server
    crawlforge research "industry news" --depth standard --pretty > report.json

CLI vs MCP vs 原始 API:何时使用哪一种

工作流使用 CLI使用 MCP使用原始 API
从终端进行一次性抓取是否否
cron 定时任务或 CI 步骤是否仅在必要时
Claude / Cursor / Windsurf agent否是否
嵌入 Node/Python 服务中否仅当 MCP 形态时是
长期运行的后台 worker否否是
快速探索一个陌生站点是也许否

经验法则:如果是人在输入命令,用 CLI;如果是 LLM 在选择工具,用 MCP;如果是服务器在循环中调用,用原始 API。

三个真实世界的工作流

1. 竞品价格监控器

一个每天运行的 shell 脚本,抓取三个竞品的定价页面,与昨天的快照做对比,如有变化就推送到 Slack。

Bash
#!/bin/bash
for url in $(cat competitors.txt); do
  crawlforge track "$url" --json \
    > "snapshots/$(date +%F)-$(basename $url).json"
done

# Diff against yesterday's snapshot
diff "snapshots/$(date -v-1d +%F)-pricing.json" \
     "snapshots/$(date +%F)-pricing.json" \
  || curl -X POST $SLACK_WEBHOOK -d '{"text": "Pricing changed"}'

成本:每天约 9 credits(3 个竞品 × track 的 3 credits)。

2. 从 CSV 进行线索丰富

读取一份包含公司域名的 CSV,抓取每个主页的联系信息,再把丰富后的数据写回。

Bash
while IFS=, read -r company domain; do
  data=$(crawlforge scrape "https://$domain" --json)
  email=$(echo "$data" | jq -r '.metadata.contact_email // empty')
  echo "$company,$domain,$email" >> enriched.csv
done < companies.csv

成本:每家公司 1 credit。

3. 研究报告流水线

每周日运行一次 cron,执行一次 research 查询,并将综合后的摘要邮件发送给团队。

Bash
crawlforge research "AI agent frameworks news this week" --depth deep --pretty > report.json
jq -r '.summary' report.json \
  | mail -s "Weekly AI report" team@example.com

成本:每次运行 10 credits(research 已包含综合摘要)。

全局参数参考

这些参数适用于每个命令:

  • --json —— 紧凑、机器可读的 JSON(适合管道)
  • --pretty —— 美化打印的 JSON
  • --quiet —— 抑制所有 stdout 输出(仅返回退出码)
  • --api-key <key> —— 覆盖 CRAWLFORGE_API_KEY 环境变量
  • --timeout <ms> —— 覆盖默认的 30 秒超时

要将结果写入文件,重定向 stdout:crawlforge scrape <url> --pretty > out.json。

它的成本

CLI 本身是免费的。你只需为底层的工具调用付费,从你现有的 credit 余额中扣除。没有额外订阅,也没有按次调用的费用。一个每天对三个 URL 运行 track、每周运行一次 research 的 cron 任务,每月大约花费 100 credits —— 即便只用一次性发放 1,000 credits 的免费套餐,也够用好几个月。

完整的命令列表、全局参数和登录方式请参阅文档中的 CrawlForge CLI。


准备好安装了吗? 在 crawlforge.dev/signup 获取你的免费 API key,并运行 npm install -g crawlforge-mcp-server。初次接触?阅读 v4.2.2 发布公告了解全部新内容,或阅读原始的 MCP 快速上手了解 MCP 版本。

亲自试一试——无需注册

在 Playground 中探索全部 31 个 CrawlForge 抓取与提取工具,然后免费开始,获取 1,000 credits。

1,000 免费 credits • 一次性 • 无需信用卡

标签

  • CLI
  • web-scraping
  • tutorial
  • terminal
  • automation
  • scripting

关于作者

CrawlForge Team

工程团队

我们正在打造功能最全面的 Web 抓取 MCP server。我们开发的工具帮助开发者为 AI 应用提取、分析和转换 Web 数据。

邮件订阅

及时获取最新洞察

将教程、产品更新与 Web 抓取技巧直接发送到你的收件箱。

拒绝垃圾邮件,随时可取消订阅。

FAQ

常见问题

01CrawlForge CLI 是免费的吗?

CLI 包本身是免费且开放的。你只需为底层的工具调用付费,从你正常的 CrawlForge credit 余额中扣除,与从 MCP 或原始 API 调用时完全一样。没有额外的按次调用费用。

02使用 CLI 需要 CrawlForge API key 吗?

需要。CLI 在每次调用时都会读取 CRAWLFORGE_API_KEY 环境变量。在 crawlforge.dev/signup 获取一个免费 key(无需信用卡),并在你的 shell 配置文件中设置一次即可。

03我可以在 CI/CD 流水线中使用 CrawlForge CLI 吗?

可以 —— 这正是它的主要使用场景之一。在你的 CI runner 中通过 "npm install -g crawlforge-mcp-server" 安装,将 CRAWLFORGE_API_KEY 设为仓库密钥,然后运行任意命令即可。它在 GitHub Actions、GitLab CI、CircleCI 和 Jenkins 中的工作方式都一样。

04CrawlForge CLI 与 curl 有什么不同?

curl 返回的是原始 HTML。CrawlForge CLI 返回结构化的 JSON:清洗后的内容、提取的元数据、链接、标题,以及搜索结果、研究摘要或模板抓取的产品数据等特定于工具的字段。它还能处理反爬虫防护、隐身模式和浏览器自动化 —— 这些都是 curl 无法做到的。

05CLI 支持全部 CrawlForge 工具吗?

并非全部。这 16 个命令覆盖了 31 个工具中的 17 个 —— 也就是适合一次性终端调用的那些。部分命令通过参数暴露多个工具:"crawlforge extract" 加 --prompt 映射到 extract_with_llm,加 --schema 映射到 extract_structured;"crawlforge scrape" 默认映射到 fetch_url,加 --extract 映射到 extract_content。其余工具可通过 MCP 或 REST API 使用。

06CrawlForge CLI 能输出可供解析的结构化数据吗?

可以 —— 在任意命令上加上 --json,输出便是干净的 JSON,适合管道传给 jq 或任何能识别 JSON 的工具。使用 --pretty 进行人类可读的格式化,或将 stdout 重定向到文件(crawlforge scrape <url> --pretty > out.json)。

继续阅读

相关文章

教程

8 分钟

如何在 Make 和 Zapier 中使用 CrawlForge

把 CrawlForge 接入 Make(Integromat)和 Zapier,实现自动化网页抓取。借助 HTTP 模块、webhook 和工作流示例完成无代码配置。

教程

10 分钟

如何用 Claude Code 抓取网站(2026 指南)

用 Claude Code 和 CrawlForge MCP 从你的终端抓取任何网站。抓取页面、提取数据并绕过反爬虫,全程不到 2 分钟。本指南涵盖从零开始的安装配置、常用工具选择与多个可直接复用的实战抓取示例。

教程

11 分钟

如何用 MCP server 做关键词差距分析

用 serp_rank 和 search_web 通过 MCP 搭建一套可复现的关键词差距分析:真实自然排名、竞争对手页面类型分类,以及那些让大多数关键词研究出错的陷阱。