返回市场
MCP抓取器

MCP抓取器

作者:tolik-unicornrider7 星标更新:2025-03-10

项目介绍

网页抓取器

一个命令行工具及MCP服务器,用于抓取网站并将HTML转换为Markdown。

功能

  • 使用Mozilla的Readability库从网页中提取有意义的内容(与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

代码结构

  • 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 example() {
  // 网页抓取
  const markdown = await scrapeToMarkdown('https://example.com');
  console.log(markdown);
  
  // 直接HTML转换
  const html = '<h1>Hello World</h1><p>This is <strong>bold</strong> text.</p>';
  const md = htmlToMarkdown(html);
  console.log(md);
}

许可证

ISC