EasySpider:把网页采集做成可视化拖拽的免费开源工具(附命令行用法)

引言:采集网页,不一定从写代码开始

做数据采集,常规思路是学 Python、写 XPath、爬 BeautifulSoup。但如果你只是想把某个网页上的商品、标题、链接批量抓下来,手里又不想维护一套爬虫代码------EasySpider(易采集)提供了一条更轻的路:在浏览器里点选元素,任务流程自动生成,再由真实浏览器自动化完成采集。

它同时支持命令行执行,可以脱离界面、嵌进其他系统里跑。本文除了讲清它是什么,重点放在怎么用命令行脱离界面跑采集,以及它和纯 Python 无头采集的定位差异。

EasySpider 是什么

EasySpider 是一款免代码、可视化的网页数据采集桌面软件。开源、免费,GitHub 上活跃维护:

  • 仓库:NaiboWang/EasySpider
  • 许可:AGPL-3.0
  • 主语言:JavaScript(Electron 桌面壳)
  • 最新版:v0.6.5(2026-08 发布)

核心能力:在网页上操作网页

它解决了「采集脚本写起来麻烦」的痛点。基本玩法是:

  1. 打开目标网页
  2. 用浏览器扩展在页面上右键点选一个元素(比如一个商品块)
  3. EasySpider 自动识别同类元素,弹出「选中全部」「选中子元素」「采集数据」等选项
  4. 选中一组标题 → 批量采集;选中一组链接 → 循环进入详情页

它还支持把判断、循环、输入文字、截图、执行自定义 JS 这些步骤串成可视化流程图,常见能力包括:

  • 同类元素自动匹配
  • 循环点击与翻页
  • 条件分支判断
  • OCR 文字验证码识别
  • 关联 CapSolver 等第三方打码
  • 代理 IP 与隧道切换
  • 多任务并行、无头模式(不显示浏览器界面)

输出端支持 CSV、Excel、MySQL。

三层架构:设计与执行解耦

EasySpider 的源码拆成三个独立部分,这也是它能「脱离界面跑」的根本原因:

部分 技术栈 职责
主程序 Electron 27 图形化界面 + 本地 Express 服务
浏览器扩展 JS 页面上的「操作台」,点选生成采集逻辑
执行引擎 Python 3.7+ 用 Selenium 驱动真实浏览器重放流程

「设计(界面 + 扩展)」和「执行(Selenium)」解耦,意味着你可以只编译主程序来设计任务,或只编译执行阶段跑命令行,互相不依赖。

命令行脱离界面运行

任务在界面里设计完成后,会生成 execution_instances/任务ID.json。执行阶段可以直接用命令行读取这个文件运行,不需要启动主程序,这是最方便嵌入的部分。

常用参数:

bash 复制代码
python3 easyspider_executestage.py \
    --id 1 \                    # 任务 ID,默认 [0]
    --read_type local \         # remote=从主程序读, local=直接读本地 JSON
    --headless 1 \              # 无头模式
    --server_address http://localhost:8074   # 联主程序地址

关键点:

  • --read_type local:直接读本地 JSON 执行,不启动主程序也能跑,最适合嵌入其他系统或定时任务。
  • --headless 1:无头模式,适合服务器无人值守。
  • 官方示例用的是 --ids [1],参数名随版本略有差异,以编译后命令帮助为准。

与纯 Python 无头采集的取舍

结合 Scrapy / Crawl4AI 这类方案,可以这样选:

维度 EasySpider(可视化) Scrapy/Crawl4AI(代码化)
上手门槛 极低,点选即可 需写代码
交互判断(验证码/翻页) 强,可视化串流程 需手写逻辑
批量大并发 一般 高
无人值守定时 可(headless) 天然适合
页面改版容错 需手动重配 可写自适应逻辑

一句话:站点简单稳定 → 用代码化无头管线;站点需要人做交互判断 → EasySpider 更省心。

部署提醒:Intel Mac 需注意

当前最新版 macOS 安装包只有 Apple 芯片(Arm)版,没有 Intel 处理器(x64)的包。如果你和我一样用 Intel Mac,需要去 Releases 下载老版本 0.2.0 的 macOS-all-arch 包,或直接下拉源码自助编译(Electron 27 + Node + Python 3.7+)。

合规与许可

EasySpider 采用 AGPL-3.0 。如果以网络服务形式 把修改版提供给他人使用,必须向服务接受方提供对应完整源代码,商用部署前要纳入评估。同时 README 明确写了:仅供学习交流,严禁采集政府、军事等不允许采集的网站------采集的边界是法律和网站规则,不是工具功能。上生产站点前,先用官方 Examples 里的样例任务跑一遍,更稳。

总结

EasySpider(易采集)是真实、活跃、免费开源的可视化免代码采集器,把「网页数据采集」从写代码变成点选拖拽,尤其适合不想维护爬虫代码、又需要真实浏览器做交互式抓取的人群。

对「纯 Python 无头 + 自动化定时」路线的人来说,它更适合做补充入口(需要人工判断的交互站点),而不是替换主力采集管线。可以先在设计界面里把任务搭好,再配合命令行嵌进自己的脚本里。

相关推荐
档案宝档案管理1 小时前
WorkBuddy+档案管理系统:归档、查档、提醒,哪些工作可以自动跑?
人工智能
Dawson Zhu1 小时前
几何深度学习:原理解析与工程实践
人工智能·语言模型·架构·aigc·agi
H0311169851 小时前
移动应用数据分析平台信息整理:月狐数据、七麦数据、蝉大师
大数据·人工智能
码农-0041 小时前
AI+生产制造开源项目探讨
人工智能·制造
明王明王1 小时前
从零搭建一个 AI Infra 实验室⑫:Docker 为什么默认看不到 GPU
人工智能·docker·容器
小宋10211 小时前
Jev 不是另一个聊天模型:Choice、Score、Boolean 与概率决策完整实战
大数据·人工智能
染指11101 小时前
127.Agent-LangChain核心组件-模型输出后json修复
人工智能·langchain·agent·agents
xsd202411181 小时前
LingCast灵播:数字人直播技术架构全解析
人工智能
Data analyse4561 小时前
数据合规的敏感数据怎么识别?
前端·人工智能·数据分析