Skip to content

Repository files navigation

🕷️ Visual Web Crawler - 可视化网页爬虫工具

一个简单、快速、无需编程的可视化网页爬虫工具。基于 Next.js + Cheerio 构建,提供直观的图形界面来配置和执行网页数据抓取任务。

Next.js TypeScript Tailwind CSS License

✨ 功能特点

🎯 可视化配置

  • 直观的图形界面 - 无需编写代码,通过简单的表单配置爬虫
  • 智能页面分析 - 自动分析目标网页结构,推荐最佳选择器
  • 实时预览 - 配置即时生效,实时查看抓取结果

🔧 灵活的选择器系统

  • CSS选择器支持 - 使用标准CSS选择器定位元素
  • 多属性提取 - 支持文本、HTML、链接、图片、自定义属性
  • 批量提取 - 支持单元素和多元素批量提取

📊 数据导出

  • JSON格式 - 结构化数据导出
  • CSV格式 - 兼容Excel等表格软件
  • 一键复制 - 快速复制到剪贴板

🚀 技术特性

  • 服务端渲染 - 基于 Next.js 的现代化架构
  • 高性能解析 - 使用 Cheerio 进行快速HTML解析
  • 响应式设计 - 完美适配桌面和移动设备

🛠️ 技术栈

技术 用途
Next.js 16 全栈React框架
React 19 UI组件库
TypeScript 类型安全
Tailwind CSS 样式框架
Cheerio HTML解析
shadcn/ui UI组件库

📦 安装

# 克隆仓库
git clone https://github.com/python-demon1234/visual-web-crawler.git

# 进入项目目录
cd visual-web-crawler

# 安装依赖
bun install

# 启动开发服务器
bun run dev

打开 http://localhost:3000 访问应用。

🎮 使用方法

1️⃣ 输入目标URL

在输入框中输入要抓取的网页地址,支持 HTTP/HTTPS 协议。

2️⃣ 分析页面结构

点击"分析页面"按钮,系统会自动:

  • 识别页面标题和元信息
  • 发现页面中的列表、卡片、表格等模式
  • 推荐最佳CSS选择器

3️⃣ 配置选择器

添加要提取的数据字段:

  • 字段名称 - 为提取的数据命名
  • CSS选择器 - 定位目标元素
  • 提取属性 - 选择要提取的内容类型
  • 多元素模式 - 是否提取所有匹配元素

4️⃣ 执行抓取

点击"开始抓取"执行任务,查看抓取结果。

5️⃣ 导出数据

选择导出格式(JSON/CSV)或复制到剪贴板。

📖 CSS选择器示例

选择器 说明
h1 所有一级标题
.title class为title的元素
#main id为main的元素
a[href] 带href属性的链接
div.card > h2 card容器内的h2标题
ul li 列表中的所有项目
table tr td 表格中的所有单元格

🏗️ 项目结构

src/
├── app/
│   ├── api/
│   │   └── crawler/
│   │       ├── route.ts          # 爬虫API
│   │       └── analyze/
│   │           └── route.ts      # 页面分析API
│   ├── page.tsx                   # 主页面
│   ├── layout.tsx                 # 布局组件
│   └── globals.css                # 全局样式
├── components/
│   └── ui/                        # shadcn/ui组件
└── lib/
    └── utils.ts                   # 工具函数

🔌 API 接口

POST /api/crawler

执行爬虫任务

请求体:

{
  "url": "https://example.com",
  "selectors": [
    {
      "name": "标题",
      "selector": "h1",
      "attribute": "text",
      "multiple": false
    }
  ]
}

GET /api/crawler

获取页面预览

参数:

  • url - 目标URL

POST /api/crawler/analyze

分析页面结构

请求体:

{
  "url": "https://example.com"
}

🤝 参考项目

本工具的设计灵感来源于以下优秀的开源项目:

⚠️ 免责声明

本工具仅供学习和研究使用。使用本工具进行网页抓取时,请确保:

  • 遵守目标网站的 robots.txt 规则
  • 遵守相关法律法规
  • 不对目标网站造成过大负担
  • 尊重网站的服务条款

📄 许可证

MIT License

🙏 致谢

感谢所有开源社区的贡献者,让这个工具成为可能。


⭐ 如果这个项目对你有帮助,欢迎 Star 支持!

About

可视化网页爬虫工具 - 简单、快速、无需编程

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages