返回市场
网页爬虫服务器

网页爬虫服务器

作者:pragmar33 星标更新:2025-09-25

项目介绍

<p align="center"> <img src="sphinx/_static/images/mcpswc.svg" alt="MCP Server Webcrawl" width="60%"> </p> <p align="center"> <a href="https://pragmar.com/mcp-server-webcrawl/" style="margin: 0 10px;">网站</a> | <a href="https://github.com/pragmar/mcp-server-webcrawl" style="margin: 0 10px;">GitHub</a> | <a href="https://pragmar.github.io/mcp-server-webcrawl/" style="margin: 0 10px;">文档</a> | <a href="https://pypi.org/project/mcp-server-webcrawl/" style="margin: 0 10px;">PyPi</a> </p>

mcp-server-webcrawl

用于网络爬虫数据的高级搜索和检索。通过mcp-server-webcrawl,您的AI客户端可以在您的指导下或自主地过滤和分析网页内容。该服务器包括一个支持布尔运算的全文搜索接口,并且可以根据类型、HTTP状态等进行资源过滤。

mcp-server-webcrawl为LLM提供了一个完整的菜单,以进行搜索,并与多种网络爬虫兼容:

爬虫/格式描述平台设置指南
ArchiveBox网页存档工具macOS/Linux设置指南
HTTrack图形界面镜像工具macOS/Windows/Linux设置指南
InterroBot图形界面爬虫和分析器macOS/Windows/Linux设置指南
Katana命令行安全聚焦爬虫macOS/Windows/Linux设置指南
SiteOne图形界面爬虫和分析器macOS/Windows/Linux设置指南
WARC标准网页存档格式客户端不同而异设置指南
wget命令行网站镜像工具macOS/Linux设置指南

mcp-server-webcrawl是免费和开源的,需要Claude Desktop和Python(>=3.10)。它可以通过命令行使用pip安装:

pip install mcp-server-webcrawl

对于详细的MCP服务器设置步骤,请参考设置指南

功能

  • 支持Claude Desktop
  • 多爬虫兼容
  • 按类型、状态等过滤
  • 支持布尔搜索
  • 支持Markdown和代码片段
  • 自建网站知识库

提示程序

mcp-server-webcrawl提供了自由搜索网络爬虫数据所需的工具包,您可以边走边摸索,对每个查询做出反应。这就是它的设计目的。

它还能够运行程序(作为提示)。您可以自己编写这些提示,也可以使用提供的提示。这些提示是复制粘贴的,并作为原始Markdown使用。它们通过提供给LLM的高级搜索功能启用;查询和逻辑可以嵌入到一系列指令中,甚至是一个输入循环,就像Gopher服务的情况一样。

提示下载类别描述
🔍 SEO审计auditseo.md审计技术SEO(搜索引擎优化)分析。涵盖基础内容,有选项深入分析。
🔗 404审计audit404.md审计检测断链并分析模式。不仅发现问题,还会建议修复方法。
⚡ 性能审计auditperf.md审计网站速度和优化分析。实话实说。
📁 文件审计auditfiles.md审计文件组织和资产分析。发现您网站的构成。
🌐 Gopher接口gopher.md接口向昔日的Gopher客户端致敬的老式搜索界面。
⚙️ 搜索测试testsearch.md自检一组测试,检查搜索查询解析器中的布尔逻辑不一致以及后续的FTS5转换。

如果您想跳过站点选择(少一次查询),在请求中粘贴Markdown并输入“运行粘贴的[站点名称或URL]”。它会自行解决。当没有额外上下文时粘贴,您应该会被提示从已爬取的站点列表中选择。

布尔搜索语法

查询引擎支持字段特定(字段:值)搜索和复杂的布尔表达式。全文搜索支持url、内容和headers字段的组合。

虽然API接口旨在由LLM直接消费,但熟悉搜索语法可能会有所帮助。由LLM生成的搜索是可以检查的,但在UI中通常被折叠。如果您需要查看查询,请展开MCP可折叠部分。

查询示例

查询示例描述
privacy全文单个关键词匹配
"privacy policy"全文精确短语匹配
boundar*全文通配符匹配以boundar开头的结果(如boundary、boundaries)
id: 12345id字段匹配特定ID的资源
url: example.com/somedirurl字段匹配包含example.com/somedir的URL结果
type: htmltype字段仅匹配HTML页面
status: 200status字段匹配特定HTTP状态码(等于200)
status: >=400status字段匹配大于或等于400的HTTP状态码
content: h1content字段匹配内容(通常是HTTP响应体,但不总是HTML)
headers: text/xmlheaders字段匹配HTTP响应头
privacy AND policy全文匹配两者
privacy OR policy全文匹配任一
policy NOT privacy全文匹配不含隐私的政策
(login OR signin) AND form全文匹配登录或签入表单
type: html AND status: 200全文仅匹配HTTP成功的HTML页面

