名称:网络爬虫 描述:抓取和提取网页内容,将 HTML 转换为干净的 Markdown 格式。当用户想要阅读网页文章、从 URL 提取信息、抓取网页内容时使用,或当内置的 WebFetch 工具因网络限制失败时使用。当用户提供 URL 进行读取、要求抓取网页内容或需要从网站提取文本时触发。
网络爬虫
抓取网页内容并转换为干净的 Markdown 格式。
使用方法
运行 fetch 脚本来获取网页内容:
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:使用后台进程并行运行多个 fetch 命令
- 处理错误:如果 URL 失败,检查:
- 网络连接
- URL 有效性
- 网站可能阻止自动请求(尝试不同的 User-Agent 或使用浏览器自动化)
输出格式
脚本将 HTML 转换为干净的 Markdown:
- 标题 →
#,##,###, 等。 - 列表 →
-用于无序列表,1.用于有序列表 - 粗体/斜体 →
**粗体**,*斜体* - 代码块保留
- 导航、页脚和广告移除
故障排除
403 禁止:网站阻止自动请求。考虑:
- 某些网站需要 JavaScript 渲染(本脚本不支持)
- 尝试从不同的网络访问
超时错误:使用 --timeout 60 增加超时
空内容:网站可能需要 JavaScript 来渲染内容