引言:采集网页,不一定从写代码开始
做数据采集,常规思路是学 Python、写 XPath、爬 BeautifulSoup。但如果你只是想把某个网页上的商品、标题、链接批量抓下来,手里又不想维护一套爬虫代码------EasySpider(易采集)提供了一条更轻的路:在浏览器里点选元素,任务流程自动生成,再由真实浏览器自动化完成采集。
它同时支持命令行执行,可以脱离界面、嵌进其他系统里跑。本文除了讲清它是什么,重点放在怎么用命令行脱离界面跑采集,以及它和纯 Python 无头采集的定位差异。
EasySpider 是什么
EasySpider 是一款免代码、可视化的网页数据采集桌面软件。开源、免费,GitHub 上活跃维护:
- 仓库:
NaiboWang/EasySpider - 许可:AGPL-3.0
- 主语言:JavaScript(Electron 桌面壳)
- 最新版:
v0.6.5(2026-08 发布)
核心能力:在网页上操作网页
它解决了「采集脚本写起来麻烦」的痛点。基本玩法是:
- 打开目标网页
- 用浏览器扩展在页面上右键点选一个元素(比如一个商品块)
- EasySpider 自动识别同类元素,弹出「选中全部」「选中子元素」「采集数据」等选项
- 选中一组标题 → 批量采集;选中一组链接 → 循环进入详情页
它还支持把判断、循环、输入文字、截图、执行自定义 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 无头 + 自动化定时」路线的人来说,它更适合做补充入口(需要人工判断的交互站点),而不是替换主力采集管线。可以先在设计界面里把任务搭好,再配合命令行嵌进自己的脚本里。