mcpField
W
web-scraper

web-scraper

github.com/spacezephyr数据与数据库340281 次安装31 周前更新
代码仓库

关于 web-scraper

通过 Python 脚本抓取网页,并将 HTML 转换为精简 Markdown,适合需要提取网页正文的工作流。支持调整超时和输出长度,也可选择输出原始 HTML。

主要功能

  1. 01抓取网页并转换为 Markdown
  2. 02设置请求超时
  3. 03限制输出长度
  4. 04可选输出原始 HTML
  5. 05支持并行抓取多个网址

适用场景

  1. 01提取文章内容供后续处理
  2. 02批量收集多个网页
  3. 03排查超时或空内容问题

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/spacezephyr/myskill --skill web-scraper

安装后在 Claude Code 中输入/web-scraper确认已加载。

附带文件scripts/fetch_url.py

详细介绍

网页抓取工具

抓取网页内容并转换为简洁的 Markdown 格式。

用法

运行抓取脚本获取网页内容:

python3 scripts/fetch_url.py <url> [options]
选项
  • --timeout <seconds>:请求超时时间(默认值:30)
  • --max-length <chars>:最大输出长度(默认值:100000)
  • --raw:输出原始 HTML,而不是 Markdown
示例

抓取单个 URL:

python3 scripts/fetch_url.py "https://example.com/article"

使用自定义超时时间抓取:

python3 scripts/fetch_url.py "https://example.com/article" --timeout 60

并行抓取多个 URL:

for url in "https://url1.com" "https://url2.com"; do
  python3 scripts/fetch_url.py "$url" &
done
wait

工作流

  1. 单个 URL:使用该 URL 运行 fetch_url.py
  2. 多个 URL:使用后台进程并行运行多个抓取命令
  3. 处理错误:如果 URL 抓取失败,请检查:
    • 网络连接
    • URL 是否有效
    • 网站可能会阻止自动化请求(尝试更换 User-Agent 或使用浏览器自动化)

输出格式

脚本会将 HTML 转换为简洁的 Markdown:

  • 标题 → #、##、### 等
  • 列表 → 无序列表使用 -,有序列表使用 1.
  • 粗体/斜体 → **bold**、*italic*
  • 保留代码块
  • 移除导航、页脚和广告

故障排查

403 Forbidden:网站阻止了自动化请求。可以尝试:

  • 某些网站需要 JavaScript 渲染(此脚本不支持)
  • 尝试从其他网络访问

超时错误:使用 --timeout 60 增加超时时间

内容为空:网站可能需要 JavaScript 才能渲染内容

评论

支持 Markdown