课程定位与学习门槛
爬虫技术的核心难点不在于“能不能抓下来”,而在于“能不能规模化地抓下来并结构化存储”。这门课的主题是构建分布式搜索引擎,它跳出了普通脚本抓取的思维局限,系统地讲解了如何用 Scrapy 框架解决大规模数据采集中的调度、去重、并发和清洗问题。对于职场人来说,这门课解决的是从“写个小脚本临时用用”到“搭建稳定数据管道”的能力跃迁。门槛适中,只要你具备 Python 基础语法能力,且对网页结构有基本认知即可入门。课程前半部分花费大量篇幅讲解正则表达式、URL 去重原理以及 Unicode 编码问题,这是许多初学者容易忽视却极易踩坑的基础细节。建议务必认真补完这部分知识,否则在进入框架学习后会因为数据编码错误或无效请求堆积而受阻。同时,环境搭建部分涉及 Windows 和 Linux 双平台的 Python 2/3 共存配置,需要耐心按照步骤操作,理解虚拟环境隔离的重要性。
核心内容与技能产出
课程后半段进入实战,以知名技术文章网站为案例,逐步演示 Scrapy 的安装、配置、XPath 与 CSS 选择器的使用,以及 Spider 的编写逻辑。你会学到如何利用 yield 控制请求流,如何定义 Item 规范数据结构,以及如何处理分页和详情页的深度抓取。更重要的是,课程涵盖了模拟登录等进阶场景,这对于处理需要权限的数据源至关重要。学完后,你将不再依赖现成的爬虫工具,而是能够独立设计爬虫架构,独立完成从需求分析、站点调研、代码实现到数据存储的全流程工作。你可以独立开发针对特定行业的垂直搜索引擎原型,或者为企业搭建自动化的竞品数据监控体系,将散乱的网络信息转化为可查询、可分析的数据库资产。
资料配合与练习建议
学习资料包是验证理解的最佳工具。建议在听完每一章节后,立即对照资料中的源码进行实操。不要只看不练,特别是 XPath 提取和 Pipelines 数据清洗部分,必须亲手修改代码运行,观察输出结果的变化。在练习时,可以先复现课程中的技术博客抓取案例,确保管道能正确将数据存入 MySQL。随后,尝试更换目标网站,比如换成新闻站或电商首页,自主分析其 URL 规律和页面结构,编写新的 Spider。通过这种“模仿—修改—创新”的训练路径,你能真正掌握 Scrapy 的设计思想,将其灵活应用到未来的实际工作场景中,从而具备独立交付爬虫项目的工程能力。
课程目录
第1章 课程介绍 试看 1 节 | 8分钟 1-1 python分布式爬虫打造搜索引擎简介 (07:23).mp4 第2章 windows下搭建开发环境 4 节 | 64分钟 2-1 pycharm的安装和简单使用 (09:07).mp4 2-2 mysql和navicat的安装和使用 (16:20).mp4 2-3 windows和linux下安装python2和python3 (06:49).mp4 2-4 虚拟环境的安装和配置 (30:53).mp4 第3章 爬虫基础知识回顾 7 节 | 120分钟 3-1 技术选型 爬虫能做什么 (09:50).mp4 3-2 正则表达式-1 (18:31).mp4 3-3 正则表达式-2 (19:04).mp4 3-4 正则表达式-3 (20:16).mp4 3-5 深度优先和广度优先原理 (25:15).mp4 3-6 url去重方法 (07:44).mp4 3-7 彻底搞清楚unicode和utf8编码 (18:31).mp4 第4章 新: scrapy爬取知名技术文章网站 25 节 | 402分钟 4-1 重录说明(很重要!!!) (04:47).mp4 4-2 scrapy安装和配置 (30:30).mp4 4-3 需求分析 (13:53).mp4 4-4 pycharm中调试scrapy源码 (10:13).mp4 4-5 xpath基础语法 (19:02).mp4 4-6 xpath提取元素 (28:48).mp4 4-7 css选择器 (17:54).mp4 4-8 . cnblogs模拟登录(新增内容) (22:23).mp4 4-9 编写spider完成抓取过程 - 1 (19:38).mp4 4- 10 编写spider完成抓取过程 - 2 (20:47).mp4 4- 11 scrapy中为什么要使用yield (09:49).mp4 4- 12 提取详情页信息 (23:16).mp4 4- 13 提取详情页信息 (18:13).mp4 4- 14 items的定义和使用 - 1 (16:21).mp4 4- 15 items的定义和使用 - 2 (13:30).mp4 4- 16 scrapy配置图片下载 (18:20).mp4 4- 17 items数据写入到json文件中 (09:27).mp4 4- 18 mysql表结构设计 (13:21).mp4 4- 19 pipeline数据库保存 (20:16).mp4 4- 20 异步方式入库mysql (12:37).mp4 4- 21 数据插入主键冲突的解决方法 (04:40).mp4 4- 22 itemloader提取信息 (21:41).mp4 4- 23 itemloader提取信息 (19:06).mp4 4- 24 大规模抓取图片下载出错的问题 (12:45).mp4 4- 25 有没有方法可以比较准确的解析出 title 和正文内容.mp4 第5章 网站模拟登陆和滑动验证码识别(2021.6月更新) 7 节 | 123分钟 5-1 session和cookie自动登录机制 (20:10).mp4 5-2 课程如何应对网站反爬变化? (08:03).mp4 5-3 使用opencv识别滑动验证码的环境准备 (15:59).mp4 5-4 opencv滑动验证码识别原理 (26:19).mp4 5-5 滑动验证码识别集成到scrapy中 (10:02).mp4 5-6 通过机器学习平台训练滑动验证码模型 (15:23).mp4 5-7 发布训练模型并远程调用识别 (26:53).mp4 第6章 scrapy爬取知名问答网站 11 节 | 150分钟 6-1 知乎分析以及数据表设计1 (15:17).mp4 6-2 知乎分析以及数据表设计 - 2 (13:35).mp4 6-3 item loder方式提取question - 1 (14:57).mp4 6-4 item loder方式提取question - 2 (15:20).mp4 6-5 item loder方式提取question - 3 (06:45).mp4 6-6 知乎spider爬虫逻辑的实现以及answer的提取 - 1 (15:54).mp4 6-7 知乎spider爬虫逻辑的实现以及answer的提取 - 2 (17:04).mp4 6-8 保存数据到mysql中 -1 (17:27).mp4 6-9 保存数据到mysql中 -2 (17:22).mp4 6- 10 保存数据到mysql中 -3 (16:09).mp4 6-11 如何将数据的保存和抓取独立出来?.mp4 第7章 通过CrawlSpider对招聘网站进行整站爬取 9 节 | 167分钟 7-1 数据表结构设计 (15:33).mp4 7-2 CrawlSpider源码分析-新建CrawlSpider与settings配置 (12:50).mp4 7-3 CrawlSpider源码分析 (25:29).mp4 7-4 Rule和LinkExtractor使用 (14:28).mp4 7-5 网页302之后的模拟登录和cookie传递(网站需要登录时学习本视频教程) (32:11).mp4 7-6 item loader方式解析职位 (24:46).mp4 7-7 职位数据入库-1 (19:01).mp4 7-8 职位信息入库-2 (11:19).mp4 7-9 网站反爬突破 (10:58).mp4 第8章 Scrapy突破反爬虫的限制 试看 10 节 | 159分钟 8-1 爬虫和反爬的对抗过程以及策略 (20:17).mp4 8-2 scrapy架构源码分析 (10:45).mp4 8-3 Requests和Response介绍 (10:18).mp4 8-4 通过downloadmiddleware随机更换user-agent-1 (17:00).mp4 8-5 通过downloadmiddleware随机更换user-agent - 2 (17:13).mp4 8-6 scrapy实现ip代理池 - 1 (16:51).mp4 8-7 scrapy实现ip代理池 - 2 (17:39).mp4 8-8 scrapy实现ip代理池 - 3 (18:46).mp4 8-9 云打码实现验证码识别 (22:37).mp4 8-10 cookie禁用、自动限速、自定义spider的settings (07:22).mp4 第9章 scrapy进阶开发 12 节 | 152分钟 9-1 selenium动态网页请求与模拟登录知乎 (21:24).mp4 9-2 selenium模拟登录微博, 模拟鼠标下拉 (11:06).mp4 9-3 chromedriver不加载图片、phantomjs获取动态网页 (09:59).mp4 9-4 selenium集成到scrapy中 (19:43).mp4 9-5 其余动态网页获取技术介绍-chrome无界面运行、scrapy-splash、selenium-grid, splinter (07:50).mp4 9-6 scrapy的暂停与重启 (12:58).mp4 9-7 scrapy url去重原理 (05:45).mp4 9-8 scrapy telnet服务 (07:37).mp4 9-9 spider middleware 详解 (15:25).mp4 9- 10 scrapy的数据收集 (13:44).mp4 9- 11 scrapy信号详解 (13:05).mp4 9- 12 scrapy扩展开发 (13:16).mp4 第10章 scrapy-redis分布式爬虫 9 节 | 125分钟 10-1 分布式爬虫要点 (08:39).mp4 10-2 redis基础知识 - 1 (20:31).mp4 10-3 redis基础知识 - 2 (15:58).mp4 10-4 scrapy-redis编写分布式爬虫代码 (21:06).mp4 10-5 scrapy源码解析-connection.py、defaults.py- (11:05).mp4 10-6 scrapy-redis源码剖析-dupefilter.py- (05:29).mp4 10-7 scrapy-redis源码剖析- pipelines.py、 queue.py- (10:41).mp4 10-8 scrapy-redis源码分析- scheduler.py、spider.py- (11:52).mp4 10-9 集成bloomfilter到scrapy-redis中 (19:30).mp4 第11章 cookie池系统设计和实现 15 节 | 175分钟 11-1 什么是cookie池? (11:27).mp4 11-2 cookie池系统设计 (09:23).mp4 11-3 实现cookie池-1 (10:12).mp4 11-4 实现cookie池-2 (12:39).mp4 11-5 改造login方法 - 1 (09:58).mp4 11-6 改造login方法 - 2 (09:36).mp4 11-7 改造login方法-3 (08:43).mp4 11-8 改造login方法-4 (10:37).mp4 11-9 通过抽象基类实现网站轻松接入 (15:00).mp4 11- 10 实现检测网站cookie是否有效 (08:06).mp4 11- 11 如何选择redis的数据结构来保存cookie (10:59).mp4 11- 12 cookie管理器的实现 (22:10).mp4 11- 13 启动cookie池服务 (12:35).mp4 11- 14 将cookie集成到爬虫项目中 (15:34).mp4 11- 15 cookie架构设计改进意见 (07:36).mp4 第12章 各种验证码的识别 5 节 | 77分钟 12-1 滑动验证码的识别思路 (15:17).mp4 12-2 验证码截屏-1 (11:42).mp4 12-3 验证码截屏-2 (14:03).mp4 12-4 计算出滑动的距离 (17:37).mp4 12-5 计算滑动轨迹 (18:00).mp4 第13章 增量抓取 4 节 | 50分钟 13-1 增量爬虫需要解决的问题 (09:36).mp4 13-2 通过修改scrapy-redis完成增量抓取 -1 (16:11).mp4 13-3 通过修改scrapy-redis完成增量抓取-2 (14:13).mp4 13-4 爬虫数据更新 (09:23).mp4 第14章 elasticsearch搜索引擎的使用 13 节 | 207分钟 14-1 elasticsearch介绍 (18:21).mp4 14-2 elasticsearch安装 (13:24).mp4 14-3 elasticsearch-head插件以及kibana的安装 (24:09).mp4 14-4 elasticsearch的基本概念 (12:15).mp4 14-5 倒排索引 (11:24).mp4 14-6 elasticsearch 基本的索引和文档CRUD操作 (18:44).mp4 14-7 elasticsearch的mget和bulk批量操作 (12:36).mp4 14-8 elasticsearch的mapping映射管理 (21:03).mp4 14-9 elasticsearch的简单查询 - 1 (14:56).mp4 14- 10 elasticsearch的简单查询 - 2 (11:12).mp4 14- 11 elasticsearch的bool组合查询 (22:58).mp4 14-12 scrapy写入数据到elasticsearch中 - 1 (14:16).mp4 14-13 scrapy写入数据到elasticsearch中 - 2 (11:15).mp4 第15章 django搭建搜索网站 9 节 | 131分钟 15-1 es完成搜索建议-搜索建议字段保存 - 1 (13:45).mp4 15-2 es完成搜索建议-搜索建议字段保存 - 2 (13:34).mp4 15-3 django实现elasticsearch的搜索建议 - 1 (19:57).mp4 15-4 django实现elasticsearch的搜索建议 - 2 (18:15).mp4 15-5 django实现elasticsearch的搜索功能 -1 (14:06).mp4 15-6 django实现elasticsearch的搜索功能 -2 (13:14).mp4 15-7 django实现搜索结果分页 (09:12).mp4 15-8 搜索记录、热门搜索功能实现 - 1 (14:34).mp4 15-9 搜索记录、热门搜索功能实现 - 2 (14:04).mp4 第16章 scrapyd部署scrapy爬虫 1 节 | 25分钟 16-1 scrapyd部署scrapy项目 (24:39).mp4 第17章 课程总结 4 节 | 6分钟 17-1 课程总结 (05:55).mp4 17-2 【讨论题】你认为什么是 JS 逆向?.mp4 17-3 如何将 nodejs 服务集成进来呢?.mp4 17-4 【讨论题】字体反爬应该如何解析?.mp4