字段搜索定义

字段搜索提供了搜索精度,允许您指定要筛选的搜索索引列。您可以将查询限制在特定属性上,如URL、头部或内容主体,而不是搜索整个内容。这种方法在查找爬取数据中的特定属性或模式时提高了效率。

字段描述
id数据库ID
url资源URL
type类型枚举列表(参见类型表)
size文件大小(字节)
statusHTTP响应码
headersHTTP响应头
contentHTTP正文——HTML、CSS、JS等

字段内容

部分字段可以独立请求结果,而核心字段始终可用。使用headers和content会快速消耗令牌。谨慎使用,或者使用额外选项将更多结果压缩进上下文窗口。字段是顶级参数,独立于查询中的任何字段搜索。

字段描述
id始终可用
url始终可用
type始终可用
status始终可用
created请求时可用
modified请求时可用
size请求时可用
headers请求时可用
content请求时可用

内容类型

爬取的数据包含HTML页面以外的资源类型。type:字段搜索允许按广泛的内容类型组进行过滤,特别适用于无需复杂扩展查询即可过滤图像。例如,您可能搜索type: html NOT content: login以找到不含“登录”的页面,或type: img来分析图像资源。下表列出了搜索系统中所有支持的内容类型。

类型描述
html网页
iframeiframe
img网页图像
audio网页音频文件
video网页视频文件
font网页字体文件
styleCSS样式表
scriptJavaScript文件
rssRSS聚合订阅源
text纯文本内容
pdfPDF文件
docMS Word文档
other未分类

额外选项

extras参数提供了额外的处理选项,可以转换HTTP数据(Markdown、代码片段、正则表达式、XPath),或将LLM连接到外部数据(缩略图)。这些选项可以根据需要组合使用,以实现所需的结果格式。

额外选项描述
缩略图生成供AI模型查看和分析的base64编码图像。使图像描述、内容分析和视觉理解成为可能,同时保持最小的令牌输出。适用于图像,可以通过type: img在查询中过滤。SVG不支持。
Markdown将HTML内容字段提供为简洁的Markdown,减少令牌使用量并提高LLM的可读性。适用于HTML,可以通过type: html在查询中过滤。
正则表达式从爬取的文件(如HTML、CSS、JavaScript等)中提取正则表达式匹配项。对于HTML不如XPath精确,但支持任何文本文件作为数据源。可以请求一个或多个正则表达式模式,使用extrasRegex参数。
代码片段匹配内容中上下文关键词使用的全文查询。在不请求内容字段(或Markdown额外选项)的情况下使用时,可以作为一种高效的方法来细化搜索,而不必下载完整的页面内容。也适合渲染旧式的高亮显示结果列表,类似于1999年的Google搜索。适用于HTML、CSS、JS或任何基于文本的爬取文件。
XPath提取XPath选择器数据,用于刮取HTML内容。使用XPath的text()选择器获取纯文本,元素选择器返回outerHTML。仅支持type: html,其他类型将被忽略。可以请求一个或多个XPath选择器(//h1, count(//h1)等),使用extrasXpath参数。

额外选项提供了一种生产令牌高效的HTTP内容响应方式。Markdown产生的字节数约为源HTML的1/3,代码片段一般每个结果约500字节,XPath的选择范围可以从非常具体到非常广泛。您的请求越集中,就能将更多的结果放入您的LLM会话中。

当然,这个想法是让LLM为您处理这一切。如果您注意到您的LLM开始倾向于“内容”字段(完整的HTML),只需在聊天中提示使用额外功能预算令牌即可。

交互模式

无需AI,只需经典的终端布尔搜索您的网络存档。

mcp-server-webcrawl可以用作您的网络存档的终端搜索。您可以针对本地存档运行它,但当您意识到您可以ssh进入任何远程主机并查看该主机上的存档时,这变得更加有趣。无需下载、同步、多因素登录或其他常见的繁琐操作。借助交互模式,您可以在短时间内进入并搜索位于远程服务器上的爬取数据。

使用--crawler和--datasource启动以立即加载搜索,或在应用程序中设置datasrc和crawler。

mcp-server-webcrawl --crawler wget --datasrc /path/to/datasrc --interactive
# 或手动在UI中输入crawler和datasrc
mcp-server-webcrawl --interactive

交互模式是一种随时、随地在终端中搜索爬取数据的方式。

交互搜索界面