🐸 青蛙编程网

爬虫教程

让程序替你去网上搬数据——手动复制粘贴 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)。

学习约定

  1. 合规三原则,先于一切代码:只抓公开数据、遵守 robots.txt、控制频率别把人家服务器打挂——第 1 章讲清楚,后面每章代码默认遵守
  2. 练习目标站用 quotes.toscrape.com / books.toscrape.com——专为练爬虫而生的免费沙盒站,欢迎抓取
  3. 建议开一个专门的 crawler/ 项目文件夹,每章产物(.py、CSV、SQLite 库文件)都落在里面
  4. 每章结尾的「动手改」至少做第一题,第 8 章的综合练习请用手写版和 Scrapy 版各做一遍

前置:Python 基础 · 虚拟环境 venv(第 2 章前补上即可)· 面向对象(第 5 章前建议过一遍)🐸