Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Web Scraper

БесплатноНе проверен

A comprehensive web scraping MCP server with 26 tools for fetching, parsing, extracting, and assisting with web content, returning Markdown-formatted results.

GitHubEmbed

Описание

A comprehensive web scraping MCP server with 26 tools for fetching, parsing, extracting, and assisting with web content, returning Markdown-formatted results.

README

一个基于FastMCP框架的功能全面的网页抓取MCP服务器,提供26个工具,覆盖网页获取、HTML解析、数据提取和辅助工具四大模块。所有工具返回Markdown格式字符串,可直接用于MCP客户端集成。

特性

  • 26个MCP工具 - 覆盖网页抓取全流程,从获取到解析到提取
  • Markdown输出 - 所有工具返回格式化的Markdown字符串,便于阅读和使用
  • 模块化设计 - 按功能拆分为4个独立模块,结构清晰易于维护
  • FastMCP框架 - 基于官方MCP Python SDK的FastMCP,开箱即用
  • 错误处理 - 每个工具内置完善的异常捕获和错误提示
  • 自动重定向 - 网页获取工具自动跟随HTTP重定向
  • 默认浏览器头 - 自带模拟浏览器的请求头,减少被反爬拦截
  • 流式下载 - 文件下载使用流式写入,支持大文件
  • HTML转Markdown - 内置完整的HTML到Markdown转换器
  • 智能内容提取 - 新闻文章和商品信息提取使用多种策略自动识别

安装

前置要求

  • Python 3.10+
  • pip 包管理器

安装步骤

# 克隆项目
git clone https://github.com/yourname/mcp-web-scraper.git
cd mcp-web-scraper

# 安装依赖
pip install -r requirements.txt

依赖列表

依赖 版本要求 用途
mcp >=1.0.0 MCP协议服务器框架
requests - HTTP请求库
beautifulsoup4 - HTML解析库
lxml - XML/HTML解析(XPath支持)
urllib3 - URL处理工具

使用方法

直接运行

python server.py

服务器将以stdio传输模式启动,等待MCP客户端连接。

配置MCP客户端

在MCP客户端配置文件中添加:

{
  "mcpServers": {
    "web-scraper": {
      "command": "python",
      "args": ["/path/to/mcp-web-scraper/server.py"]
    }
  }
}

使用示例

获取网页内容

# 工具: fetch_webpage
# 参数: url="https://example.com", timeout=30
# 返回: Markdown格式的HTML内容和响应信息

解析HTML表格

# 工具: parse_html_tables
# 参数: html="<table><tr><th>名称</th><th>价格</th></tr>..."
# 返回: Markdown表格格式的数据

CSS选择器提取

# 工具: extract_by_css_selector
# 参数: html="...", selector="div.product h2.title"
# 返回: 匹配元素的内容和属性

新闻文章提取

# 工具: extract_news_article
# 参数: html="..."
# 返回: 标题、作者、发布时间、正文等

HTML转Markdown

# 工具: html_to_markdown
# 参数: html="<h1>标题</h1><p>段落</p>..."
# 返回: Markdown格式文本

工具列表

网页获取模块(6个工具)

工具名 说明
fetch_webpage 获取网页HTML内容,返回状态码、编码、响应头和HTML正文
fetch_json_api 获取JSON API数据,支持查询参数,自动解析JSON响应
fetch_with_headers 使用自定义请求头获取网页,支持Cookie和认证头
download_file 下载文件到本地,支持流式下载大文件
check_website_status 检查网站状态码和响应信息,适用于可用性监控
fetch_with_pagination 分页获取数据,自动构建分页URL并依次获取

HTML解析模块(8个工具)

工具名 说明
parse_html_tables 解析HTML中的所有表格,转换为Markdown表格
extract_links 提取所有<a>标签的链接文本、URL、title和rel
extract_images 提取所有<img>标签的src、alt、宽高等信息
extract_text 提取纯文本内容,自动去除脚本和样式
extract_meta_tags 提取所有meta标签,包括charset、viewport、OG等
parse_html_structure 分析HTML的DOM结构,统计标签数量,展示层级树
clean_html 清洗HTML,移除脚本、样式、注释等非内容元素
html_to_markdown 将HTML转换为Markdown格式,支持标题、列表、表格等

数据提取模块(8个工具)

工具名 说明
extract_by_css_selector 使用CSS选择器提取元素,支持属性获取
extract_by_xpath 使用XPath表达式提取元素或属性值
extract_table_data 将指定表格数据提取为CSV格式
extract_list_data 提取HTML列表(ul/ol)的数据
extract_form_data 提取表单结构,包括input、textarea、select等字段
extract_news_article 智能提取新闻文章的标题、正文、作者、时间
extract_product_info 提取商品名称、价格、描述、图片、规格等信息
extract_social_metadata 提取Open Graph、Twitter Card、JSON-LD等社交元数据

辅助工具模块(4个工具)

工具名 说明
validate_url 验证URL格式是否合法,解析URL各组成部分
encode_decode_url 对URL进行百分号编码或解码
parse_query_params 解析URL中的查询参数,以表格展示
rate_limit_wait 请求间隔控制,避免触发反爬机制

技术栈

技术 说明
FastMCP MCP官方Python SDK提供的高层API,简化MCP服务器开发
Requests Python最流行的HTTP库,用于网页获取和文件下载
BeautifulSoup4 强大的HTML/XML解析库,用于DOM操作和内容提取
lxml 高性能的XML/HTML解析库,提供XPath支持
urllib3 URL处理工具库,提供URL编码解码支持

项目结构

mcp-web-scraper/
├── server.py          # 主入口,创建FastMCP实例并注册所有工具
├── fetch_tools.py     # 网页获取工具模块(6个工具)
├── parse_tools.py     # HTML解析工具模块(8个工具)
├── extract_tools.py   # 数据提取工具模块(8个工具)
├── utils.py           # 辅助工具模块(4个工具 + 内部函数)
├── requirements.txt   # Python依赖列表
├── README.md          # 项目文档
└── SKILL.md           # SkillHub技能描述

许可证

MIT License

from github.com/wzx11223344/mcp-web-scraper

Установка Web Scraper

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/wzx11223344/mcp-web-scraper

FAQ

Web Scraper MCP бесплатный?

Да, Web Scraper MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Web Scraper?

Нет, Web Scraper работает без API-ключей и переменных окружения.

Web Scraper — hosted или self-hosted?

Доступен hosted-вариант: Unyly запускает сервер в облаке, локальная установка не обязательна.

Как установить Web Scraper в Claude Desktop, Claude Code или Cursor?

Открой Web Scraper на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Web Scraper with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории development