如果你写过几个单机爬虫,能跑通请求和解析,但一遇到封 IP、验证码、断点续爬就卡住,这套课值得花时间看。它不讲 Python 语法,也不从零教 Scrapy 的安装,起点定在"已经能写出一个能跑的爬虫"这个位置。如果你连 requests 和 XPath 都没用过,前面几章会看得吃力,建议先补基础再来。

它解决的是爬虫从"能跑"到"能长期跑"之间的那段路

单机爬虫最大的问题是脆弱:目标站改一次结构就崩,请求一多就被封,程序中断后要重头再来。这门课围绕这些具体故障展开,重点在三块。一是反爬对抗,包括 IP 代理池的搭建思路、请求头与频率控制、各类验证码的识别方案,讲的是遇到拦截后怎么判断类型、选哪种应对方式。二是分布式与调度,用 scrapy-redis 把多台机器组织起来,解决去重和任务分配,这是单机代码改造成分布式时最容易出错的地方。三是数据侧的闭环,增量抓取保证重复运行不产生脏数据,cookie 池维持登录态,最后用 Django 加 Elasticsearch 把抓到的内容做成能搜索的站点。中间穿插的整站抓取和招聘网站案例,是用来练 CrawlSpider 规则配置的,不是独立知识点。

建议的观看顺序和练习方式

不必按章节号从头看到尾。如果基础尚可,先跳到分布式和反爬这两块,把代理池和 scrapy-redis 的调度逻辑吃透,这是课程含金量最高的部分。验证码识别和 cookie 池属于按需查阅的类型,等实际项目撞上再回来看,印象更深。搜索引擎和 Django 那几章偏向工程整合,适合已经抓下数据、想找个出口展示的人。

练习上有一个建议:不要只跟着敲。每学完一个反爬手段,拿一个真实站点试一遍,记录被封的触发条件和恢复时间;学完 scrapy-redis 后,至少在本机起两个 worker 进程,观察任务是怎么被分掉的。课程里的案例站点会变化,代码跑不通是常态,重点看它解决问题的思路,而不是某一行能不能直接复制。

学完之后你能独立做什么

比较现实的预期是:你能独立设计并部署一个多机协作的采集系统,处理常见的反爬拦截,让它在无人值守的情况下持续增量地更新数据,并把结果整理成可检索的形式。这套能力对应的是数据采集岗和需要自建数据源的开发岗。需要提醒的是,课程不涉及大规模存储选型、法律合规边界和商业级监控告警,这些要在实际工作中另外补。把它当作爬虫工程化的入门骨架,而不是一套完整的生产方案。

课程目录

