Observability
系统化梳理日志、指标与追踪的协同机制及成本控制策略。
基于 Rust 的网站爬虫,支持审计、离线克隆及 Markdown 导出。
openclaw skills install @tsingliuwin/siteone-crawler命令、参数、文件名以原文为准
跨平台网站爬取与分析工具,使用 Rust 编写。
首次使用前,请确保二进制文件已存在。若未找到,将自动安装:
- $HOME/.siteone-crawler/siteone-crawler
- $PATH 中的任意 siteone-crawler(通过 which siteone-crawler 查找)
INSTALL_DIR="$HOME/.siteone-crawler"
mkdir -p "$INSTALL_DIR"
# 检测操作系统和架构
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
ARCH=$(uname -m)
case "$ARCH" in
x86_64) ARCH="x64" ;;
aarch64|arm64) ARCH="arm64" ;;
esac
# 通过 GitHub API 获取最新发布版本的下载链接
RELEASE_URL=$(curl -sL https://api.github.com/repos/janreges/siteone-crawler/releases/latest \
| grep -oP "browser_download_url.*?${OS}-${ARCH}\.zip" | head -1 | sed 's/browser_download_url": "//')
curl -sL "$RELEASE_URL" -o /tmp/siteone-crawler.zip \
&& unzip -o /tmp/siteone-crawler.zip -d /tmp/siteone-crawler \
&& mv /tmp/siteone-crawler/siteone-crawler "$INSTALL_DIR/" \
&& chmod +x "$INSTALL_DIR/siteone-crawler" \
&& rm -rf /tmp/siteone-crawler /tmp/siteone-crawler.zipCRAWLER 为解析后的路径,并通过 $CRAWLER --version 验证。CRAWLER="$HOME/.siteone-crawler/siteone-crawler"如果上述路径不存在,运行设置后可回退至 $(which siteone-crawler)。
始终使用解析后的路径。该二进制文件会向终端输出彩色文本;在脚本或流水线中使用时,请使用 --no-color,程序化消费时请使用 --output json。
$CRAWLER --url="https://example.com" --output-html-report="/path/to/report.html"生成一个自包含的交互式 HTML 审计报告,包含性能、SEO、安全、可访问性、最佳实践等维度的质量评分(0.0–10.0)。
$CRAWLER --url="https://example.com" \
--output-html-report="/path/to/report.html" \
--output-json-file="/path/to/result.json" \
--upload --upload-retention="7d"$CRAWLER --url="https://example.com" --offline-export-dir="/path/to/offline-site" --disable-javascript对 SPA/React 类型站点,使用 --disable-javascript 可获取可浏览的静态副本。如需包含 CDN 资源,请配合使用 --allowed-domain-for-external-files="*"。
多文件导出(可浏览):
$CRAWLER --url="https://example.com" --markdown-export-dir="/path/to/md-export"单文件导出(适合 AI 工具处理):
$CRAWLER --url="https://example.com" --markdown-export-dir="/tmp/md" --markdown-export-single-file="/path/to/site.md" \
--markdown-disable-images --markdown-disable-files$CRAWLER --url="https://example.com" --sitemap-xml-file="/path/to/sitemap" --sitemap-txt-file="/path/to/sitemap"$CRAWLER --url="https://example.com" --ci --ci-min-score="7.0" --ci-max-404="0" --ci-max-5xx="0"若未满足阈值,退出码为 10。所有 --ci-* 参数详见 references/cli-params.md。
$CRAWLER --url="https://example.com" --workers="20" --max-reqs-per-sec="100" --max-depth="1"警告:高并发数可能导致拒绝服务。请谨慎使用。
$CRAWLER --url="https://example.com/about" --single-page --output-json-file="/path/to/result.json"$CRAWLER --html-to-markdown="/path/to/page.html" --html-to-markdown-output="/path/to/page.md"$CRAWLER --serve-markdown="/path/to/md-export" --serve-port="8321"
$CRAWLER --serve-offline="/path/to/offline-site" --serve-port="8321"详见 references/cli-params.md,按类别组织的完整参数说明。
| 标志 | 用途 | 默认值 |
|---|---|---|
--url | 目标 URL(必需) | - |
--output | 输出格式:text 或 json | text |
--workers | 并发线程数 | 3 |
--max-reqs-per-sec | 每秒请求限制 | 10 |
--max-depth | 爬取深度(0 表示无限制) | 0 |
--timeout | 请求超时时间(秒) | 5 |
--no-color | 禁用颜色输出 | 关闭 |
--ignore-robots-txt | 忽略 robots.txt | 关闭 |
| 标志 | 效果 |
|---|---|
--disable-all-assets | 仅爬取页面,不下载任何资源 |
--disable-javascript | 不执行 JavaScript(推荐用于离线/SPA 站点) |
--disable-images | 不下载图片 |
--disable-styles | 不下载 CSS |
--disable-files | 不下载可下载文档 |
| 标志 | 效果 |
|---|---|
--include-regex | 使用 PCRE 正则表达式匹配并包含指定 URL |
--ignore-regex | 使用 PCRE 正则表达式匹配并跳过指定 URL |
--allowed-domain-for-crawling | 允许跨域爬取 |
--allowed-domain-for-external-files | 允许外部资源域名 |
scripts/audit.sh — 快速审计封装脚本执行完整爬取并生成 HTML 报告,支持可选 JSON 输出。具体用法请查看脚本内容。
scripts/export-markdown.sh — Markdown 导出封装脚本将网站导出为 Markdown(单文件或多文件)。具体用法请查看脚本内容。
--disable-javascript--output json 以实现程序化处理;JSON 输出至 STDOUT,进度信息输出至 STDERR--extra-columns="Title,Keywords,Description" 添加 SEO 相关字段--timezone="Asia/Shanghai" 设置本地时间戳--memory-limit、--max-visited-urls 和 --max-queue-length--resolve 可测试本地或开发环境服务器(类似 curl 的 --resolve 功能)已收录 1 个 Skill