核心用法
link-checker 是一款轻量级网站链接健康检测工具,基于 Python3 urllib 实现,无需安装额外依赖。核心功能包括:
- 单页检测:
check <url>快速扫描页面所有外链状态 - 递归爬取:
crawl <url>支持自定义深度(--depth),自动遍历站内链接 - 定向筛选:
broken、redirects、external、internal等子命令精准定位问题类型 - 批量处理:
batch <file>支持多 URL 列表检测 - 报告导出:支持 text/json/csv/html 四种格式,可生成可视化 HTML 报告
显著优点
1. 零依赖部署:纯 Python3 urllib 实现,无 requests/aiohttp 等第三方库依赖,兼容性强
2. 并发控制:默认 5 并发请求,支持自定义(--concurrent),兼顾效率与服务器友好
3. 细粒度过滤:支持正则排除(--exclude)、内外链分离、User-Agent 自定义
4. 状态分类清晰:将结果划分为 OK/Redirect/Broken/Error/Timeout/Failed 六类,便于优先级处理
5. SEO 友好:专门识别 301/302 重定向链,辅助优化链接结构
潜在局限
- 无 JavaScript 渲染:urllib 无法执行 JS,SPA 应用或动态加载内容可能漏检
- 无认证支持:未提及 Cookie/Session/基本认证,需要登录的页面无法检测
- 反爬限制:固定并发 + 单一 User-Agent 可能被 CDN/WAF 限流,无自动重试/退避机制
- 协议局限:urllib 对 HTTP/2、WebSocket 等现代协议支持有限
适合人群
- 网站运维/SEO 专员:定期巡检站点外链健康度
- 开发者:上线前 CI/CD 集成质量 gate
- 内容编辑:批量检查文档、博客中的引用链接有效性
- 小型站点管理员:资源受限环境下的轻量级方案
常规风险
- 目标站点压力:高频并发请求可能触发目标站防护机制,建议配合
--timeout与合理并发值 - 敏感信息暴露:
--verbose可能输出含 token 的 URL,需注意日志脱敏 - 法律合规:大规模爬取需遵守 robots.txt 及当地网络法规