article
README
🚀 网站抓取工具
这是一个命令行工具和MCP服务器,可用于抓取网站,并将HTML转换为Markdown,帮助用户更便捷地获取网页内容。
🚀 快速开始
本工具可作为命令行工具和MCP服务器使用,能帮助你轻松抓取网站并转换网页内容。
✨ 主要特性
- 使用Mozilla的可读性库(与Firefox阅读视图使用相同引擎)提取网页中的有意义内容。
- 利用TurndownService将干净的HTML转换为高质量的Markdown。
- 安全处理HTML,移除可能具有危害性的脚本标签。
- 可作为命令行工具和MCP服务器运行。
- 支持直接将本地HTML文件转换为Markdown。
📦 安装指南
# 安装依赖项
npm install
# 构建项目
npm run build
# 可选:全局安装
npm install -g .
💻 使用示例
基础用法
命令行模式
# 在控制台输出结果
scrape https://example.com
# 将结果保存到文件中
scrape https://example.com output.md
# 直接转换本地HTML文件为Markdown
scrape --html-file input.html
# 转换本地HTML文件并保存结果
scrape --html-file input.html output.md
# 显示帮助信息
scrape --help
# 或通过npm脚本运行
npm run start:cli -- https://example.com
MCP服务器模式
此工具可以作为模型上下文协议(MCP)服务器使用:
# 以MCP服务器模式启动
npm start
高级用法
// 抓取网站并转为Markdown
import { scrapeToMarkdown } from './build/index.js';
// 直接将HTML字符串转为Markdown
import { htmlToMarkdown } from './build/data_processing.js';
async function 示例() {
// 网站抓取
const markdown = await scrapeToMarkdown('https://example.com');
console.log(markdown);
// 直接转换HTML
const html = '<h1>你好,世界!</h1><p>这是<strong>粗体</strong>文本。</p>';
const md = htmlToMarkdown(html);
console.log(md);
}
📚 详细文档
代码结构
src/index.ts- 核心功能和MCP服务器实现。src/cli.ts- 命令行界面实现。src/data_processing.ts- HTML到Markdown转换功能。
API
该工具导出以下函数:
// 抓取网站并转为Markdown
import { scrapeToMarkdown } from './build/index.js';
// 直接将HTML字符串转为Markdown
import { htmlToMarkdown } from './build/data_processing.js';
async function 示例() {
// 网站抓取
const markdown = await scrapeToMarkdown('https://example.com');
console.log(markdown);
// 直接转换HTML
const html = '<h1>你好,世界!</h1><p>这是<strong>粗体</strong>文本。</p>';
const md = htmlToMarkdown(html);
console.log(md);
}
📄 许可证
ISC
Scan to join WeChat group