关于 web-scraper
通过 Python 脚本抓取网页,并将 HTML 转换为精简 Markdown,适合需要提取网页正文的工作流。支持调整超时和输出长度,也可选择输出原始 HTML。
主要功能
- 01抓取网页并转换为 Markdown
- 02设置请求超时
- 03限制输出长度
- 04可选输出原始 HTML
- 05支持并行抓取多个网址
适用场景
- 01提取文章内容供后续处理
- 02批量收集多个网页
- 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
工作流
- 单个 URL:使用该 URL 运行
fetch_url.py - 多个 URL:使用后台进程并行运行多个抓取命令
- 处理错误:如果 URL 抓取失败,请检查:
- 网络连接
- URL 是否有效
- 网站可能会阻止自动化请求(尝试更换 User-Agent 或使用浏览器自动化)
输出格式
脚本会将 HTML 转换为简洁的 Markdown:
- 标题 →
#、##、###等 - 列表 → 无序列表使用
-,有序列表使用1. - 粗体/斜体 →
**bold**、*italic* - 保留代码块
- 移除导航、页脚和广告
故障排查
403 Forbidden:网站阻止了自动化请求。可以尝试:
- 某些网站需要 JavaScript 渲染(此脚本不支持)
- 尝试从其他网络访问
超时错误:使用 --timeout 60 增加超时时间
内容为空:网站可能需要 JavaScript 才能渲染内容
评论
支持 Markdown