092-慕课网实战课-畅销3年的Python分布式爬虫课程-原版提取 📁 第7章 Scrapy突破反爬虫的限制 📁 第8章 scrapy进阶开发 📁 第14章 django搭建搜索网站 📁 第10章 cookie池系统设计和实现 📁 第13章 elasticsearch搜索引擎的使用 📁 第4章 新: scrapy爬取知名技术文章网站 📁 第5章 scrapy爬取知名问答网站 📁 第15章 scrapyd部署scrapy爬虫 📁 第16章 课程总结 📁 第2章 windows下搭建开发环境 📁 第3章 爬虫基础知识回顾 📁 第1章 课程介绍 📁 第9章 scrapy-redis分布式爬虫 📁 第6章 通过CrawlSpider对招聘网站进行整站爬取 📁 第12章 增量抓取 📁 第11章 各种验证码的识别 📄124 集
  • 7-7 scrapy实现ip代理池 - 2 (1739).mp4
  • 📄 7-2 scrapy架构源码分析 (1045).mp4
  • 📄 7-6 scrapy实现ip代理池 - 1 (1651).mp4
  • 📄 7-4 通过downloadmiddleware随机更换user-agent-1 (1700).mp4
  • 📄 7-9 云打码实现验证码识别 (2237).mp4
  • 📄 7-8 scrapy实现ip代理池 - 3 (1846).mp4
  • 📄 7-5 通过downloadmiddleware随机更换user-agent - 2 (1713).mp4
  • 📄 7-3 Requests和Response介绍 (1018).mp4
  • 📄 7-1 爬虫和反爬的对抗过程以及策略 (2017).mp4
  • 📄 7-10 cookie禁用、自动限速、自定义spider的settings (0722).mp4
  • 📄 14-7 django实现搜索结果分页 (0912).mp4
  • 📄 14-5 django实现elasticsearch的搜索功能 -1 (1406).mp4
  • 📄 14-1 es完成搜索建议-搜索建议字段保存 - 1 (1345).mp4
  • 📄 14-6 django实现elasticsearch的搜索功能 -2 (1314).mp4
  • 📄 14-8 搜索记录、热门搜索功能实现 - 1 (1434).mp4
  • 📄 14-3 django实现elasticsearch的搜索建议 - 1 (1957).mp4
  • 📄 14-4 django实现elasticsearch的搜索建议 - 2 (1815).mp4
  • 📄 14-9 搜索记录、热门搜索功能实现 - 2 (1404).mp4
  • 📄 14-2 es完成搜索建议-搜索建议字段保存 - 2 (1334).mp4
  • 📄 10-6 改造login方法 - 2 (0936).mp4
  • 📄 10-2 cookie池系统设计 (0923).mp4
  • 📄 10-5 改造login方法 - 1 (0958).mp4
  • 📄 10-
  • 15 cookie架构设计改进意见 (0736).mp4
  • 📄 10-8 改造login方法-4 (1037).mp4
  • 📄 10-9 通过抽象基类实现网站轻松接入 (1500).mp4
  • 📄 10-7 改造login方法-3 (0843).mp4
  • 📄 10-
  • 11 如何选择redis的数据结构来保存cookie (1059).mp4
  • 📄 10-
  • 10 实现检测网站cookie是否有效 (0806).mp4
  • 📄 10-1 什么是cookie池? (1127).mp4
  • 📄 10-3 实现cookie池-1 (1012).mp4
  • 📄 10-
  • 12 cookie管理器的实现 (2210).mp4
  • 📄 10-
  • 13 启动cookie池服务 (1235).mp4
  • 📄 10-
  • 14 将cookie集成到爬虫项目中 (1534).mp4
  • 📄 10-4 实现cookie池-2 (1239).mp4
  • 📄 8-
  • 10 scrapy的数据收集 (1344).mp4
  • 📄 8-
  • 11 scrapy信号详解 (1305).mp4
  • 📄 8-1 selenium动态网页请求与模拟登录知乎 (2124).mp4
  • 📄 8-2 selenium模拟登录微博, 模拟鼠标下拉 (1106).mp4
  • 📄 8-5 其余动态网页获取技术介绍-chrome无界面运行、scrapy-splash、selenium-grid, splinter (0750).mp4
  • 📄 8-6 scrapy的暂停与重启 (1258).mp4
  • 📄 8-9 spider middleware 详解 (1525).mp4
  • 📄 8-
  • 12 scrapy扩展开发 (1316).mp4
  • 📄 8-4 selenium集成到scrapy中 (1943).mp4
  • 📄 8-7 scrapy url去重原理 (0545).mp4
  • 📄 8-8 scrapy telnet服务 (0737).mp4
  • 📄 8-3 chromedriver不加载图片、phantomjs获取动态网页 (0959).mp4
  • 📄 15-1 scrapyd部署scrapy项目 (2439).mp4
  • 📄 4-
  • 14 items的定义和使用 - 2 (1330).mp4
  • 📄 4-
  • 10 scrapy中为什么要使用yield (0949).mp4
  • 📄 4-4 pycharm中调试scrapy源码 (1013).mp4
  • 📄 4-
  • 22 itemloader提取信息 (1906).mp4
  • 📄 4-7 css选择器 (1754).mp4
  • 📄 4-3 需求分析 (1353).mp4
  • 📄 4-
  • 11 提取详情页信息 (2316).mp4
  • 📄 4-9 编写spider完成抓取过程 - 2 (2047).mp4
  • 📄 4-
  • 16 items数据写入到json文件中 (0927).mp4
  • 📄 4-6 xpath提取元素 (2848).mp4
  • 📄 4-
  • 12 提取详情页信息 (1813).mp4
  • 📄 4-
  • 12 提取详情页信息 (1813).mp4.aria2 📄 4-
  • 21 itemloader提取信息 (2141).mp4
  • 📄 4-5 xpath基础语法 (1902).mp4
  • 📄 4-
  • 17 mysql表结构设计 (1321).mp4
  • 📄 4-
  • 13 items的定义和使用 - 1 (1621).mp4
  • 📄 4-8 编写spider完成抓取过程 - 1 (1938).mp4
  • 📄 4-1 重录说明(很重要!!!) (0447).mp4
  • 📄 4-
  • 19 异步方式入库mysql (1237).mp4
  • 📄 4-
  • 20 数据插入主键冲突的解决方法 (0440).mp4
  • 📄 4-
  • 15 scrapy配置图片下载 (1820).mp4
  • 📄 4-2 scrapy安装和配置 (3030).mp4
  • 📄 4-
  • 18 pipeline数据库保存 (2016).mp4
  • 📄 4-
  • 23 大规模抓取图片下载出错的问题 (1245).mp4
  • 📄 5-18 知乎spider爬虫逻辑的实现以及answer的提取 - 2 (1704).mp4
  • 📄 5-9 requests模拟登陆知乎 - 2(可选观看) (1316).mp4
  • 📄 5-8 requests模拟登陆知乎 - 1(可选观看) (1332).mp4
  • 📄 5-3 . selenium模拟登录知乎-2new (1533).mp4
  • 📄 5-
  • 15 item loder方式提取question - 2 (1520).mp4
  • 📄 5-2 . selenium模拟登录知乎 - 1new (1700).mp4.aria2 📄 5-17 知乎spider爬虫逻辑的实现以及answer的提取 - 1 (1554).mp4
  • 📄 5-
  • 20 保存数据到mysql中 -2 (1722).mp4
  • 📄 5-12 知乎分析以及数据表设计1 (1517).mp4
  • 📄 5-
  • 10 requests模拟登陆知乎 - 3(可选观看) (1221).mp4
  • 📄 5-6 . selenium自动识别验证码完成模拟登录-1new (2343).mp4
  • 📄 5-8 requests模拟登陆知乎 - 1(可选观看) (1332).mp4.aria2 📄 5-5 . 知乎倒立文字识别 new (2425).mp4
  • 📄 5-7 . selenium自动识别验证码完成模拟登录 - 2 new (1906).mp4
  • 📄 5-2 . selenium模拟登录知乎 - 1new (1700).mp4
  • 📄 5-
  • 16 item loder方式提取question - 3 (0645).mp4
  • 📄 5-
  • 13 知乎分析以及数据表设计 - 2 (1335).mp4
  • 📄 5-
  • 21 保存数据到mysql中 -3 (1609).mp4.aria2 📄 5-
  • 14 item loder方式提取question - 1 (1457).mp4
  • 📄 5-
  • 11 scrapy模拟知乎登录(可选观看) (2046).mp4
  • 📄 5-
  • 19 保存数据到mysql中 -1 (1727).mp4
  • 📄 5-4 . selenium模拟登录知乎-3new (1614).mp4
  • 📄 5-1 session和cookie自动登录机制 (2010).mp4
  • 📄 5-
  • 21 保存数据到mysql中 -3 (1609).mp4
  • 📄 13-2 elasticsearch安装 (1324).mp4
  • 📄 13-12 scrapy写入数据到elasticsearch中 - 1 (1416).mp4
  • 📄 13-13 scrapy写入数据到elasticsearch中 - 2 (1115).mp4.aria2 📄 13-
  • 10 elasticsearch的简单查询 - 2 (1112).mp4
  • 📄 13-3 elasticsearch-head插件以及kibana的安装 (2409).mp4
  • 📄 13-13 scrapy写入数据到elasticsearch中 - 2 (1115).mp4
  • 📄 13-6 elasticsearch 基本的索引和文档CRUD操作 (1844).mp4
  • 📄 13-8 elasticsearch的mapping映射管理 (2103).mp4
  • 📄 13-4 elasticsearch的基本概念 (1215).mp4
  • 📄 13-7 elasticsearch的mget和bulk批量操作 (1236).mp4.aria2 📄 13-1 elasticsearch介绍 (1821).mp4.part 📄 13-7 elasticsearch的mget和bulk批量操作 (1236).mp4
  • 📄 13-1 elasticsearch介绍 (1821).mp4
  • 📄 13-9 elasticsearch的简单查询 - 1 (1456).mp4
  • 📄 13-5 倒排索引 (1124).mp4
  • 📄 1-1 python分布式爬虫打造搜索引擎简介 (0723).mp4
  • 📄 2-4 虚拟环境的安装和配置 (3053).mp4
  • 📄 2-2 mysql和navicat的安装和使用 (1620).mp4
  • 📄 2-3 windows和linux下安装python2和python3 (0649).mp4
  • 📄 2-1 pycharm的安装和简单使用 (0907).mp4
  • 📄 3-4 正则表达式-3 (2016).mp4
  • 📄 3-1 技术选型 爬虫能做什么 (0950).mp4
  • 📄 3-3 正则表达式-2 (1904).mp4
  • 📄 3-6 url去重方法 (0744).mp4
  • 📄 3-7 彻底搞清楚unicode和utf8编码 (1831).mp4
  • 📄 3-5 深度优先和广度优先原理 (2515).mp4
  • 📄 3-2 正则表达式-1 (1831).mp4
  • 📄 16-1 课程总结 (0555).mp4
  • 📄 11-4 计算出滑动的距离 (1737).mp4
  • 📄 11-5 计算滑动轨迹 (1800).mp4
  • 📄 11-3 验证码截屏-2 (1403).mp4
  • 📄 11-2 验证码截屏-1 (1142).mp4
  • 📄 11-1 滑动验证码的识别思路 (1517).mp4
