website-downloader

使用 Website Downloader MCP 服务器,轻松下载整个网站,为你的AI模型提供数据。

website-downloader
website-downloader能力展示

website-downloader 解决方案概述

Website Downloader 是一款 MCP 服务器,旨在帮助开发者轻松下载整个网站,并将其转换为可在本地使用的格式。它利用 wget 工具递归下载网站内容,包括所有页面资源(CSS、图片等),并自动转换链接,确保本地浏览体验与在线一致。开发者只需提供目标 URL,即可选择性地设置下载深度和输出路径。

该解决方案的核心价值在于简化了网页数据抓取和离线访问流程。通过 Website Downloader,AI 模型可以方便地获取特定网站的完整内容,用于训练、分析或生成任务,无需手动处理复杂的网页结构和依赖关系。它通过标准 MCP 接口与 AI 模型无缝集成,开发者只需在 MCP 配置中添加相应的服务器信息即可使用。该服务器使用 JavaScript 构建,易于安装和配置。

website-downloader 核心能力

完整网站递归下载

Website-downloader的核心功能是能够从指定的URL开始,递归地下载整个网站的内容。它使用wget工具,能够抓取HTML文件、CSS样式表、JavaScript脚本、图片以及其他所有构成网站的资源。默认情况下,下载深度是无限的,这意味着它会尽可能地抓取所有链接,直到没有新的链接可以跟踪为止。这个功能对于需要离线分析网站结构、内容或者进行数据挖掘的AI模型非常有用。例如,一个情感分析模型可以使用这个工具下载大量的论坛帖子,然后进行离线分析,而无需频繁地访问在线网站。技术实现上,通过控制wget的参数,可以限制下载的深度,避免抓取不必要的内容。

链接本地化转换

下载网站后,Website-downloader会自动将网站内部的链接转换为本地链接。这意味着,所有指向同一网站内部其他页面的链接,都会被修改为指向本地下载的文件的相对路径。这个功能确保了下载的网站可以在本地完全离线浏览,而无需连接到互联网。这对于需要处理大量离线数据的AI模型来说至关重要。例如,一个文档摘要模型可以使用这个工具下载一个在线文档库,然后进行离线处理,生成文档摘要,而无需担心网络连接问题。技术实现上,这个功能可能涉及到解析HTML文件,查找所有的<a>标签,然后修改href属性的值。

资源完整性保障

Website-downloader不仅下载HTML文件,还会下载所有页面所需的资源,包括CSS样式表、JavaScript脚本、图片、字体等。它确保下载的网站在本地可以完整地呈现,就像在线浏览一样。这个功能对于需要分析网站视觉效果或者交互行为的AI模型非常重要。例如,一个网页布局分析模型可以使用这个工具下载大量的网页,然后分析它们的布局结构,而无需担心缺少样式或者脚本导致分析结果不准确。技术实现上,wget会自动跟踪HTML文件中的<link><script><img>等标签,下载相应的资源。

技术实现

Website-downloader MCP服务器基于Node.js构建,利用child_process模块调用系统命令wget来执行下载任务。服务器通过接收包含目标URL、输出路径和下载深度等参数的JSON请求,动态构建wget命令,并执行该命令。下载完成后,服务器返回下载结果。这种实现方式的优点是简单高效,能够充分利用现有的wget工具的功能。同时,通过Node.js提供的API,可以方便地对下载过程进行监控和管理。