爬虫教程
让程序替你去网上搬数据——手动复制粘贴 100 页数据要一晚上,爬虫一分钟就跑完了;这一栈从「爬虫到底是怎么工作的」讲起,先用 requests + BeautifulSoup 手写一个小爬虫把原理走通,再上三大主流框架 Scrapy、feapder、Crawlee,看它们把调度、去重、并发、存储这些脏活一口气干掉。每一章的代码都在真实可跑的练习站上采集数据。
章节规划
| 章节 | 内容 | 核心知识点 | 状态 |
|---|---|---|---|
| 1. 爬虫是什么 | 爬虫原理与合规底线 | URL 队列、下载-解析-存储循环、静态与动态页面、robots.txt | ✅ 已上线 |
| 2. requests 抓第一个网页 | 基础:发请求拿响应 | GET/POST、headers、timeout、Session、状态码 | ✅ 已上线 |
| 3. 解析 HTML | 基础:从网页里掏数据 | 标签树、BeautifulSoup、CSS 选择器、get_text、JSON 接口 | ✅ 已上线 |
| 4. 数据存储与去重 | 基础:把数据留下来 | CSV、JSON、SQLite、set 去重、礼貌爬取 | ✅ 已上线 |
| 5. Scrapy | 框架:爬虫界的事实标准 | 项目结构、Spider、翻页、settings、内置导出 | ✅ 已上线 |
| 6. feapder | 框架:内置分布式的国产框架 | AirSpider、Request、并发抓取、上 Redis 即分布式 | ✅ 已上线 |
| 7. Crawlee | 框架:异步现代框架 | asyncio、请求队列、enqueue_links、PlaywrightCrawler | ✅ 已上线 |
| 8. 综合练习 | 全站名言采集器 | requests 版与 Scrapy 版同题对比、翻页、入库 | ✅ 已上线 |
适合谁看
- 学完 Python 基础,想让程序自动从网上收集数据(价格、新闻、榜单、文案素材)
- 每次找数据都要手动复制粘贴,想写一次脚本长期复用
- 听说过 Scrapy 但一直没敢进——想搞清楚「手写爬虫」和「框架爬虫」各自负责什么
版本基线
2026-11 核对:Python 3.15 · requests 2.x · BeautifulSoup4 · Scrapy 2.x · feapder 1.x · Crawlee for Python(该库迭代快,import 路径以官方文档为准)。除标准库外都是第三方包,第 2 章开始要 pip install,请先学会在虚拟环境里装包(衔接 虚拟环境 venv)。
学习约定
- 合规三原则,先于一切代码:只抓公开数据、遵守 robots.txt、控制频率别把人家服务器打挂——第 1 章讲清楚,后面每章代码默认遵守
- 练习目标站用 quotes.toscrape.com / books.toscrape.com——专为练爬虫而生的免费沙盒站,欢迎抓取
- 建议开一个专门的
crawler/项目文件夹,每章产物(.py、CSV、SQLite 库文件)都落在里面 - 每章结尾的「动手改」至少做第一题,第 8 章的综合练习请用手写版和 Scrapy 版各做一遍