网站抓取工具
用于抓取网站并将 HTML 转换为 Markdown 的命令行工具和 MCP 服务器。
特征
- 使用 Mozilla 的Readability库(与 Firefox 的 Reader View 使用的引擎相同)从网页中提取有意义的内容
- 使用 TurndownService 将干净的 HTML 转换为高质量的 Markdown
- 通过删除潜在有害的脚本标签来安全地处理 HTML
- 既可用作命令行工具,又可用作 MCP 服务器
- 支持本地HTML文件直接转换为Markdown
安装
# Install dependencies
npm install
# Build the project
npm run build
# Optionally, install globally
npm install -g .
用法
CLI模式
# Print output to console
scrape https://example.com
# Save output to a file
scrape https://example.com output.md
# Convert a local HTML file to Markdown
scrape --html-file input.html
# Convert a local HTML file and save output to a file
scrape --html-file input.html output.md
# Show help
scrape --help
# Or run via npm script
npm run start:cli -- https://example.com
MCP 服务器模式
该工具可用作模型上下文协议(MCP)服务器:
# Start in MCP server mode
npm start
代码结构
src/index.ts
- 核心功能和 MCP 服务器实现src/cli.ts
- 命令行界面实现src/data_processing.ts
- HTML 到 Markdown 的转换功能
API
该工具导出以下功能:
// Scrape a website and convert to Markdown
import { scrapeToMarkdown } from './build/index.js';
// Convert HTML string to Markdown directly
import { htmlToMarkdown } from './build/data_processing.js';
async function example() {
// Web scraping
const markdown = await scrapeToMarkdown('https://example.com');
console.log(markdown);
// Direct HTML conversion
const html = '<h1>Hello World</h1><p>This is <strong>bold</strong> text.</p>';
const md = htmlToMarkdown(html);
console.log(md);
}
执照
国际学习中心