核心功能
link-checker 是一款基于 Python3 urllib 的轻量级死链检测工具,专为网站运维与 SEO 质量保障设计。无需安装外部依赖,单脚本即可运行。
主要能力
- 单页检测:
check <url>快速扫描单页面所有链接状态 - 递归爬取:
crawl <url>支持深度可控的整站扫描(--depth) - 精准筛选:区分内外链(
internal/external)、仅看死链(broken)或重定向(redirects) - 多格式输出:纯文本、JSON、CSV、HTML 报告,支持导出文件(
--output) - 批量处理:
batch <file>支持多 URL 列表检测 - 并发优化:默认 5 线程并发,可自定义(
--concurrent)
状态分类体系
| 类别 | 状态码 | 含义 |
|:---|:---|:---|
| ✅ OK | 200, 204 | 正常 |
| 🔄 Redirect | 301-308 | 重定向 |
| ❌ Broken | 404, 410 | 死链 |
| ⚠️ Error | 403, 500-503 | 服务器错误 |
| ⏱️ Timeout / 🚫 Failed | — | 超时或连接失败 |
显著优点
1. 零依赖部署:纯 urllib 实现,无 requests/bs4 等第三方库
2. 细粒度控制:User-Agent 自定义、超时设置、URL 排除正则、爬取深度
3. SEO 友好:专门针对 301/302 重定向检测,辅助优化链接结构
4. 报告专业:HTML 报告可直接用于团队汇报或客户交付
潜在局限
- 爬取能力有限:无 JavaScript 渲染支持,无法检测 SPA 动态生成的链接
- 反爬风险:高频并发请求可能触发目标站 WAF,建议配合
--timeout与合理并发数使用 - 无认证支持:未提及 HTTP Basic/Digest 认证或 Cookie 携带能力
- 正则排除简单:
--exclude基于模式匹配,复杂过滤需外部预处理
适用人群
- 网站运维工程师(日常巡检)
- SEO 专员(外链健康度监控)
- 质量保证团队(上线前验收)
- 个人博主(静态站点维护)
常规风险提示
1. 请求频率:默认 5 并发可能对小站点造成压力,建议生产环境调低
2. 法律责任:扫描非自有站点需获授权,避免违反 CFAA 或当地网络安全法规
3. 敏感路径:递归模式可能意外触及 /admin、/.env 等敏感 URL,建议配合 --exclude
4. 日志留存:生成报告含完整 URL 列表,注意脱敏处理后再分享