第12章 增量抓取 📄23 集
  • 12-1 增量爬虫需要解决的问题 (0936).mp4
  • 📄 9-7 scrapy-redis源码剖析- pipelines.py、 queue.py- (1041).mp4
  • 📄 9-3 redis基础知识 - 2 (1558).mp4
  • 📄 9-8 scrapy-redis源码分析- scheduler.py、spider.py- (1152).mp4
  • 📄 9-5 scrapy源码解析-connection.py、defaults.py- (1105).mp4
  • 📄 9-2 redis基础知识 - 1 (2031).mp4
  • 📄 9-4 scrapy-redis编写分布式爬虫代码 (2106).mp4
  • 📄 9-6 scrapy-redis源码剖析-dupefilter.py- (0529).mp4
  • 📄 9-1 分布式爬虫要点 (0839).mp4
  • 📄 9-9 集成bloomfilter到scrapy-redis中 (1930).mp4
  • 📄 6-7 职位数据入库-1 (1901).mp4
  • 📄 6-8 职位信息入库-2 (1119).mp4
  • 📄 6-9 网站反爬突破 (1058).mp4
  • 📄 6-4 Rule和LinkExtractor使用 (1428).mp4
  • 📄 6-6 item loader方式解析职位 (2446).mp4
  • 📄 6-1 数据表结构设计 (1533).mp4
  • 📄 6-3 CrawlSpider源码分析 (2529).mp4
  • 📄 6-5 拉勾网302之后的模拟登录和cookie传递(网站需要登录时学习本视频教程) (3211).mp4
  • 📄 6-2 CrawlSpider源码分析-新建CrawlSpider与settings配置 (1250).mp4
  • 📄 12-2 通过修改scrapy-redis完成增量抓取 -1 (1611).mp4
  • 📄 12-1 增量爬虫需要解决的问题 (0936).mp4
  • 📄 12-4 爬虫数据更新 (0923).mp4
  • 📄 12-3 通过修改scrapy-redis完成增量抓取-2 (1413).mp4