Back to skills
extension
Category: Data & AnalyticsNo API key required

网页内容抓取器

从AI无法直接访问的网页中提取干净文本——JS渲染的单页应用、登录墙后的页面、被限速的API。触发词:抓取、爬取、scrape、提取内容、获取网页文字 + URL。输入:URL + 可选CSS选择器。输出:干净文本内容。自动检测SPA并用无头浏览器渲染。 TRIGGER: 抓取、爬取、scrape、提取内容、获取网页文字 INPUT: 文件路径或文本内容 OUTPUT: 处理后的文件或分析报告

personAuthor: user_d544ba0ehubcommunity

网页内容抓取器

从 AI 无法直接访问的网页中提取干净文本。解决三大痛点:JS 渲染页面、登录墙、速率限制。

触发方式

关键词触发

  • "抓取" / "爬取" / "scrape" / "提取内容" / "获取网页文字" / "把这篇网页内容提出来" + URL
  • "这个页面我打不开/打不开完整内容,帮我抓一下"

不触发的情况

  • 纯文本/JSON API(curl 即可,不需要本 Skill)
  • 需要登录但未提供 cookie 的页面(会提示)
  • 本地文件路径

能力边界

✅ 可以抓取

  • JS 渲染的 SPA(React/Vue/Angular)——自动检测并用无头浏览器渲染
  • 登录墙后的页面——传入 cookie 文件即可
  • 被限速的 API——内置重试+退避
  • 分页内容——--paginate 自动跟随"下一页"链接
  • 微信公众平台文章——自动切换 QQ 浏览器 UA 绕过验证

❌ 不能抓取

  • 需要验证码/人机验证的页面
  • 需要多步交互(点击、滚动加载)的页面
  • 法律法规禁止抓取的内容
  • 需要登录但未提供有效 cookie 的页面

错误处理

Cookie 缺失

⚠️ 该页面需要登录才能访问。请提供 cookie 文件路径:
  bash scripts/scrape.sh <URL> --cookie-file ~/cookies.txt

获取 cookie:浏览器 F12 → Application → Cookies → 导出。

页面加载超时

⚠️ 页面加载超时(30秒)。可能原因:网站屏蔽、网络问题。
建议:检查网络连接,或尝试使用代理。

JS 渲染失败

⚠️ 无头浏览器不可用(需安装 puppeteer)。已回退到纯文本抓取,JS 渲染内容可能缺失。
安装:npm install puppeteer

使用脚本

bash scripts/scrape.sh <URL> [选项]

选项:
  --selector "css选择器"   只提取匹配元素的内容(如 "article.main")
  --paginate              自动抓取所有分页
  --cookie-file 路径      传入浏览器 cookie 文件以访问登录墙后的内容

示例:

bash scripts/scrape.sh "https://example.com/article"
bash scripts/scrape.sh "https://spa-site.com" --selector ".content"
bash scripts/scrape.sh "https://members-only.com" --cookie-file ~/cookies.txt
bash scripts/scrape.sh "https://blog.com" --paginate

FAQ

Q: 无头浏览器需要什么依赖?

需要 Node.js 和 puppeteer:npm install puppeteer。不需要 Chromium(puppeteer 自带)。

Q: 被网站屏蔽了怎么办?

使用代理:export HTTPS_PROXY=http://127.0.0.1:7890 后再运行。

Q: 抓取的内容乱码怎么办?

脚本自动检测编码。如仍有问题,文件已保存为 UTF-8,可用 iconv 手动转换。

反模式

  • ❌ 不要用本 Skill 大规模爬取网站——尊重 robots.txt
  • ❌ 不要抓取需要验证码的页面——无法通过且可能触发封禁
  • ❌ 不要在短时间内对同一域名发起大量请求——会被限速

文件结构

web-scraper/
├── SKILL.md              ← 核心规则 + 触发 + FAQ
└── scripts/
    └── scrape.sh         ← 网页抓取脚本