创建你的首个Scrapy工程 - 项目结构、配置与初始化完整指南
📂 所属阶段:第一阶段 — 初出茅庐(框架核心篇)
🔗 相关章节:Scrapy 五大核心组件 · Spider 实战
装完 Scrapy,大多数人的第一道坎,就是敲完 scrapy startproject 后面对一堆文件一脸懵,不知道从何改起。本文帮你快速理清核心结构、必改配置,并顺手生成一个能跑通的示例爬虫,把困惑一次性扫干净。
环境准备
基础要求
- Python 版本:3.8 及以上(推荐 3.9/3.10,兼容性和效率最优)
- 操作系统:Windows / macOS / Linux 通用
安装与验证
强烈建议在虚拟环境中安装 Scrapy,方便隔离依赖:
创建项目
Scrapy 提供了标准化的项目生成命令,不需要手动搭建文件夹结构:
项目结构详解
生成的项目采用了 Python 包 的架构,核心文件与目录如下:
核心文件优先级速览
开发初期,先把精力放在下面这几个文件上:
配置文件详解
默认配置中的大多选项可以暂时不动,先把下面这几个改成适合自己的项目。
1. 基础标识与 User‑Agent
2. 反爬与速率限制
3. 数据导出编码(学习测试必备)
创建第一个爬虫
使用 genspider 命令可以在 spiders/ 目录下快速生成爬虫模板:
运行后会自动生成 spiders/techcrunch.py,我们稍作修改就能爬取文章标题和链接:
验证与测试
1. 运行爬虫,实时查看结果
在项目根目录下执行:
2. 将数据导出到本地文件
3. 用 Scrapy Shell 交互调试选择器
如果 CSS 选择器不确定是否写对,可以用 Shell 实时测试:
进入 Shell 后尝试提取:
常见问题排查
1. scrapy 命令找不到
- 原因:Python 的 Scripts 目录未加入系统 PATH
- 解决:
- 虚拟环境:先激活对应的虚拟环境再使用
- 全局安装:
- Windows:将
C:\Users\你的用户名\AppData\Local\Programs\Python\Python3x\Scripts添加至 PATH - macOS/Linux:确保
which python3和which pip3指向你正在使用的 Python 环境
- Windows:将
2. 爬虫启动后立即退出,没有输出数据
- 原因:大概率是 CSS/XPath 选择器写错了,无法匹配到任何内容
- 解决:用 Scrapy Shell 逐条验证选择器,确认能提取到内容
3. 返回 403 Forbidden 错误
- 原因:默认 UA 被屏蔽、缺少 Cookie、请求频率过高
- 解决:修改
USER_AGENT,适当增大DOWNLOAD_DELAY,必要时考虑添加 Cookie
最佳实践建议
- 虚拟环境隔离:每个项目单独创建虚拟环境,避免依赖冲突
- 先调选择器再写代码:所有选择器都先在 Scrapy Shell 中测试通过
- 结构化数据:尽量使用
items.py定义数据模型,而不是直接 yield 字典,便于后期维护和扩展 - 保留日志:在
settings.py中添加LOG_FILE = 'logs/scrapy.log',方便回溯问题
💡 核心要点:刚上手时,把注意力集中在
settings.py和spiders/两个地方,其他文件(middlewares、pipelines)可以在真正需要时再深入,不要一开始就把自己绕晕。

