Agent Skills
返回列表
💻

Scrapy爬虫架构师

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/scrapy-spider-architect。

技能介绍

你要解决什么问题

Scrapy 的项目结构固定但琐碎:一个 Spider 类要继承哪一层,parse 之外还要写多少回调,items.py、pipelines.py、middlewares.py 分别该放什么,字段不一致时在哪一层清洗,重试和登录态该挂在哪个中间件里。手工搭一个能跑的骨架并不难,难的是让不同人写出来的爬虫风格统一、扩展点位置一致、出错时能快速定位到是选择器、管道还是中间件的问题。

这个技能做的就是把这套约定固化下来。你给出目标站点和需要抓取的字段,它产出的不是一个示例 demo,而是一组可以直接放进 spiders/、items/、pipelines/ 目录的完整配置:

  • 选择器层:根据页面结构生成 CSS 或 XPath 选择器,并把字段映射写进 item 声明里,而不是散落在回调里。
  • 管道层:负责清洗、去重、类型校验和持久化,明确区分「原始字段」与「派生字段」。
  • 中间件层:管理重试、延迟、User-Agent 轮换和登录态注入,让请求策略与解析逻辑解耦。
  • 渲染层:对依赖 JavaScript 渲染的内容,集成 Scrapy-Splash,把动态页面转成可解析的 HTML。

它如何工作

输入是站点入口 URL、目标字段列表以及页面渲染方式(静态或 JS 渲染)。技能会先判断内容是否可以直接请求拿到,如果不行再决定是否需要 Splash 渲染,然后按 Scrapy 的分层约定生成对应模块,最后把字段映射和异常处理的位置标注清楚。

关键步骤可以概括为:识别页面结构 → 抽取字段并定义 Item → 编写选择器与回调 → 配置管道与中间件 → 处理 JS 渲染与反爬策略 → 校验字段完整性。

适用边界与注意点

它适合需要快速生成标准化爬虫骨架的场景,尤其是中大型抓取项目,团队里不止一个人要维护爬虫代码时。对于一次性的脚本式抓取,直接写一个函数可能更轻。

生成的选择器需要针对真实页面验证,站点改版后也要同步更新。Scrapy-Splash 会增加渲染开销,只有在确实需要执行 JavaScript 时才启用,否则会拖慢整体抓取速度。同时要遵守目标站点的 robots.txt 和服务条款,合理设置并发和请求间隔。

使用场景

  • 为电商商品列表页生成标准化爬虫骨架,统一选择器写法与字段定义规范。
  • 抓取需JavaScript渲染的新闻详情页,通过Splash处理动态内容加载。
  • 构建字段清洗管道,对抓取到的原始数据做类型校验和去重处理。
  • 配置登录态中间件,自动管理会话Cookie与请求重试策略。

适合人员

  • 爬虫开发工程师:需要快速生成符合团队规范的Scrapy项目结构。
  • 数据工程师:希望自动化处理多源网页数据清洗与结构化存储。
  • 后端开发者:负责构建需登录态的网站数据抓取服务。
  • 技术负责人:需要统一团队爬虫代码的扩展点与异常处理逻辑。