核心用法
web-fetch 是一款基于 Playwright + Stealth 插件的无头浏览器网页抓取工具,专为需要获取网页正文内容的场景设计。用户通过命令行调用 node fetch.js <url> 即可启动抓取流程,工具会自动模拟真实浏览器环境(包括视口配置、指纹伪装等),绕过基础反爬虫检测,并将复杂 HTML 转换为易读的 Markdown 格式输出到控制台。
显著优点
1. 反检测能力:集成 puppeteer-extra-plugin-stealth 插件,自动处理 WebDriver 属性、插件列表、Canvas 指纹等自动化特征,对大多数基础反爬机制有效
2. 格式友好:采用 turndown 进行 HTML→Markdown 转换,保留内容结构的同时去除冗余样式,便于后续 LLM 处理或人工阅读
3. 使用门槛低:单命令行调用,无需配置代理或请求头,适合快速抓取单篇长文
4. 本地执行:数据不落第三方服务器,抓取过程完全本地完成
潜在局限
- 高级反爬受限:对需要验证码、登录态、动态令牌(如 Akamai、PerimeterX)的站点可能失效
- 无批量/调度能力:单次单 URL 执行,无内置队列、重试、限速机制
- 无内容提取策略:依赖
turndown全页转换,可能包含导航栏、页脚等噪声内容,无智能正文提取(如 Readability 算法) - Node 环境依赖:需本地安装 Chromium 及 npm 依赖,环境配置较重
适合人群
- 研究人员、分析师需要快速获取公开新闻、财报、公告正文
- 开发者构建本地内容采集 pipeline 的原型验证
- 需绕过简单反爬但不想维护代理池的个人用户
常规风险
- 法律合规:抓取需遵守目标网站 Robots.txt 及服务条款,高频调用可能触发 IP 封禁或法律追责
- 内容可靠性:抓取内容未经来源校验,存在页面篡改、过时信息风险
- 安全风险:
stealth插件修改浏览器指纹以掩盖自动化特征,可能被视为"恶意爬虫"技术手段;执行来源不明的 URL 可能存在 XSS 或恶意跳转风险 - 稳定性风险:目标站点前端改版可能导致选择器失效或转换质量下降