Scrapy
Python 编写的开源网页抓取框架,异步引擎负责排队、并发与去重,用 CSS 或 XPath 取字段、yield 出字典即一条记录,自带 shell 先试选择器,适合要长期维护采集任务、把抓取结果存成 JSON 或 CSV 的开发者。
Scrapy 是一个用 Python 写的网页抓取框架,由 Zyte 维护,BSD 许可开源。它要解决的是「把一批网页抓下来、从里面抽出结构化数据、再存成 JSON 或 CSV」这类重复劳动:你只写一个 Spider 类,声明起始地址和解析函数,剩下的排队、并发下载、去重、翻页跟进由框架的异步引擎处理。
主要功能
核心很小,围绕一个异步引擎拆成调度器、下载器、Spider、Item、Pipeline、Feed 导出六块,每一块都能替换或加插件。写解析时用 CSS 或 XPath 选择器取字段,yield 出字典就是一条记录。框架自带交互式 shell,可以先把目标页面加载进来试选择器,确认能取到数据再写进 Spider。翻页有 CrawlSpider、SitemapSpider 这类通用 Spider 兜底。
周边扩展覆盖常见缺口:scrapy-playwright 用真实浏览器渲染 JavaScript 重的页面,spidermon 校验抓到的数据并在异常时发 Slack、Discord 或邮件告警,scrapy-zyte-api 通过 Zyte API 做代理轮换和反封锁。较新的 Scrapy MCP Server 让 AI 代理接入正在运行的抓取任务,列任务、查状态、在抓取进程里执行 Python。
适合谁
会写 Python、要长期维护采集任务的人。从本地跑一个 Spider 到部署到 Scrapy Cloud 定时调度,是同一套项目结构。只想偶尔抓一两个页面的话,它的项目脚手架和配置层会显得重。
费用与限制
框架本身免费开源,代码在 GitHub 上,文档齐全。页面显示 15 年以上持续发布、500 多名贡献者、65.3k stars,最新版本 v2.20.0(2026 年 11 月)。部署和监控走 Zyte 的 Scrapy Cloud,代理走 Zyte API,这些属于商业服务,页面没有给出价格。使用需要 Python 环境,界面与文档为英文。